:root{--color-1: #bfc7d2;--color-2: #a87ffb;--color-3: #5A96E3;--color-4: #10151d;--color-5: #0a2eff;--degradado-1: linear-gradient(to right, var(--color-1), var(--color-2));--degradado-2: linear-gradient(to right, var(--color-2), var(--color-3));--degradado-3: linear-gradient(to right, var(--color-3), var(--color-4))}*{box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:monospace;padding:0;margin:0;background-color:var(--color-4)}.main-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.grid-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(142,145,150,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(142,145,150,.1) 1px,transparent 1px);background-size:40px 40px;background-position:center center;background-repeat:repeat;min-height:100vh;min-width:100vw}.light-effect{position:fixed;width:1000px;height:1000px;background:radial-gradient(circle at center,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none;transition:transform .1s ease-out}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}header{display:flex;justify-content:space-between;align-items:center;font-size:1.8em;max-width:90%;margin:1.5rem auto}nav ul{list-style-type:none;margin:0;padding:0;display:flex}nav ul li{margin-right:50px}nav ul li:last-child{margin-right:0}nav ul li a{text-decoration:none;color:var(--color-2);font-weight:700;font-size:1.1em}nav ul li a:hover{border-color:var(--color-1);animation:glitch .5s ease-out}.logo{margin-right:auto}.logo svg{width:8em;fill:var(--color-2)}.logo svg:hover{animation:shake .5s ease,glitch .5s ease-out}@keyframes glitch{0%{filter:drop-shadow(0 0 0 white)}20%{filter:drop-shadow(2px -2px 0 red)}40%{filter:drop-shadow(-2px 2px 0 green)}60%{filter:drop-shadow(2px 2px 0 blue)}80%{filter:drop-shadow(-2px -2px 0 green)}to{filter:drop-shadow(0 0 0 white)}}.texto{align-items:center;margin:1rem auto;text-align:center;min-height:5rem}.texto h4{max-width:80%;font-size:1.5em;font-style:italic;margin:3em auto;color:var(--color-1)}.shine{background-image:radial-gradient(500px 200px at 50% 0%,#111d31 20%,#18311300);position:absolute;top:0;right:0;bottom:0;left:0;z-index:-5}.container{max-width:80%;margin:0 auto;padding:0 20px;text-align:center}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em}.project-item:hover img{box-shadow:2px 2px 2px #00000072;transform:scale(1.1);transition:transform .3s ease;filter:brightness(140%)}.project-item a{position:relative;display:block}.project-item img{max-width:100%;max-height:500px;min-height:400px;display:block;z-index:1;transition:transform .3s ease,filter .3s ease;object-fit:cover}.social-links{display:flex;justify-content:center;height:8em;margin-top:2em}.social-links img{width:4em;margin:1em;filter:drop-shadow(0px 0px 5px var(--color-3))}.hover-text{visibility:hidden;color:#fff;width:100%;z-index:10;position:absolute;top:47%;text-transform:uppercase;font-size:2em;text-align:center}@media (hover: hover){.project-item:hover img{transform:scale(1.1);filter:brightness(140%);position:relative}.project-item:hover .hover-text{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.social-links img:hover{filter:drop-shadow(0px 0px 6px var(--color-3));scale:1.2}}@media (hover: none){.hover-text{visibility:visible}.social-links img{filter:drop-shadow(0px 0px 6px #5ca3ffae)}.project-item img{filter:drop-shadow(0px 0px 6px #5a95e373)}}@keyframes shake{0%{transform:translate(0)}10%{transform:translate(-5px)}20%{transform:translate(5px)}30%{transform:translate(-5px)}40%{transform:translate(5px)}50%{transform:translate(-5px)}60%{transform:translate(5px)}70%{transform:translate(-5px)}80%{transform:translate(5px)}90%{transform:translate(-5px)}to{transform:translate(0)}}h4:after{content:"|";animation:blink .5s infinite}h4.animation-finished:after{content:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width < 1290px){.projects-grid{grid-template-columns:repeat(2,1fr)}.project-item img{max-width:100%;height:300px}.texto svg{width:25%}}@media (width < 800px){.projects-grid{grid-template-columns:1fr;gap:2em}.project-item img{margin:0 auto;max-width:85%}.hover-text{font-size:1.7em}header{font-size:1.4em;display:flex;flex-direction:column}.logo{margin:1.5em auto}.texto svg{width:30%}nav ul li{font-size:1.2em;margin-right:10px;margin-left:10px;align-items:center}.texto h4{margin:1.5em auto}.social-links{display:flex;justify-content:center;padding:2em;height:4em;margin:1em}.social-links img{width:3em}}@media (width < 450px){.project-item img{max-width:100%;min-height:200px}.project-item:hover img{transform:scale(1)}.social-links img{width:2.5em}#typewriter{font-size:.8rem}header{margin:10px}}.atropos{position:relative;display:block;perspective:1200px;transform:translateZ(0)}.atropos-rotate-touch,.atropos-rotate-scroll-x,.atropos-rotate-scroll-y{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.atropos-rotate-touch-scroll-y{touch-action:pan-y}.atropos-rotate-touch-scroll-x{touch-action:pan-x}.atropos-rotate-touch{touch-action:none}.atropos-scale,.atropos-rotate{width:100%;height:100%;transform-style:preserve-3d;transition-property:transform;display:block}.atropos-shadow,.atropos-highlight{position:absolute;pointer-events:none;transition-property:transform,opacity;display:block;opacity:0}.atropos-shadow{z-index:-1;background:#000;left:0;top:0;width:100%;height:100%;filter:blur(30px)}.atropos-highlight{left:-50%;top:-50%;width:200%;height:200%;background-image:radial-gradient(circle at 50%,rgba(255,255,255,.25),transparent 50%);z-index:0}.atropos-rotate{position:relative}.atropos-inner{width:100%;height:100%;position:relative;overflow:hidden;transform-style:preserve-3d;transform:translateZ(0);display:block}.atropos-active{z-index:1}.atropos-active .atropos-shadow{opacity:1!important}[data-atropos-offset],::slotted([data-atropos-offset]){transition-property:transform}[data-atropos-opacity]{transition-property:opacity}[data-atropos-offset][data-atropos-opacity],::slotted([data-atropos-offset][data-atropos-opacity]){transition-property:transform,opacity}
