body{margin:0;background:#0A0A0A}
a{color:inherit}
@keyframes focusin{from{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes wordin{from{opacity:.12;filter:blur(10px)}to{opacity:1;filter:blur(0)}}
@keyframes mark{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes rot{0%{opacity:0;filter:blur(8px);transform:translateY(.35em) scale(.96)}14%{opacity:1;filter:blur(0);transform:none}84%{opacity:1;filter:blur(0);transform:none}100%{opacity:0;filter:blur(8px);transform:translateY(-.3em) scale(1.02)}}
@keyframes glow{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pop{from{opacity:0;transform:translateX(-50%) scale(.6)}to{opacity:1}}
.float{animation:floaty 5s ease-in-out infinite}
.bubble{animation:pop .45s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes swap{from{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}
@keyframes tagin{from{opacity:0;transform:translate(-8px,-50%)}to{opacity:1;transform:translateY(-50%)}}
.swap{animation:swap .7s cubic-bezier(.2,.8,.2,1) both}
.tagin{animation:tagin .6s ease both}
.rot{animation:rot 2.6s cubic-bezier(.2,.7,.2,1) both}
.glow{animation:glow 6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.rot,.glow,.float,.bubble{animation:none !important}}
.f1{animation:focusin 1.2s .1s both}.f2{animation:focusin 1.2s .35s both}.f3{animation:focusin 1.2s .6s both}.f4{animation:focusin 1.2s .85s both}.f5{animation:focusin 1.2s 1.1s both}.f6{animation:focusin 1.2s 1.5s both}
.w{display:inline-block}
.hl{background:#F0CE6A;color:#0A0A0A;padding:0 .18em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.up{}
.track{animation:marquee 32s linear infinite}
.track.rev{animation:marquee 38s linear infinite reverse}
.bob{animation:bob 2s ease-in-out infinite}
.nav{isolation:isolate}
.pill{transition:transform .25s ease, background .25s ease, color .25s ease}
.pill:hover{transform:translateY(-2px)}
.faq summary{list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq .plus{transition:transform .3s ease, background .3s ease, color .3s ease}
.faq[open] .plus{transform:rotate(45deg);background:#0A0A0A;color:#F0CE6A}
.step{transition:transform .35s ease, border-color .35s ease, background .35s ease}
.step:hover{transform:translateY(-6px);border-color:#F0CE6A !important;background:#141414}
.step .big{transition:transform .35s ease}
.step:hover .big{transform:scale(1.08) rotate(-4deg)}
.spin{animation:spinr 22s linear infinite}
@keyframes spinr{to{transform:rotate(360deg)}}
.cyc{animation:cyc 10s linear infinite}
@keyframes cyc{0%{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A;box-shadow:0 0 0 6px rgba(240,206,106,.14)}18%{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A;box-shadow:0 0 0 6px rgba(240,206,106,.14)}22%,100%{background:#141414;color:#FFFFFF;border-color:#2A2A2A;box-shadow:none}}
.cycl{animation:cycl 10s linear infinite}
@keyframes cycl{0%,18%{color:#F0CE6A}22%,100%{color:#3A3A3A}}
.orbit{transform-origin:50px 50px;animation:orbit 10s linear infinite}
@keyframes orbit{from{transform:rotate(-144.6deg)}to{transform:rotate(215.4deg)}}
.mg5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width: 1100px){.mg5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 700px){.mg5{grid-template-columns:1fr}}
.fadein{animation:fadein .8s ease both}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.wave{animation:wave 2.4s ease-out infinite;transform:translate(-50%,-50%) scale(1)}
@keyframes wave{from{transform:translate(-50%,-50%) scale(1);opacity:.9}to{transform:translate(-50%,-50%) scale(6.5);opacity:0}}
.orbit3{animation:spinr 12s linear infinite}
.orbit3r{animation:spinr 12s linear infinite reverse}
.mgbar{animation:mgbar 5s linear both}
@keyframes mgbar{from{width:0}to{width:100%}}
.film{animation:marquee 60s linear infinite}
.film:hover{animation-play-state:paused}
.vin{position:relative;overflow:hidden;background:#2A2A2A}
.vin img{filter:grayscale(.35) contrast(1.08) brightness(.96);transition:filter .4s ease}
.frame:hover .vin img{filter:none}
.vin::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:2}
@media (max-width: 1100px){.slab{font-size:14px !important;gap:8px !important}.sico{width:20px;height:20px}}
@media (max-width: 640px){
.nav nav{padding:8px 8px 8px 18px !important;gap:10px !important}
.navbrand{font-size:15px !important}
.nav .pill{padding:10px 14px !important;font-size:13px !important}
.fanc{width:150px !important}
.bub{font-size:12px !important;padding:7px 12px !important}
.slab{font-size:11px !important;gap:6px !important;letter-spacing:.06em !important}
.sico{width:16px;height:16px}
.stag{font-size:11px}
h2{line-height:1.12 !important}
.mgk{width:44px !important;height:44px !important;font-size:20px !important}
.mgks{gap:6px !important}
}
@media (max-width: 380px){.navbtxt{display:none}}
.tagin2{animation:tagin2 .6s ease both}
@keyframes tagin2{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.spot{animation:spot 4.2s cubic-bezier(.3,0,.2,1) both}
@keyframes spot{0%{transform:scale(0)}8%{transform:scale(.9)}58%{transform:scale(1)}100%{transform:scale(8)}}
.spotwrap{animation:spotwrap 4.2s ease both}
@keyframes spotwrap{0%,82%{opacity:1}100%{opacity:0}}
.mnav{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column}
@media (max-width: 640px){.mnav{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}
:root{--wrap:90%}
@media (max-width: 900px){:root{--wrap:100%}}
.pfscroll{scrollbar-width:none}
.pfscroll::-webkit-scrollbar{display:none}
.pfarrow{all:unset;cursor:pointer;position:absolute;top:44%;z-index:3;width:56px;height:56px;border-radius:50%;background:#0A0A0A;color:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.22);transition:background .3s ease,color .3s ease,transform .3s ease}
.pfarrow:hover{background:#F0CE6A;color:#0A0A0A;transform:scale(1.06)}
.pfarrow:focus-visible{outline:3px solid #F0CE6A;outline-offset:3px}
@media (max-width: 640px){.pfarrow{width:46px;height:46px;top:40%}}
.scrimg{transition:transform 6s ease}
.dev:hover .scrimg{transform:translateY(calc(-100% + 262px))}
.dev:hover{position:relative;z-index:2}
@media (max-width: 640px){.dev{zoom:.62}}
.vids{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1040px;margin:0 auto;width:100%}
@media (max-width: 1000px){.vids{grid-template-columns:repeat(2,minmax(0,1fr))}}
h1,h2{overflow-wrap:break-word}
.h1k{font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;font-weight:400 !important;font-stretch:100% !important;letter-spacing:normal}
.svbar{position:absolute;left:0;bottom:0;height:3px;background:#0A0A0A;opacity:.35;animation:svbar 3.5s linear both}
@keyframes svbar{from{width:0}to{width:100%}}
.svtab{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid #3A3A3A;border-radius:999px;font-weight:700;font-size:16px;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .2s ease}
.svtab:hover{border-color:#F0CE6A !important;transform:translateY(-2px)}
.svtab:focus-visible{outline:3px solid #F0CE6A;outline-offset:3px}
@media (max-width: 640px){.svtab{font-size:14px;padding:10px 14px;min-height:44px}}
.svgrid{grid-template-columns:260px minmax(0,1fr) minmax(0,1.15fr)}
.svtabs .svtab{width:100%}
@media (max-width: 1100px){.svgrid{grid-template-columns:240px minmax(0,1fr);grid-template-areas:"nav viz" "cont cont"}.svnav{grid-area:nav}.svcont{grid-area:cont}.svgrid > [role="img"]{grid-area:viz;max-width:420px !important}}
@media (max-width: 700px){.svgrid{grid-template-columns:1fr;grid-template-areas:"nav" "cont" "viz"}.svtabs{flex-direction:row !important;flex-wrap:wrap}.svtabs .svtab{width:auto}}
.gchip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#FFFFFF;font-weight:600;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s ease,color .3s ease}
.gchip::before{content:"";width:6px;height:6px;border-radius:50%;background:#F0CE6A}
.gchip:hover{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A}
.gchip:hover::before{background:#0A0A0A}
@media (max-width: 640px){.gchip{font-size:12px;padding:6px 11px}.gchips{left:14px !important;right:14px !important;bottom:14px !important;gap:6px !important}.yrs10{width:92px !important;height:92px !important;right:-8px !important;top:-10px !important}}
@media (min-width: 761px){.qphoto{position:sticky !important;top:110px}}
.morefaq > summary::-webkit-details-marker{display:none}
.morefaq[open] > summary{display:none}
.floatcta{transition:transform .25s ease}
.floatcta:hover{transform:translateY(-3px)}
@media (max-width: 640px){.floatcta{left:16px;right:16px !important;bottom:14px !important;justify-content:center}}
.socl{width:38px;height:38px;border-radius:50%;border:1px solid #333333;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;transition:background .3s ease,color .3s ease,border-color .3s ease}
.socl:hover{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A}
@keyframes menuin{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.menuin{animation:menuin .45s cubic-bezier(.2,.8,.2,1) both}
.mlink{transition:color .25s ease, padding .25s ease}
.mlink:hover{color:#F0CE6A !important;padding-left:6px !important}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:90px}
.row{transition:background .35s ease,color .35s ease}
.row:hover{background:#161616;color:#F0CE6A}
.row:hover .dim{color:#CFCFCF !important}
.acc summary{list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc .plus{transition:transform .3s ease}
.acc[open] .plus{transform:rotate(45deg)}
.acc[open] summary{color:#F0CE6A}
.acc[open] summary.row:hover{color:#0A0A0A}
.shot{transition:transform 6s cubic-bezier(.3,.1,.3,1)}
.site:hover .shot{transform:translateY(calc(-100% + 300px))}
.still{transition:transform .8s ease, filter .6s ease;filter:grayscale(1)}
.site:hover .still{transform:scale(1.05);filter:none}
.gray{filter:grayscale(1) contrast(1.1)}
@media (prefers-reduced-motion: reduce){.f1,.f2,.f3,.f4,.f5,.f6,.w,.hl,.up,.track,.bob,.spin,.cyc,.cycl,.orbit,.wave,.orbit3,.orbit3r,.mgbar,.film,.spot,.spotwrap{animation:none !important}.hl{background-size:100% 100%}}
@media (max-width: 760px){#faqs > div > div{grid-column:auto !important;position:static !important}.hide-sm{display:none !important}.row{grid-template-columns:40px 1fr 32px !important;gap:8px !important}.row .dim:nth-child(3){grid-column:2 / 3}.acc > div{padding-left:16px !important}}
.disp,h1,h2{font-family:'Cy Grotesk','CyGrotesk','Archivo',system-ui,sans-serif !important;font-weight:800;font-stretch:118%}

/* ---- Static site additions ---- */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
/* Cy Grotesk: sube el archivo a /assets/fonts/cy-grotesk-bold.woff2 y quita el comentario:
@font-face{font-family:"Cy Grotesk";src:url(../fonts/cy-grotesk-bold.woff2) format("woff2");font-weight:700 900;font-display:swap}
*/
[hidden]{display:none !important}
html,body{margin:0;background:#0A0A0A}
.sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:10001;background:#F0CE6A;color:#0A0A0A;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #F0CE6A;outline-offset:3px}
.svtab{background:transparent;color:#E6E6E6;border-color:#3A3A3A}
.svtab[aria-selected="true"]{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A}
.mgk{background:#141414;color:#FFFFFF;border:1px solid #2A2A2A}
.mgk[aria-pressed="true"]{background:#F0CE6A;color:#0A0A0A;border-color:#F0CE6A}
.svdot{position:absolute;width:3px;height:3px;border-radius:50%}
.mgdot{position:absolute;border-radius:50%}
.navlang{color:#FFFFFF;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.08em;padding:0 10px;min-height:44px;display:inline-flex;align-items:center;border-radius:999px;transition:color .25s ease}
.navlang:hover{color:#F0CE6A}
@media (max-width: 640px){.navlang{padding:0 6px;font-size:12px}}
.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:9998;max-width:720px;margin:0 auto;background:#141414;color:#E6E6E6;border:1px solid #2A2A2A;border-radius:20px;padding:16px 18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;box-shadow:0 18px 40px rgba(0,0,0,.45);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;line-height:1.5}
.cookiebar p{margin:0;flex:1 1 320px}
.cookiebar div{display:flex;gap:8px}
.ck{all:unset;cursor:pointer;border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px}
.ck-yes{background:#F0CE6A;color:#0A0A0A}
.ck-no{border:1px solid #3A3A3A;color:#FFFFFF}
.nav .pill{white-space:nowrap}
@media (max-width: 430px){.navbtxt{display:none}.nav nav{padding-left:16px !important}}
