/* =========================================================
   Sistema
   ========================================================= */
:root{
  --k0:#070708;--k1:#0c0c0e;--k2:#141417;--k3:#1c1c20;
  --lnd:rgba(255,255,255,.09);--lnd2:rgba(255,255,255,.16);
  --iv:#F3EEE3;--iv2:#E8E0CE;--lnl:rgba(30,22,8,.13);
  --g:#E8A317;--g2:#F6C453;--g3:#A86F04;--gr:#2FBF64;
  --td:#F4F0E8;--md:#9C968A;--tl:#16130D;--ml:#6B6455;
  --fd:'Fraunces',Georgia,'Times New Roman',serif;
  --fs:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fm:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
  --e:cubic-bezier(.22,1,.36,1);--e2:cubic-bezier(.76,0,.24,1);
  --gut:clamp(16px,4vw,44px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--k0);color:var(--td);font:400 16.5px/1.65 var(--fs);letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  font-kerning:normal;font-optical-sizing:auto;overflow-x:clip}
body.lock{overflow:hidden}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--g);color:var(--k0)}
:focus-visible{outline:2px solid var(--g);outline-offset:4px;border-radius:4px}
.wrap{width:min(1240px,100% - 2*var(--gut));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Grano de película sobre toda la página */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* =========================================================
   Tipografía
   ========================================================= */
h1,h2,h3,h4{margin:0;font-weight:inherit}
.d{font-family:var(--fd);font-weight:300;font-variation-settings:"opsz" 144;letter-spacing:-.04em;line-height:.95;text-wrap:balance}
.d em,.d .it{font-style:italic;font-weight:300;letter-spacing:-.035em}
h2.d{font-size:clamp(2.5rem,5.6vw,5rem)}
h2.d em{color:var(--g)}
.lt h2.d em{color:var(--g3)}
h3{font-family:var(--fs);font-weight:700;font-size:1.12rem;letter-spacing:-.02em;line-height:1.25}
p{text-wrap:pretty}
.lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.6;color:var(--md);font-weight:400;max-width:44ch}
.eb{font:500 .7rem/1 var(--fm);text-transform:uppercase;letter-spacing:.2em;color:var(--md);display:inline-flex;align-items:center;gap:12px}
.eb::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6;transform-origin:left;transform:scaleX(var(--ebs,1));transition:transform 1s var(--e) .1s}
.eb b{color:var(--g);font-weight:500}
.lt .eb{color:var(--ml)}.lt .eb b{color:var(--g3)}
.num{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum","lnum"}

/* =========================================================
   Botones
   ========================================================= */
.btn{--bx:0px;--by:0px;position:relative;display:inline-flex;align-items:center;gap:14px;height:56px;padding:0 28px;border-radius:999px;
  font:700 .76rem/1 var(--fs);letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;overflow:hidden;isolation:isolate;
  translate:var(--bx) var(--by);transition:translate .5s var(--e),transform .3s var(--e),box-shadow .5s var(--e),color .45s var(--e),border-color .4s;white-space:nowrap}
.btn .bl{position:relative;display:block;overflow:hidden;height:1em;line-height:1}
.btn .bl span{display:block;transition:transform .55s var(--e)}
.btn .bl span+span{position:absolute;inset:0;transform:translateY(110%)}
.btn:hover .bl span:first-child{transform:translateY(-110%)}
.btn:hover .bl span+span{transform:none}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--e);background:var(--fill)}
.btn:hover::before{transform:none}
.btn:active{transform:scale(.97)}
.btn .ar{width:18px;height:18px;flex:none;transition:transform .55s var(--e)}
.btn:hover .ar{transform:translateX(3px) rotate(-45deg)}
.btn.p{background:var(--g);color:var(--k0);--fill:var(--td)}
.btn.p:hover{box-shadow:0 18px 40px -12px rgba(232,163,23,.65)}
.btn.o{border-color:var(--lnd2);color:var(--td);--fill:var(--td)}
.btn.o:hover{color:var(--k0);border-color:var(--td)}
.btn.k{background:var(--tl);color:var(--iv);--fill:var(--g)}
.btn.k:hover{color:var(--k0)}
.btn.sm{height:44px;padding:0 20px;font-size:.7rem}

/* =========================================================
   Pantalla de carga
   ========================================================= */
.ld{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--k0);color:var(--td);
  clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--e2)}
.ld-in{display:grid;justify-items:center;gap:26px;transition:opacity .5s,transform 1s var(--e2)}
.ld-logo{width:min(320px,70vw);height:auto;clip-path:inset(0 100% 0 0);animation:ldl 1.1s .1s var(--e) forwards}
@keyframes ldl{to{clip-path:inset(0 0 0 0)}}
.ld-row{display:flex;justify-content:space-between;width:min(320px,70vw);font:500 .68rem/1 var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--md)}
.ld-bar{width:min(320px,70vw);height:1px;background:var(--lnd)}
.ld-bar i{display:block;height:100%;background:var(--g);transform:scaleX(var(--p,0));transform-origin:left}
.done .ld{clip-path:inset(0 0 100% 0)}
.done .ld-in{transform:translateY(-60px);opacity:0}
.gone .ld{display:none}

/* =========================================================
   Cursor
   ========================================================= */
.cur{position:fixed;left:0;top:0;z-index:95;pointer-events:none;display:none}
.has-cur .cur{display:block}
.cur i{position:absolute;left:0;top:0;border-radius:50%}
.cur .c1{width:6px;height:6px;margin:-3px;background:var(--g)}
.cur .c2{width:40px;height:40px;margin:-20px;border:1px solid rgba(246,196,83,.5);transition:width .4s var(--e),height .4s var(--e),margin .4s var(--e),background .4s,border-color .4s}
.cur.h .c2{width:70px;height:70px;margin:-35px;background:rgba(232,163,23,.12);border-color:rgba(246,196,83,.9)}
.cur.x .c2{width:16px;height:16px;margin:-8px}
.cur.off{opacity:0}

/* =========================================================
   Navegación
   ========================================================= */
.sp{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:linear-gradient(90deg,var(--g3),var(--g),var(--g2));transform:scaleX(0);transform-origin:left;pointer-events:none}
nav{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .5s,backdrop-filter .5s,border-color .5s,transform .6s var(--e);border-bottom:1px solid transparent}
nav.s{background:rgba(7,7,8,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-color:var(--lnd)}
nav.hid{transform:translateY(-100%)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:84px;transition:height .5s var(--e)}
nav.s .wrap{height:68px}
.logo{display:block;flex:none}.logo img{display:block;height:34px;width:auto}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
nav ul a{position:relative;display:block;white-space:nowrap;padding:10px 14px;font:600 .74rem/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:rgba(244,240,232,.66);transition:color .3s}
nav ul a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:1px;background:var(--g);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--e)}
nav ul a:hover,nav ul a.on{color:var(--td)}
nav ul a:hover::after,nav ul a.on::after{transform:scaleX(1);transform-origin:left}
.nr{display:flex;align-items:center;gap:14px}
.st{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font:500 .66rem/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--md)}
.dot{position:relative;width:7px;height:7px;border-radius:50%;background:#6a6a6a;flex:none}
.dot.on{background:var(--gr)}
.dot.on::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--gr);animation:ping 2s var(--e) infinite}
@keyframes ping{to{transform:scale(3.2);opacity:0}}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--lnd2);background:none;cursor:pointer;position:relative}
.burger i{position:absolute;left:15px;right:15px;height:1.5px;background:var(--td);transition:transform .5s var(--e),top .5s var(--e)}
.burger i:first-child{top:19px}.burger i:last-child{top:27px}
.mo .burger i:first-child{top:23px;transform:rotate(45deg)}
.mo .burger i:last-child{top:23px;transform:rotate(-45deg)}
.mm{position:fixed;inset:0;z-index:45;background:var(--k0);display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--gut) calc(40px + env(safe-area-inset-bottom,0px));
  clip-path:circle(0 at calc(100% - var(--gut) - 24px) 42px);transition:clip-path .9s var(--e2);visibility:hidden}
.mo .mm{clip-path:circle(150% at calc(100% - var(--gut) - 24px) 42px);visibility:visible}
.mm a.ml{display:block;overflow:hidden;font:300 clamp(2.4rem,11vw,4rem)/1.08 var(--fd);letter-spacing:-.04em;border-bottom:1px solid var(--lnd);padding:10px 0}
.mm a.ml span{display:flex;justify-content:space-between;align-items:baseline;transform:translateY(110%);transition:transform .9s var(--e)}
.mm a.ml small{font:500 .66rem var(--fm);letter-spacing:.2em;color:var(--md)}
.mo .mm a.ml span{transform:none;transition-delay:calc(.25s + var(--i)*.06s)}
.mm .btn{margin-top:30px;align-self:flex-start;opacity:0;transform:translateY(20px);transition:opacity .6s .6s,transform .8s var(--e) .6s}
.mo .mm .btn{opacity:1;transform:none}

/* =========================================================
   Hero
   ========================================================= */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;
  background:radial-gradient(1100px 700px at 82% 12%,rgba(232,163,23,.16),transparent 60%),radial-gradient(800px 600px at -5% 105%,rgba(47,191,100,.12),transparent 60%),var(--k0)}
.bn{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0,#000 50%,transparent 100%);mask-image:linear-gradient(#000 0,#000 50%,transparent 100%)}
.bn img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:center 40%;opacity:0;filter:saturate(.75) contrast(1.05);
  transform:translateY(var(--sy,0px)) scale(1.18);transition:opacity 2.2s var(--e),transform 2.6s var(--e)}
.ready .bn img{opacity:.42;transform:translateY(var(--sy,0px)) scale(1.04)}
.bn::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,8,.96) 0,rgba(7,7,8,.82) 40%,rgba(7,7,8,.45) 100%),linear-gradient(transparent 55%,var(--k0) 100%)}
.gl{position:absolute;inset:0;z-index:-1;pointer-events:none;display:flex;justify-content:space-between;width:min(1240px,100% - 2*var(--gut));margin-inline:auto}
.gl i{width:1px;height:100%;background:linear-gradient(transparent,rgba(255,255,255,.06) 30%,rgba(255,255,255,.06) 70%,transparent);transform:scaleY(0);transform-origin:top;transition:transform 2s var(--e)}
.ready .gl i{transform:none}
.gl i:nth-child(2){transition-delay:.1s}.gl i:nth-child(3){transition-delay:.2s}.gl i:nth-child(4){transition-delay:.3s}.gl i:nth-child(5){transition-delay:.4s}
.orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(80px);pointer-events:none;animation:orb 14s ease-in-out infinite alternate}
.orb.a{width:520px;height:520px;right:-140px;top:-120px;background:rgba(232,163,23,.22)}
.orb.b{width:460px;height:460px;left:-180px;bottom:-200px;background:rgba(47,191,100,.16);animation-duration:18s}
@keyframes orb{to{transform:translate(-60px,50px) scale(1.15)}}
.spk{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--g2);box-shadow:0 0 12px 3px rgba(246,196,83,.55);opacity:0;pointer-events:none;animation:spk var(--t,8s) var(--dl,0s) ease-in-out infinite}
@keyframes spk{0%{opacity:0;transform:translateY(20px) scale(.5)}30%,60%{opacity:.85}100%{opacity:0;transform:translateY(-110px) scale(1.2)}}
.hero>.wrap{flex:1;display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(30px,5vw,80px);align-items:center;padding:150px 0 40px}
.hero>.wrap>*{min-width:0}
.hero .eb{color:var(--g2);margin-bottom:34px}
.hero h1{font-family:var(--fd);font-weight:300;font-size:clamp(3.3rem,7.6vw,7.4rem);line-height:.9;letter-spacing:-.05em;font-variation-settings:"opsz" 144;margin:0 0 34px}
.hero h1 .l1,.hero h1 .l2{display:block;word-spacing:.12em}
.hero h1 .l2{font-style:italic;font-weight:300;letter-spacing:-.045em;padding-left:.55em}
.hero h1 .wd{display:inline-block;white-space:nowrap}
.hero h1 .ch{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .08em .16em;margin:-.14em -.08em -.16em}
.hero h1 .ch>span{display:inline-block;transform:translateY(105%) rotate(6deg);transform-origin:left bottom;transition:transform 1.3s var(--e) calc(var(--i)*.035s + .15s)}
.ready .hero h1 .ch>span{transform:none}
.hero h1 .l2 .ch>span{padding:.16em .06em .12em;margin:-.16em -.06em -.12em;background:linear-gradient(100deg,var(--g3) 0%,var(--g) 25%,var(--g2) 45%,#fff3cf 50%,var(--g2) 55%,var(--g) 75%,var(--g3) 100%);background-size:400% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 8s linear infinite}
@keyframes sheen{from{background-position:100% 0}to{background-position:-300% 0}}
.hero .lead{color:#bdb7aa;margin:0 0 42px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hi{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--e),transform 1.3s var(--e)}
.ready .hi{opacity:1;transform:none}
.ready .hi.d1{transition-delay:.55s}.ready .hi.d2{transition-delay:.7s}.ready .hi.d3{transition-delay:.85s}.ready .hi.d4{transition-delay:1s}
.ready .hi.d0{transition-delay:.05s}
.hmeta{display:flex;gap:28px;flex-wrap:wrap;margin-top:44px;padding-top:26px;border-top:1px solid var(--lnd);max-width:660px}
.hmeta div{font:500 .66rem/1.5 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--md)}
.hmeta b{display:block;font:400 1.5rem/1.1 var(--fd);letter-spacing:-.03em;text-transform:none;color:var(--td);margin-bottom:4px}

/* Tablero */
.bw{perspective:1200px}
.board{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;padding:30px;border-radius:28px;
  background:linear-gradient(rgba(14,14,16,.82),rgba(14,14,16,.82)) padding-box,conic-gradient(from var(--a,0deg),rgba(232,163,23,0) 0,var(--g) 10%,var(--gr) 20%,rgba(232,163,23,0) 34%,rgba(255,255,255,.08) 35%,rgba(255,255,255,.08) 100%) border-box;
  border:1px solid transparent;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 50px 100px -30px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.4);
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .8s var(--e);animation:rot 7s linear infinite}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes rot{to{--a:360deg}}
.board::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(320px circle at var(--mx) var(--my),rgba(246,196,83,.13),transparent 70%);opacity:0;transition:opacity .5s}
.board:hover::before{opacity:1}
.bh{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:30px;white-space:nowrap}
.bh .eb::before{display:none}
.tag{font:500 .62rem/1 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--g2);padding:7px 10px;border:1px solid rgba(246,196,83,.3);border-radius:99px}
.bcur{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;transform:translateZ(30px)}
.bcode{font:400 3rem/1 var(--fd);letter-spacing:-.04em;font-style:italic;color:var(--td)}
.bname{font-size:.9rem;color:var(--md)}
.bp{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--lnd);border-radius:18px;overflow:hidden;margin:22px 0 20px;transform:translateZ(40px)}
.bp>div{background:rgba(7,7,8,.75);padding:18px 18px 16px}
.bp small{display:block;font:500 .62rem/1 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--md);margin-bottom:12px}
.bp b{display:block;font:300 clamp(1.9rem,3vw,2.6rem)/1 var(--fd);letter-spacing:-.04em;font-variation-settings:"opsz" 144;color:var(--td)}
.bp>div+div b{color:var(--g2)}
.bt{height:2px;background:var(--lnd);border-radius:2px;overflow:hidden;margin-bottom:18px}
.bt i{display:block;height:100%;background:var(--g);transform-origin:left;transform:scaleX(0)}
.bt i.run{animation:bt 3.6s linear forwards}
.board:hover .bt i.run{animation-play-state:paused}
@keyframes bt{to{transform:scaleX(1)}}
.mini{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.mini button{position:relative;border:1px solid var(--lnd);background:rgba(255,255,255,.025);border-radius:12px;padding:11px 0;font:500 .68rem/1 var(--fm);letter-spacing:.08em;cursor:pointer;color:var(--md);transition:color .3s,border-color .3s,background .3s,transform .4s var(--e)}
.mini button:hover{color:var(--td);border-color:var(--lnd2);transform:translateY(-2px)}
.mini button.a{color:var(--k0);background:var(--g);border-color:var(--g)}
.bnote{margin:16px 0 0;font-size:.74rem;color:var(--md);line-height:1.5}

/* Odómetro */
.odo{display:inline-flex;white-space:nowrap}
.odo .od{display:inline-block;height:1.08em;line-height:1.08;overflow:hidden;vertical-align:top}
.odo .od>span{display:flex;flex-direction:column;transition:transform 1.4s var(--e)}
.odo .od>span>span{height:1.08em;display:block;text-align:center}
.odo .oc{display:inline-block;line-height:1.08}

.hb{position:relative;z-index:1;width:min(1240px,100% - 2*var(--gut));margin:0 auto;line-height:0;pointer-events:none}
.hb img{display:block;height:auto;width:clamp(240px,30vw,420px);transform:translateY(calc(70% + var(--fy,0px))) rotate(-4deg);opacity:0;transition:transform 1.8s var(--e) .7s,opacity 1.2s .7s;filter:drop-shadow(0 -20px 40px rgba(0,0,0,.6))}
.ready .hero .hb img{transform:translateY(var(--fy,0px)) rotate(0deg);opacity:1}
.scr{position:absolute;right:var(--gut);bottom:34px;z-index:2;display:flex;align-items:center;gap:14px;font:500 .64rem/1 var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--md);writing-mode:vertical-rl}
.scr i{width:1px;height:70px;background:var(--lnd2);position:relative;overflow:hidden}
.scr i::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--g);animation:scr 2.2s var(--e2) infinite}
@keyframes scr{from{transform:translateY(-100%)}to{transform:translateY(260%)}}

/* =========================================================
   Cintas
   ========================================================= */
.tick{position:relative;z-index:2;background:var(--g);color:var(--k0);overflow:hidden;white-space:nowrap;padding:15px 0;font:500 .74rem/1 var(--fm);letter-spacing:.12em;text-transform:uppercase}
.tick .tr{display:inline-flex;animation:mq 46s linear infinite}
.tick:hover .tr{animation-play-state:paused}
.tick span{display:inline-flex;align-items:center;gap:14px;padding:0 26px}
.tick span b{font-weight:500;padding:4px 8px;background:var(--k0);color:var(--g2);border-radius:4px}
.tick span::after{content:"✦";margin-left:26px;opacity:.6}
@keyframes mq{to{transform:translateX(-50%)}}
.big-mq{overflow:hidden;padding:clamp(40px,7vw,90px) 0;border-bottom:1px solid var(--lnd)}
.big-mq .tr{display:inline-flex;white-space:nowrap;will-change:transform}
.big-mq span{font:300 clamp(4rem,11vw,10rem)/1 var(--fd);font-variation-settings:"opsz" 144;letter-spacing:-.05em;padding-right:.35em;display:inline-flex;align-items:center;gap:.35em}
.big-mq span:nth-child(odd){font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(244,240,232,.35)}
.big-mq span::after{content:"";width:.18em;height:.18em;border-radius:50%;background:var(--g);display:inline-block}

/* =========================================================
   Secciones
   ========================================================= */
section{position:relative;padding:clamp(90px,12vw,160px) 0}
.lt{background:var(--iv);color:var(--tl)}
.lt .lead{color:var(--ml)}
.hd{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px 60px;margin-bottom:clamp(44px,6vw,80px)}
.hd .eb{grid-column:1/-1;margin-bottom:6px}
.hd .lead{margin:0}

/* Revelados */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--e),transform 1.3s var(--e);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.eb.rv,.rv .eb{--ebs:0}.eb.rv.in,.rv.in .eb{--ebs:1}
.sw .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .07em .14em;margin:-.12em -.07em -.14em}
.sw .w>span{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:left bottom;transition:transform 1.2s var(--e) calc(var(--wi)*.06s + var(--d,0s))}
.sw.in .w>span,.in .sw .w>span{transform:none}
.sw.rv{opacity:1;transform:none}
.im{clip-path:inset(18% 0 18% 0 round 28px);transition:clip-path 1.6s var(--e)}
.im.in{clip-path:inset(0 0 0 0 round 28px)}

/* Tasas */
.flt{display:flex;gap:6px;padding:5px;border:1px solid var(--lnl);border-radius:999px;position:relative;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.flt button{position:relative;z-index:1;border:0;background:none;cursor:pointer;padding:12px 18px;border-radius:999px;font:700 .7rem/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--ml);transition:color .4s;white-space:nowrap}
.flt button.a{color:var(--iv)}
.flt .pill{position:absolute;z-index:0;top:5px;bottom:5px;left:0;border-radius:999px;background:var(--tl);transition:transform .6s var(--e),width .6s var(--e)}
.rbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.rbar .eb::before{display:none}
.rmeta{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.eb.upd{color:var(--tl);gap:8px}
.eb.upd::before{display:block!important;content:"";width:7px;height:7px;border-radius:50%;background:var(--gr);opacity:1;transform:none}
.rates{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.rate{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;overflow:hidden;background:#FBF8F1;border:1px solid var(--lnl);border-radius:22px;padding:24px 24px 22px;
  transition:opacity .9s var(--e),transform 1s var(--e),border-color .4s,box-shadow .5s var(--e);transition-delay:var(--d,0s)}
.rate.done{transition:opacity .5s var(--e),transform .5s var(--e),border-color .4s,box-shadow .5s var(--e)}
.rate.done:hover{transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px);border-color:rgba(168,111,4,.45);box-shadow:0 30px 60px -28px rgba(80,55,5,.45);transition:transform .15s linear,border-color .4s,box-shadow .5s}
.rate::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(232,163,23,.16),transparent 70%);opacity:0;transition:opacity .4s}
.rate:hover::before{opacity:1}
.rate .sym{position:absolute;right:-8px;top:-30px;font:300 8rem/1 var(--fd);font-style:italic;letter-spacing:-.06em;color:rgba(22,19,13,.045);pointer-events:none;transition:transform .9s var(--e),color .5s}
.rate:hover .sym{transform:translate(-10px,10px) rotate(-6deg);color:rgba(168,111,4,.12)}
.rate .t{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.badge{width:50px;height:50px;flex:none;border-radius:50%;background:var(--tl);color:var(--g2);display:grid;place-items:center;font:500 .68rem/1 var(--fm);letter-spacing:.06em;transition:transform .8s var(--e),background .4s,color .4s}
.rate:hover .badge{transform:rotate(360deg);background:var(--g);color:var(--tl)}
.rate .n{font-weight:700;font-size:1.02rem;letter-spacing:-.02em;line-height:1.25}
.rate .n small{display:block;font-weight:500;font-size:.8rem;color:var(--ml);letter-spacing:0;margin-top:2px}
.pr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--lnl);padding-top:16px}
.pr div{font:500 .62rem/1 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--ml)}
.pr div+div{text-align:right}
.pr b{display:flex;margin-top:10px;font:400 1.75rem/1 var(--fd);letter-spacing:-.04em;color:var(--tl);font-variation-settings:"opsz" 72;text-transform:none}
.pr div+div b{justify-content:flex-end}
.rate.hide{display:none}
.rate.fx{opacity:0;transform:translateY(24px) scale(.97)}
.note{display:flex;gap:30px;flex-wrap:wrap;margin-top:30px;font-size:.88rem;color:var(--ml)}
.note b{color:var(--tl);font-weight:700}

/* Calculadora */
.calc{display:grid;grid-template-columns:1fr 1fr;border-radius:32px;overflow:hidden;border:1px solid var(--lnd);background:var(--k1)}
.calc .l{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:50px;position:relative;overflow:hidden}
.calc .l::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-140px;bottom:-200px;background:rgba(232,163,23,.18);filter:blur(80px);pointer-events:none}
.calc .l .lead{margin:24px 0 0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{border:1px solid var(--lnd2);background:none;border-radius:99px;padding:10px 16px;cursor:pointer;font:500 .72rem/1 var(--fm);letter-spacing:.06em;color:var(--md);transition:all .35s var(--e)}
.chips button:hover{color:var(--k0);background:var(--g2);border-color:var(--g2);transform:translateY(-2px)}
.calc .r{padding:clamp(28px,4vw,52px);background:var(--k2);border-left:1px solid var(--lnd)}
.tg{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--lnd);border-radius:999px;padding:5px;margin-bottom:28px}
.tg::before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--g);transition:transform .6s var(--e)}
.tg.b::before{transform:translateX(100%)}
.tg button{position:relative;border:0;background:none;padding:14px 10px;border-radius:999px;font:700 .72rem/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--md);cursor:pointer;transition:color .4s}
.tg button.a{color:var(--k0)}
.fld{position:relative;margin-bottom:16px}
.fld label{display:block;font:500 .62rem/1 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--md);margin-bottom:10px}
.fld select,.fld input{width:100%;appearance:none;-webkit-appearance:none;padding:18px 18px;border-radius:16px;border:1px solid var(--lnd);background:var(--k1);color:var(--td);font:500 1.05rem var(--fs);letter-spacing:-.01em;transition:border-color .3s,box-shadow .3s,background .3s}
.fld input{font:300 2rem/1 var(--fd);letter-spacing:-.03em;padding:16px 70px 16px 18px}
.fld .unit{position:absolute;right:18px;bottom:22px;font:500 .72rem/1 var(--fm);letter-spacing:.12em;color:var(--g2)}
.fld.sel::after{content:"";position:absolute;right:20px;bottom:26px;width:8px;height:8px;border-right:1.5px solid var(--md);border-bottom:1.5px solid var(--md);transform:rotate(45deg);pointer-events:none}
.fld select option{background:var(--k2)}
.fld select:focus,.fld input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 4px rgba(232,163,23,.14);background:var(--k0)}
.res{margin-top:26px;padding:24px;border-radius:20px;background:linear-gradient(135deg,rgba(232,163,23,.16),rgba(232,163,23,.03));border:1px solid rgba(246,196,83,.25)}
.res small{font:500 .62rem/1 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.res .rb{display:flex;align-items:baseline;gap:10px;margin-top:12px;font:300 clamp(2.2rem,4.4vw,3.4rem)/1 var(--fd);letter-spacing:-.045em;color:var(--td);font-variation-settings:"opsz" 144;flex-wrap:wrap}
.res .rb em{font:500 .8rem var(--fm);letter-spacing:.14em;color:var(--md);font-style:normal}
.res p{margin:12px 0 0;font-size:.82rem;color:var(--md)}

/* Manifiesto */
.mf{padding:clamp(100px,14vw,200px) 0}
.mf p{margin:0;font:300 clamp(2rem,4.6vw,4.2rem)/1.08 var(--fd);letter-spacing:-.035em;font-variation-settings:"opsz" 144;max-width:22ch;text-wrap:balance}
.mf p .mw{opacity:var(--o,.14);transition:opacity .25s linear}
.mf p em{font-style:italic;color:var(--g2)}
.mf .eb{margin-bottom:40px}

/* Cifras */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lnd);border-bottom:1px solid var(--lnd)}
.stats>div{padding:clamp(34px,5vw,64px) clamp(16px,3vw,40px);position:relative}
.stats>div+div{border-left:1px solid var(--lnd)}
.stats b{display:block;font:200 clamp(4rem,9vw,8.5rem)/.9 var(--fd);letter-spacing:-.06em;font-variation-settings:"opsz" 144;color:var(--td);margin-bottom:18px}
.stats b sup{font-size:.4em;color:var(--g);vertical-align:top;margin-left:.06em;font-style:italic}
.stats span{font:500 .68rem/1.5 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--md)}

/* Por qué */
.why{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.wc{--mx:50%;--my:50%;position:relative;overflow:hidden;grid-column:span 2;padding:clamp(28px,3vw,40px);border-radius:26px;background:var(--k1);border:1px solid var(--lnd);min-height:300px;display:flex;flex-direction:column;
  transition:opacity 1.1s var(--e),transform 1.3s var(--e),border-color .4s;transition-delay:var(--d,0s)}
.wc.done{transition:transform .6s var(--e),border-color .4s}
.wc.done:hover{transform:translateY(-6px);border-color:rgba(246,196,83,.35)}
.wc::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--mx) var(--my),rgba(232,163,23,.12),transparent 70%);opacity:0;transition:opacity .4s}
.wc:hover::before{opacity:1}
.wc.wide{grid-column:span 3}
.wc .ic{width:54px;height:54px;border-radius:16px;border:1px solid var(--lnd2);display:grid;place-items:center;margin-bottom:auto;transition:transform .7s var(--e),background .4s,border-color .4s}
.wc:hover .ic{transform:rotate(-8deg) scale(1.06);background:var(--g);border-color:var(--g)}
.wc .ic svg{width:24px;height:24px;fill:none;stroke:var(--g2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s}
.wc:hover .ic svg{stroke:var(--k0)}
.wc .ic svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--e) calc(var(--d,0s) + .4s)}
.wc.in .ic svg *{stroke-dashoffset:0}
.wc h3{margin-top:60px;font-size:1.3rem;margin-bottom:10px}
.wc p{margin:0;color:var(--md);font-size:.95rem}
.wc span.k{font:500 .62rem/1 var(--fm);letter-spacing:.18em;color:var(--md);position:absolute;top:clamp(28px,3vw,40px);right:clamp(28px,3vw,40px)}
.wc.feat{background:var(--g);color:var(--k0);border-color:var(--g)}
.wc.feat p,.wc.feat span.k{color:rgba(7,7,8,.66)}
.wc.feat h3{font:300 clamp(2rem,3.2vw,2.8rem)/1 var(--fd);letter-spacing:-.04em;margin-top:0}
.wc.feat h3 em{font-style:italic}
.wc.feat .btn{position:relative;z-index:1;margin-top:auto;align-self:flex-start}
.wc.feat p{margin-bottom:28px}
.wc.feat::before{background:radial-gradient(300px circle at var(--mx) var(--my),rgba(255,255,255,.35),transparent 70%)}
.wc.feat .coinv{position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(7,7,8,.2);display:grid;place-items:center;font:300 7rem/1 var(--fd);font-style:italic;color:rgba(7,7,8,.14);animation:spin 30s linear infinite}
.wc.feat .coinv::before{content:"";position:absolute;inset:18px;border-radius:50%;border:1px dashed rgba(7,7,8,.2)}
@keyframes spin{to{transform:rotate(360deg)}}

/* Pasos */
.steps-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,120px);align-items:start}
.steps-g .stk{position:sticky;top:130px}
.steps-g .stk .lead{margin-top:26px}
.sl{position:relative;list-style:none;margin:0;padding:0 0 0 clamp(70px,8vw,110px);counter-reset:s}
.sl::before{content:"";position:absolute;left:clamp(22px,2.6vw,34px);top:10px;bottom:10px;width:1px;background:var(--lnl)}
.sl .fill{position:absolute;left:clamp(22px,2.6vw,34px);top:10px;bottom:10px;width:1px;background:var(--g3);transform-origin:top;transform:scaleY(var(--sp,0))}
.sl li{position:relative;padding:0 0 clamp(60px,8vw,110px)}
.sl li:last-child{padding-bottom:0}
.sl li::before{counter-increment:s;content:"0" counter(s);position:absolute;left:calc(-1 * clamp(70px,8vw,110px) + clamp(22px,2.6vw,34px) - 22px);top:-6px;width:44px;height:44px;border-radius:50%;
  background:var(--iv);border:1px solid var(--lnl);display:grid;place-items:center;font:500 .7rem/1 var(--fm);color:var(--ml);transition:background .6s var(--e),color .6s,border-color .6s,transform .8s var(--e)}
.sl li.on::before{background:var(--tl);color:var(--g2);border-color:var(--tl);transform:scale(1.1)}
.sl h3{font:300 clamp(1.9rem,3.4vw,3rem)/1 var(--fd);letter-spacing:-.04em;margin-bottom:16px;font-variation-settings:"opsz" 144}
.sl h3 em{font-style:italic;color:var(--g3)}
.sl p{margin:0;color:var(--ml);max-width:42ch;font-size:1.02rem}

/* Ubicación */
.loc{display:grid;grid-template-columns:.95fr 1.05fr;gap:14px;align-items:stretch}
.card{padding:clamp(30px,4vw,54px);border-radius:28px;background:var(--k1);border:1px solid var(--lnd);display:flex;flex-direction:column}
.card h2{margin:22px 0 36px}
.card dl{margin:0 0 36px;display:grid;gap:22px}
.card dl>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding-top:22px;border-top:1px solid var(--lnd)}
.card dt{font:500 .62rem/1.6 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--md)}
.card dd{margin:0;font-weight:500;color:var(--td);line-height:1.55}
.card .cta{margin-top:auto}
.map{position:relative;min-height:520px;border-radius:28px;overflow:hidden;background:var(--k2);border:1px solid var(--lnd)}
.map{display:block;color:var(--td)}
.streets{position:absolute;inset:0;background:radial-gradient(500px 340px at 55% 45%,rgba(232,163,23,.1),transparent 70%),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px),var(--k2);transition:transform 1.2s var(--e)}
.map:hover .streets{transform:scale(1.04)}
.streets i{position:absolute;background:rgba(244,240,232,.09)}
.streets .s1{left:-10%;right:-10%;top:44%;height:14px;transform:rotate(-8deg)}
.streets .s2{top:-10%;bottom:-10%;left:52%;width:18px;transform:rotate(6deg);background:rgba(232,163,23,.22)}
.streets .s3{left:-10%;right:-10%;top:72%;height:8px;transform:rotate(-8deg)}
.streets .s4{top:-10%;bottom:-10%;left:22%;width:8px;transform:rotate(6deg)}
.streets .s5{top:-10%;bottom:-10%;left:80%;width:8px;transform:rotate(6deg)}
.sn{position:absolute;font:500 .6rem/1 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--md)}
.sn.n1{left:55%;top:14%;transform:rotate(96deg);transform-origin:left;color:var(--g2)}.sn.n2{left:6%;top:40%;transform:rotate(-8deg)}.sn.n3{left:60%;top:66%;transform:rotate(-8deg)}.sn.n4{left:62%;top:30%}
.bpin{position:absolute;left:calc(53% + 9px);top:46%;width:18px;height:18px;margin:-9px;border-radius:50%;background:var(--g);box-shadow:0 0 0 6px rgba(232,163,23,.25)}
.bpin::before,.bpin::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--g);animation:rip 2.6s var(--e) infinite}
.bpin::after{animation-delay:1.3s}
.mgo{flex:none;font:700 .66rem/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--k0);background:var(--g);padding:10px 14px;border-radius:99px;transition:background .3s}
.map:hover .mgo{background:var(--td)}
.map .mlab{position:absolute;left:18px;bottom:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:rgba(7,7,8,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--lnd)}
.map .mlab b{display:block;font:400 1.2rem/1.1 var(--fd);letter-spacing:-.02em}
.map .mlab small{font:500 .62rem/1 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--md)}
.pin{position:relative;width:14px;height:14px;border-radius:50%;background:var(--g);flex:none}
.pin::before,.pin::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--g);animation:rip 2.6s var(--e) infinite}
.pin::after{animation-delay:1.3s}
@keyframes rip{to{transform:scale(4.2);opacity:0}}

/* Preguntas */
.faq-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:start}
.faq-g .stk{position:sticky;top:130px}
.faq-g .stk .btn{margin-top:34px}
details{border-top:1px solid var(--lnl)}
details:last-child{border-bottom:1px solid var(--lnl)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font:400 clamp(1.25rem,2vw,1.6rem)/1.2 var(--fd);letter-spacing:-.025em;transition:color .3s,padding .5s var(--e)}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--g3);padding-left:10px}
summary .pm{position:relative;width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--lnl);transition:transform .6s var(--e),background .4s,border-color .4s}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px -6px;background:var(--tl);transition:transform .6s var(--e),background .4s}
summary .pm::after{transform:rotate(90deg)}
details[open] summary .pm{transform:rotate(180deg);background:var(--tl);border-color:var(--tl)}
details[open] summary .pm::before,details[open] summary .pm::after{background:var(--g2)}
details[open] summary .pm::after{transform:rotate(0)}
details .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--e)}
details.op .ans{grid-template-rows:1fr}
details .ans>div{overflow:hidden}
details .ans p{margin:0 0 28px;color:var(--ml);max-width:58ch;font-size:1.02rem}

/* Cierre */
.fin{text-align:center;padding-bottom:0;overflow:hidden;background:radial-gradient(900px 520px at 50% 0,rgba(232,163,23,.2),transparent 70%),var(--k0)}
.fin h2{font-size:clamp(3rem,8.4vw,8rem);max-width:13ch;margin:26px auto 30px}
.fin .lead{margin:0 auto 44px}
.fin .cta{justify-content:center}
.ent{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:60px}
.ent span{font:500 .64rem/1 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--md);padding:11px 16px;border:1px solid var(--lnd);border-radius:99px}
.fin .hb{display:flex;justify-content:center;margin-top:70px}
.fin .hb img{width:clamp(240px,28vw,380px);opacity:1;transform:translateY(40%) rotate(-4deg);transition:transform 1.8s var(--e)}
.fin .hb.in img{transform:translateY(var(--fy,0px)) rotate(0)}

/* Pie */
footer{background:var(--k0);border-top:1px solid var(--lnd);padding:clamp(60px,8vw,100px) 0 calc(30px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fg h4{font:500 .62rem/1 var(--fm);letter-spacing:.2em;text-transform:uppercase;color:var(--md);margin-bottom:20px}
.fg ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fg a,.fg li{font-size:.95rem;color:var(--td)}
.fg a{background:linear-gradient(var(--g),var(--g)) no-repeat 0 100%/0 1px;transition:background-size .5s var(--e),color .3s}
.fg a:hover{background-size:100% 1px;color:var(--g2)}
.fg .lead{font-size:.95rem;margin:22px 0 0;max-width:34ch}
.wm{margin:clamp(60px,9vw,120px) 0 0;overflow:hidden;line-height:.8}
.wm span{display:block;font:300 clamp(3.4rem,15.6vw,15.5rem)/.82 var(--fd);letter-spacing:-.065em;font-variation-settings:"opsz" 144;white-space:nowrap;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(244,240,232,.18);
  background:linear-gradient(90deg,var(--g3),var(--g),var(--g2)) no-repeat 0 0/var(--wf,0%) 100%;-webkit-background-clip:text;background-clip:text;
  transform:translateY(100%);transition:transform 1.6s var(--e)}
.wm.in span{transform:none}
.wm span em{font-style:italic}
.fb{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--lnd);font:500 .64rem/1.6 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--md)}
.fb button{border:0;background:none;cursor:pointer;color:var(--md);font:inherit;letter-spacing:inherit;padding:0;transition:color .3s}
.fb button:hover{color:var(--g2)}

/* Blog */
.blog-s{background:var(--k1);border-top:1px solid var(--lnd)}
.bcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bcard{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#FBF8F1;border:1px solid var(--lnl);color:var(--tl);transition:opacity 1.1s var(--e),transform .6s var(--e),box-shadow .6s var(--e),border-color .4s}
.bcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);border-color:rgba(168,111,4,.45)}
.bcard .ph{aspect-ratio:16/10;overflow:hidden;background:var(--iv2)}
.bcard .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--e)}
.bcard:hover .ph img{transform:scale(1.06)}
.bcard .bd{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.bcard time{font:500 .62rem/1 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--ml)}
.bcard h3{font:400 clamp(1.3rem,1.8vw,1.55rem)/1.15 var(--fd);letter-spacing:-.025em;text-wrap:balance;margin:0}
.bcard p{margin:0;color:var(--ml);font-size:.93rem;line-height:1.55}
.bcard .go{margin-top:auto;padding-top:8px;font:700 .66rem/1 var(--fs);letter-spacing:.14em;text-transform:uppercase;color:var(--g3)}
.blog-more{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}
.blog-more p{margin:0;color:var(--md);font-size:.92rem;max-width:52ch}
.art-hero h1{font-size:clamp(2.3rem,5.2vw,4.6rem);max-width:20ch}
.art-meta{display:block;font:500 .66rem/1.6 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--md)}
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(30px,6vw,90px);align-items:start}
.art-cover{margin:0 0 44px;border-radius:26px;overflow:hidden;aspect-ratio:16/8;background:var(--iv2)}
.art-cover img{width:100%;height:100%;object-fit:cover;display:block}
.prose{font-size:1.08rem;line-height:1.75;color:#2a251c;max-width:68ch}
.prose>*{margin:0 0 1.2em}
.prose h2{font:400 clamp(1.6rem,2.6vw,2.2rem)/1.15 var(--fd);letter-spacing:-.03em;color:var(--tl);margin:1.6em 0 .6em;text-wrap:balance}
.prose strong{color:var(--tl);font-weight:700}
.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:.7em}
.prose li::marker{color:var(--g3);font-weight:700}
.prose figure{margin:1.8em 0}
.prose figure img{width:100%;height:auto;border-radius:20px;display:block}
.prose a{color:var(--g3);text-decoration:underline}
.art aside{position:sticky;top:110px;padding:30px;border-radius:24px;background:var(--tl);color:var(--iv)}
.art aside .eb{color:var(--g2)}
.art aside h3{font:300 1.75rem/1.1 var(--fd);letter-spacing:-.03em;margin:14px 0 14px}
.art aside h3 em{font-style:italic;color:var(--g2)}
.art aside p{color:rgba(243,238,227,.72);font-size:.93rem;margin:0 0 22px}
.art aside .btn{width:100%;justify-content:center}
.art aside .btn+.btn{margin-top:10px}
.related{margin-top:clamp(70px,9vw,120px)}
.related h2{margin:18px 0 34px}
@media (max-width:900px){.bcards{grid-template-columns:1fr 1fr}.art{grid-template-columns:1fr}.art aside{position:static}}
@media (max-width:600px){.bcards{grid-template-columns:1fr}}

/* Requisitos */
.req{background:var(--k1);border-top:1px solid var(--lnd)}
.rq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rqc{position:relative;padding:clamp(28px,3.4vw,44px);border-radius:26px;background:var(--k0);border:1px solid var(--lnd)}
.rqc .k{font:500 .62rem/1 var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--g2)}
.rqc h3{font:300 clamp(1.7rem,2.6vw,2.3rem)/1.05 var(--fd);letter-spacing:-.035em;margin:16px 0 22px;text-wrap:balance}
.rqc h3 em{font-style:italic;color:var(--g2)}
.rqc ul{list-style:none;margin:0;padding:0}
.rqc li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--lnd);color:var(--td);font-size:.97rem;line-height:1.45}
.rqc li::before{content:"";width:8px;height:8px;margin-top:.45em;border-radius:50%;border:1.5px solid var(--g)}
.rqc li small{display:block;color:var(--md);font-size:.84rem;margin-top:2px}
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--lnd);border:1px solid var(--lnd);border-radius:26px;overflow:hidden;margin-top:14px}
.rules>div{background:var(--k0);padding:clamp(24px,2.6vw,34px)}
.rules b{display:block;font:300 clamp(1.8rem,2.8vw,2.6rem)/1 var(--fd);letter-spacing:-.04em;color:var(--g2);margin-bottom:12px;white-space:nowrap}
.rules span{display:block;color:var(--md);font-size:.92rem;line-height:1.5}
.req .more{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;margin-top:34px}
.req .more p{margin:0;color:var(--md);max-width:56ch;font-size:.92rem}

/* Página de normativa */
.nhero{position:relative;padding:clamp(150px,18vw,210px) 0 clamp(60px,8vw,100px);background:radial-gradient(900px 520px at 85% 0,rgba(232,163,23,.16),transparent 65%),var(--k0);border-bottom:1px solid var(--lnd);overflow:hidden}
.nhero .eb{color:var(--g2)}
.nhero h1{font-size:clamp(3rem,7.4vw,6.8rem);margin:26px 0 26px}
.nhero h1 em{color:var(--g)}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.toc a{font:500 .66rem/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--td);padding:11px 14px;border:1px solid var(--lnd2);border-radius:99px;transition:background .3s,color .3s,border-color .3s}
.toc a:hover{background:var(--g);color:var(--k0);border-color:var(--g)}
.law summary small{display:block;font:500 .6rem/1.4 var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--ml);margin-bottom:8px}
.law .ans ul{margin:0 0 18px;padding-left:1.1em;color:var(--ml);display:grid;gap:10px;max-width:70ch;font-size:1rem}
.law .ans ul ul{margin:10px 0 0}
.law .ans li::marker{color:var(--g3)}
.law .ans p{margin:0 0 14px;color:var(--ml);max-width:70ch}
.law .ans>div>*:last-child{margin-bottom:30px}
.law .ans .hl{background:#fff;border:1px solid var(--lnl);border-radius:16px;padding:16px 18px;color:var(--tl)}
.law .ans h4{font:700 .72rem/1.4 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:var(--tl);margin:6px 0 12px}
@media (max-width:900px){.rq{grid-template-columns:1fr}.rules{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rules{grid-template-columns:1fr}}


.flag{display:inline-block;width:1em;height:1em;border-radius:50%;overflow:hidden;flex:none;vertical-align:-.15em;box-shadow:0 0 0 1px rgba(127,127,127,.25)}
.flag svg{display:block;width:100%;height:100%}
.badge.fl{background:none;font-size:50px}
.rate:hover .badge.fl{background:none}
.cc{display:inline-block;font:500 .6rem/1 var(--fm);letter-spacing:.12em;color:var(--g3);padding:4px 6px;border:1px solid var(--lnl);border-radius:4px;vertical-align:2px;margin-left:4px}
#bflag .flag{font-size:2.1rem;align-self:center}
.mini button{display:flex;align-items:center;justify-content:center;gap:6px}
.mini .flag{font-size:14px}
.tick .flag{font-size:16px;margin-right:2px}
.lead .k{color:var(--g2);font-weight:600;font-family:var(--fm);font-size:.82em;letter-spacing:.06em}
.hcur{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.hcur>span{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--lnd2);border-radius:99px;font:500 .74rem/1 var(--fm);letter-spacing:.1em;color:var(--td)}
.hcur .flag{font-size:22px}

/* Vigilancia y control */
.legal{background:#FFFFFF;color:var(--tl);padding:clamp(56px,7vw,90px) 0;border-top:1px solid var(--lnl)}
.legal .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px 60px;align-items:center}
.legal .eb{color:var(--ml)}
.lg-t p{margin:14px 0 0;color:var(--ml);max-width:36ch}
.lg-l{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,48px);flex-wrap:wrap}
.lg-l figure{margin:0;display:flex;align-items:center}
.lg-l img{display:block;width:auto;height:clamp(54px,6vw,80px);max-width:100%}
.lg-l figure:nth-child(2) img{height:clamp(36px,4vw,50px)}
.lg-l figure:nth-child(3) img{height:clamp(40px,4.4vw,56px)}
@media (max-width:900px){.legal .wrap{grid-template-columns:1fr}.lg-l{justify-content:flex-start}}

/* WhatsApp flotante */
.wa{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:0;height:60px;padding:0 15px;border-radius:999px;background:#25D366;color:#062b14;box-shadow:0 18px 40px -10px rgba(37,211,102,.55);
  transform:translateY(140%) scale(.8);opacity:0;transition:transform .8s var(--e),opacity .5s,gap .5s var(--e),padding .5s var(--e)}
.wa.vis{transform:none;opacity:1}
.wa svg{width:30px;height:30px;fill:#fff;flex:none}
.wa span{max-width:0;overflow:hidden;white-space:nowrap;font:700 .72rem/1 var(--fs);letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:max-width .6s var(--e)}
.wa:hover{gap:10px;padding:0 22px 0 16px}
.wa:hover span{max-width:200px}
.wa::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25D366;z-index:-1;animation:wping 2.6s var(--e) infinite}
@keyframes wping{to{transform:scale(1.6);opacity:0}}

/* Modal de privacidad */
dialog{max-width:min(620px,100% - 32px);border:1px solid var(--lnd);border-radius:24px;background:var(--k1);color:var(--td);padding:clamp(26px,4vw,44px)}
dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(6px)}
dialog[open]{animation:dg .6s var(--e)}
@keyframes dg{from{opacity:0;transform:translateY(30px) scale(.97)}}
dialog h3{font:300 2rem/1.05 var(--fd);letter-spacing:-.035em;margin:14px 0 18px}
dialog p{color:var(--md);font-size:.95rem;margin:0 0 14px}
dialog .btn{margin-top:14px}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1180px){
  nav ul{display:none}
  .burger{display:block}
  .nr .st{display:none}
}
@media (max-width:900px){
  .hero>.wrap{grid-template-columns:1fr;padding:130px 0 30px;gap:44px}
  .hero h1 .l2{padding-left:0}
  .hb{display:flex;justify-content:center}
  .scr{display:none}
  .hd{grid-template-columns:1fr}
  .calc,.loc,.steps-g,.faq-g{grid-template-columns:1fr}
  .calc .r{border-left:0;border-top:1px solid var(--lnd)}
  .steps-g .stk,.faq-g .stk{position:static}
  .why{grid-template-columns:1fr 1fr}
  .wc,.wc.wide{grid-column:span 1}
  .wc.feat{grid-column:1/-1}
  .fg{grid-template-columns:1fr 1fr}
  .fg>div:first-child{grid-column:1/-1}
  .map{min-height:400px}
}
@media (max-width:620px){
  body{font-size:16px}
  nav .wrap{height:72px}
  .logo img{height:28px}
  nav .wrap>.nr>.btn{display:none}
  .stats{grid-template-columns:1fr}
  .stats>div+div{border-left:0;border-top:1px solid var(--lnd)}
  .why{grid-template-columns:1fr}
  .wc{min-height:250px}
  .board{padding:22px;border-radius:24px}
  .mini{grid-template-columns:repeat(3,1fr)}
  .card dl>div{grid-template-columns:1fr;gap:8px}
  .btn{height:52px;padding:0 22px}
  .cta .btn{flex:1 1 auto;justify-content:center}
  .wa{right:16px}
  .hmeta{gap:20px}
  .flt{width:100%;justify-content:space-between}
  .bh{white-space:normal;flex-wrap:wrap}
  .flt button{padding:12px 11px;font-size:.62rem;letter-spacing:.08em}
}
@media (prefers-reduced-motion:reduce){
  /* Movimiento reducido: se apagan parallax, scroll suave y loops decorativos; se conservan las entradas */
  .orb,.spk,.wc.feat .coinv,.scr i::after,.hero::before{animation:none!important}
  .orb,.spk{display:none}
  .bn img{transform:none!important}
}
