@font-face{font-family:Arsenica;src:url(/fonts/arsenica.otf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg:#f8fafc;--color-text-main:#0f172a;--color-text-muted:#475569;--color-glass:#00000008;--color-border:#0000001a;--color-accent:#4338ca;--color-secondary:#94a3b8;--cursor-hover-bg:#00000014;--cursor-hover-border:#0003;--particle-grad:linear-gradient(135deg, #4338ca, #94a3b8)}.dark{--color-bg:#050505;--color-text-main:#fff;--color-text-muted:#888;--color-glass:#ffffff0d;--color-border:#ffffff26;--color-accent:#d7def5;--color-secondary:#2b3544;--cursor-hover-bg:#ffffff26;--cursor-hover-border:#ffffff80;--particle-grad:linear-gradient(135deg, #d7def5, #2b3544)}body{background-color:var(--color-bg);color:var(--color-text-muted);-webkit-font-smoothing:antialiased;cursor:none;transition:background-color .8s;overflow-x:hidden}::selection{background-color:var(--color-accent);color:var(--color-bg)}*,a,button,input,textarea,details,summary{cursor:none!important}#custom-cursor{pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:8px;height:8px;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),background-color .3s,border .3s,opacity .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%);background-color:#fff!important}body.cursor-hovering #custom-cursor{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--cursor-hover-border);width:50px;height:50px;background-color:var(--cursor-hover-bg)!important;mix-blend-mode:normal!important}body.hide-main-cursor #custom-cursor{opacity:0!important}section#proyectos .projects-header{margin-bottom:0!important}#store-hover-badge{opacity:0;pointer-events:none;z-index:10000;background:var(--color-text-main);color:var(--color-bg);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:.6rem 1.5rem;font-size:.7rem;font-weight:600;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.dot{background:var(--particle-grad);pointer-events:none;z-index:9998;box-shadow:0 0 10px var(--color-accent);border-radius:50%;position:absolute}.noise-overlay{pointer-events:none;z-index:50;opacity:.05;background:url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noiseFilter\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.8\" numOctaves=\"3\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noiseFilter)\"/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;top:0;left:0}.mesh-background{z-index:-2;background-color:#0000;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.blob{filter:blur(180px);opacity:.25;border-radius:50%;animation:25s ease-in-out infinite alternate float;position:absolute}.blob-1{background:var(--color-accent);width:60vw;height:60vw;animation-delay:0s;top:-10%;left:-10%}.blob-2{background:var(--color-secondary);width:70vw;height:70vw;animation-delay:-5s;bottom:-20%;right:-10%}@keyframes float{0%{transform:translate(0)scale(1)}33%{transform:translate(5%,10%)scale(1.1)}66%{transform:translate(-5%,5%)scale(.9)}to{transform:translateY(-10%)scale(1)}}.bottom-blur-mask{z-index:45;pointer-events:none;-webkit-backdrop-filter:blur(12px);width:100%;height:15vh;position:fixed;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 95%);mask-image:linear-gradient(#0000 0%,#000 95%)}.title-giant{letter-spacing:-.02em;font-family:EB Garamond,serif;line-height:.9}.nav-indicator{transition:all .4s cubic-bezier(.16,1,.3,1)}.nav-item.active .nav-indicator{background-color:var(--color-text-main);width:3rem}.nav-item.active .nav-text{color:var(--color-text-main);font-weight:500}.nav-item:hover .nav-indicator{background-color:var(--color-accent);width:3rem}.nav-item:hover .nav-text{color:var(--color-accent)}.btn-monopo{text-transform:uppercase;letter-spacing:.05em;align-items:center;padding-bottom:6px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-monopo:after{content:"";background-color:currentColor;width:100%;height:1px;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:translate(-100%)}.btn-monopo:hover:after{transform:translate(0)}.filter-btn{padding-bottom:6px;position:relative}.filter-btn:after{content:"";background-color:var(--color-text-main);transform-origin:0;width:100%;height:2px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.filter-btn.active:after{transform:scaleX(1)}.gsap-reveal{opacity:0;visibility:hidden}.view-container{opacity:0;width:100%;min-height:100vh;display:none}.view-container.active{opacity:1;display:block}.gallery-wrap{width:100%;min-height:100vh;padding:0;position:relative}.gallery__item{cursor:pointer;aspect-ratio:4/5;background-position:50%;background-size:cover;border-radius:8px;position:relative;overflow:hidden;transform:translateZ(0)}.gallery__item img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.gallery__item:hover img{transform:scale(1.08)}.gallery--bento{grid-template-columns:repeat(1,1fr);align-items:start;gap:16px;width:90%;max-width:100%;margin:0 auto;padding-bottom:25vh;display:grid}@media (width>=1024px){.gallery--bento{grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:30vh}}.gallery-title-overlay{opacity:0;background:linear-gradient(#0000 50%,#000000e6 100%);flex-direction:column;justify-content:flex-end;padding:2.5rem;transition:opacity .5s;display:flex;position:absolute;inset:0}.gallery__item:hover .gallery-title-overlay{opacity:1}details>summary{outline:none;list-style:none}details>summary::-webkit-details-marker{display:none}.carousel-hide-scroll::-webkit-scrollbar{display:none}.carousel-hide-scroll{-ms-overflow-style:none;scrollbar-width:none}#toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{background:var(--color-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);color:var(--color-text-main);opacity:0;border-radius:4px;padding:1rem 1.5rem;font-size:.875rem;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;transform:translate(120%)}.toast.show{opacity:1;transform:translate(0)}.toast.error{border-left:3px solid #ef4444}.toast.success{border-left:3px solid #10b981}
