

:root{
  --bg:          #080A11;
  --bg-2:        #0B0E17;
  --surface:     #10141F;
  --surface-2:   #161B29;
  --line:        rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.16);

  --text:        #EEF1F7;
  --text-2:      #C3CAD9;
  --muted:       #8D96AC;

  --accent:      #7C5CFF;
  --accent-2:    #AC9BFF;
  --accent-deep: #4B31C7;
  --glow:        rgba(124,92,255,.38);
  --glow-soft:   rgba(124,92,255,.14);

  --font:  'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;

  --fs-h1:  clamp(2.5rem, 6.4vw, 5.9rem);
  --fs-h2:  clamp(2.0rem, 4.7vw, 3.9rem);
  --fs-h3:  clamp(1.55rem, 3.2vw, 2.7rem);
  --fs-lead:clamp(1rem, 1.5vw, 1.28rem);

  --pad:    clamp(1.25rem, 5vw, 5rem);
  --maxw:   1320px;
  --radius: 18px;

  --ease:      cubic-bezier(.22,1,.36,1);
  --ease-out:  cubic-bezier(.16,1,.3,1);

  --header-h: 76px;

  --sh-depth: 0 8px 34px rgba(0,0,0,.65);
  --sh-lit:   0 0 26px rgba(124,92,255,.40);
  --sh-hover: 0 0 24px rgba(172,155,255,.9), 0 0 62px rgba(124,92,255,.45);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  background:var(--bg);
}

html.lenis{ scroll-behavior:auto }
.lenis.lenis-smooth{ scroll-behavior:auto }
.lenis.lenis-stopped{ overflow:hidden }

body{
  font-family:var(--font);
  font-weight:400;
  line-height:1.6;
  color:var(--text);
  background:transparent;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;

  font-optical-sizing:auto;
}
body.is-loading{ overflow:hidden; height:100vh }

img,svg,canvas,video{ display:block; max-width:100% }
img{ height:auto }
a{ color:inherit; text-decoration:none }
button,input,select,textarea{ font:inherit; color:inherit }
ul{ list-style:none }

::selection{ background:var(--accent); color:#fff }

:focus-visible{ outline:2px solid var(--accent-2); outline-offset:3px; border-radius:4px }

::-webkit-scrollbar{ width:10px }
::-webkit-scrollbar-track{ background:var(--bg) }
::-webkit-scrollbar-thumb{ background:#242a3a; border-radius:10px; border:3px solid var(--bg) }
::-webkit-scrollbar-thumb:hover{ background:var(--accent-deep) }

.bg{
  position:fixed; inset:0;
  width:100%; height:100%;
  z-index:0;
  opacity:0;
  transition:opacity 1.4s var(--ease);
  pointer-events:none;
}
.bg.is-ready{ opacity:1 }

.bg-static{
  position:fixed; inset:-15%;
  z-index:0; display:none; pointer-events:none;
  background:
    radial-gradient(46% 40% at 22% 18%, rgba(124,92,255,.20), transparent 68%),
    radial-gradient(40% 36% at 78% 42%, rgba(75,49,199,.22), transparent 70%),
    radial-gradient(52% 44% at 42% 88%, rgba(124,92,255,.14), transparent 70%),
    linear-gradient(180deg,#0A0D16,#070910);
  animation:bgDrift 34s ease-in-out infinite alternate;
  will-change:transform;
}
.bg-fallback .bg-static{ display:block }
.bg-fallback .bg{ display:none }
@keyframes bgDrift{
  0%{ transform:translate3d(0,0,0) scale(1) }
  100%{ transform:translate3d(-3%,-4%,0) scale(1.08) }
}

main{ position:relative; z-index:1 }

.container{
  width:100%; max-width:var(--maxw);
  margin-inline:auto; padding-inline:var(--pad);
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

.eyebrow{
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent-2); font-weight:500;
  margin-bottom:1.4rem;
  display:flex; align-items:center; gap:.75rem;
  text-shadow:0 2px 16px rgba(8,10,17,.8);
}
.eyebrow::before{
  content:''; width:32px; height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
}

.h2{
  font-weight:700;
  font-size:var(--fs-h2);
  line-height:1.02; letter-spacing:-.038em;
  margin-bottom:1.6rem; max-width:19ch;
}
.h3{ font-size:var(--fs-h3); font-weight:600; line-height:1.1; letter-spacing:-.03em }
.h3 em{ font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.01em }
.h2 em{
  font-family:var(--serif); font-style:italic; font-weight:400;
  color:var(--accent-2); letter-spacing:-.01em;
}

.lead{
  font-size:var(--fs-lead); color:var(--text-2);
  max-width:56ch; line-height:1.65; font-weight:300;
}
.lead em{ font-family:var(--serif); font-style:italic; color:var(--text); font-size:1.06em }

.hero__title,.h2,.h3,.rubros__big,.legacy__punch,.step__body h4,.soon__card h4{
  text-shadow:var(--sh-depth);
}
.lead,.legacy__text p,.about__text p,.step__body p,.soon__card p,.soon__foot,.contact__list li,.lcard__txt{
  text-shadow:0 2px 14px rgba(8,10,17,.6);
}
.h-word,.hero__title .w{ transition:text-shadow .55s var(--ease) }
.split-lines.is-lit .h-word{ text-shadow:var(--sh-lit), var(--sh-depth) }
@media (hover:hover){
  .h-word:hover,.hero__title .w:hover{ text-shadow:var(--sh-hover), var(--sh-depth) }
}

.assemble .as-w{ display:inline-block; white-space:nowrap }
.assemble .as-ch{ display:inline-block; will-change:transform, opacity }
.assemble.is-lit .as-ch{ text-shadow:var(--sh-lit), var(--sh-depth) }
.assemble .as-ch{ transition:text-shadow .55s var(--ease) }

.btn{
  --btn-bg:var(--accent);
  position:relative; display:inline-flex;
  align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.6rem; border:0; border-radius:100px;
  background:var(--btn-bg); color:#fff;
  font-size:.9rem; font-weight:500; letter-spacing:-.01em;
  cursor:pointer; overflow:hidden; isolation:isolate; white-space:nowrap;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
  box-shadow:0 6px 26px -8px var(--glow);
  will-change:transform;
}
.btn span{ position:relative; z-index:2 }
.btn::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 140% at 50% 120%, #9d84ff 0%, var(--accent) 45%, var(--accent-deep) 100%);
  opacity:0; transition:opacity .45s var(--ease);
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 40px -10px var(--glow) }
.btn:hover::before{ opacity:1 }
.btn:active{ transform:translateY(0) scale(.985) }

.btn--lg{ padding:1.05rem 2.1rem; font-size:.98rem }
.btn--sm{ padding:.62rem 1.15rem; font-size:.82rem }
.btn--full{ width:100%; margin-top:.5rem }

.btn--beat{ animation:btnBeat 2.6s var(--ease) infinite; transform-origin:50% 50% }
.btn--beat:hover,.btn--beat:focus-visible,.btn--beat:active{ animation:none }
@keyframes btnBeat{
  0%,64%,100%{ transform:scale(1);     box-shadow:0 6px 26px -8px var(--glow) }
  10%        { transform:scale(1.035); box-shadow:0 16px 48px -10px var(--glow) }
  22%        { transform:scale(.998);  box-shadow:0 6px 26px -8px var(--glow) }
  34%        { transform:scale(1.022); box-shadow:0 12px 40px -10px var(--glow) }
}

.btn--ghost{
  background:rgba(8,10,17,.35); border:1px solid var(--line-strong);
  color:var(--text); box-shadow:none; backdrop-filter:blur(8px);
}
.btn--ghost::before{ background:rgba(124,92,255,.16) }
.btn--ghost:hover{ border-color:var(--accent); box-shadow:0 10px 34px -14px var(--glow) }

.intro{
  position:fixed; inset:0; z-index:9999;
  display:grid; place-items:center; overflow:hidden;
  transition:opacity .5s .45s linear;
}
.intro__bg{
  position:absolute; inset:0;
  background:radial-gradient(130% 110% at 50% 45%, #101528 0%, #070910 60%, #05070D 100%);
  transition:opacity .7s var(--ease);
}
.intro__halo{
  position:absolute; width:min(820px,130vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(124,92,255,.30) 0%,transparent 62%);
  filter:blur(24px); opacity:0;
  animation:introHalo 2.4s var(--ease) .1s forwards;
  transition:opacity .6s var(--ease), transform .9s var(--ease);
}
@keyframes introHalo{
  0%{ opacity:0; transform:scale(.55) }
  60%{ opacity:1; transform:scale(1) }
  100%{ opacity:.8; transform:scale(1.1) }
}

.intro__canvas{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; transition:opacity .5s var(--ease);
}
.intro__canvas.is-ready{ opacity:1 }

.intro__plain{
  position:relative; z-index:2; display:none;
  flex-direction:column; align-items:center; gap:.5rem;
}
.intro.is-plain .intro__canvas{ display:none }
.intro.is-plain .intro__plain{ display:flex }
.intro__plain{ gap:clamp(1rem,3vh,1.8rem) }
.intro__plain svg{ width:clamp(84px,16vw,150px); height:auto }
.intro__plain span{
  font-size:clamp(1.35rem,4.5vw,2.1rem); font-weight:600; letter-spacing:-.02em;
  color:var(--text);
}
.intro__plain em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--accent-2) }

.intro.is-violeta .intro__bg{
  background:
    radial-gradient(120% 100% at 50% 38%, #6E4BF0 0%, #4A2FB0 44%, #24175C 78%, #140D33 100%);
}

.intro.is-violeta .intro__halo{ display:none }

.intro.is-violeta .intro__plain{
  animation:introMarca .9s var(--ease) both;
}
@keyframes introMarca{
  from{ opacity:0; transform:scale(.94) }
  to  { opacity:1; transform:scale(1) }
}

.intro.is-violeta .intro__plain svg g{ stroke:#fff }
.intro.is-violeta .intro__plain span{ color:#fff }
.intro.is-violeta .intro__plain em{ color:#E6DEFF }

.intro.is-violeta .intro__bar{ background:rgba(255,255,255,.20) }
.intro.is-violeta .intro__bar i{ background:#fff; box-shadow:none }
.intro.is-violeta .intro__num{ color:rgba(255,255,255,.72) }

.intro__ui{
  position:absolute; left:50%; bottom:clamp(3rem,12vh,7rem); translate:-50% 0;
  width:min(260px,60vw); text-align:center; z-index:3;
  transition:opacity .45s var(--ease);
}
.intro__bar{
  height:2px; width:100%;
  background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden;
}
.intro__bar i{
  display:block; height:100%; width:0%;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent),var(--accent-2));
  box-shadow:0 0 18px var(--glow);
}
.intro__num{
  margin-top:.8rem; font-size:.66rem; letter-spacing:.24em;
  color:var(--muted); font-variant-numeric:tabular-nums;
}

.intro.is-out{ opacity:0; pointer-events:none }
.intro.is-out .intro__bg,
.intro.is-out .intro__halo,
.intro.is-out .intro__ui{ opacity:0 }
.intro.is-out .intro__halo{ transform:scale(1.5) }
.intro.is-out .intro__plain{ opacity:0; transition:opacity .5s var(--ease) }

.cursor{ display:none }
@media (hover:hover) and (pointer:fine){

  .cursor{ display:block; position:fixed; top:0; left:0; z-index:9998; pointer-events:none }
  .cursor__dot{
    position:absolute; width:6px; height:6px; margin:-3px 0 0 -3px;
    border-radius:50%; background:var(--accent-2);
    box-shadow:0 0 10px var(--glow);
    transition:opacity .3s; will-change:transform;
  }
  .cursor__ring{
    position:absolute; width:38px; height:38px; margin:-19px 0 0 -19px;
    border:1px solid rgba(226,230,240,.5); border-radius:50%;
    display:grid; place-items:center;
    transition:width .38s var(--ease), height .38s var(--ease),
               margin .38s var(--ease), background-color .38s var(--ease),
               border-color .38s var(--ease);
    will-change:transform;
  }
  .cursor__label{
    font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
    color:#0a0d15; opacity:0; transition:opacity .25s; white-space:nowrap; font-weight:500;
  }
  .cursor.is-link .cursor__ring{ width:56px; height:56px; margin:-28px 0 0 -28px; background:rgba(238,241,247,.92); border-color:transparent }
  .cursor.is-cta  .cursor__ring{ width:72px; height:72px; margin:-36px 0 0 -36px; background:var(--accent-2); border-color:transparent }
  .cursor.is-link .cursor__label,.cursor.is-cta .cursor__label{ opacity:1 }
  .cursor.is-link .cursor__dot,.cursor.is-cta .cursor__dot{ opacity:0 }
  .cursor.is-hidden{ opacity:0 }
}

.scroll-progress{
  position:fixed; top:0; left:0; right:0; height:2px;
  z-index:900; pointer-events:none;
}
.scroll-progress i{
  display:block; height:100%; width:100%;
  transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent),var(--accent-2));
  box-shadow:0 0 12px var(--glow);
}

.header{
  position:fixed; top:0; left:0; right:0; z-index:800;
  height:var(--header-h);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding-inline:var(--pad);
  transition:transform .5s var(--ease), background-color .5s var(--ease);
  will-change:transform;
}
.header.is-stuck{
  background:rgba(8,10,17,.66);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.header.is-hidden{ transform:translateY(-110%) }

.header__logo{ display:flex; align-items:center; gap:.55rem; font-size:1rem; font-weight:600; letter-spacing:-.02em }

.header__logo em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--text-2) }

.header__nav{ display:flex; gap:2rem; font-size:.86rem; color:var(--text-2) }
.header__nav a{ position:relative; padding-block:.3rem; transition:color .3s }
.header__nav a::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:var(--accent); transform:scaleX(0); transform-origin:100% 50%;
  transition:transform .45s var(--ease);
}
.header__nav a:hover{ color:var(--text) }
.header__nav a:hover::after{ transform:scaleX(1); transform-origin:0 50% }

@media (max-width:860px){ .header__nav{ display:none } }

.hero{
  position:relative; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:var(--header-h);
  overflow:hidden; isolation:isolate;
}
.hero__canvas-wrap{ position:absolute; inset:0; z-index:1; pointer-events:none }

.globo-wrap{ position:fixed; inset:0; z-index:0; pointer-events:none }
#heroCanvas{
  display:block; width:100%; height:100%;
  opacity:0; transition:opacity 1.2s var(--ease);
}
#heroCanvas.is-ready{ opacity:1 }

.process,.about{ position:relative; z-index:1 }

.hero__fallback{ position:absolute; inset:0; display:none; place-items:center; perspective:1200px }
.hero__fallback.is-active{ display:grid }
.ff-layer{
  position:absolute; width:min(420px,62vw); aspect-ratio:4/5;
  border-radius:24px; border:1px solid var(--line-strong);
  background:linear-gradient(150deg,rgba(22,27,41,.9),rgba(11,14,23,.7));
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9);
  transform-style:preserve-3d; will-change:transform;
}
.ff-layer--1{ transform:translateZ(-120px) rotateX(52deg) rotateZ(-24deg) }
.ff-layer--2{ transform:translateZ(-40px)  rotateX(52deg) rotateZ(-24deg); background:linear-gradient(150deg,rgba(124,92,255,.16),transparent 60%) }
.ff-layer--3{ transform:translateZ(40px)   rotateX(52deg) rotateZ(-24deg); border-color:rgba(124,92,255,.3) }
.ff-layer--4{ transform:translateZ(120px)  rotateX(52deg) rotateZ(-24deg); background:radial-gradient(60% 60% at 50% 40%,var(--glow-soft),transparent 70%) }

.hero__lux{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(420px 420px at var(--lx,50%) var(--ly,42%),
    rgba(124,92,255,.20), rgba(124,92,255,.06) 42%, transparent 72%);
  opacity:0; transition:opacity .8s var(--ease);
}
.hero.is-lux .hero__lux{ opacity:1 }

.hero__grid{
  position:absolute; inset:-10%; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 100%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 100%);
}

.hero__content{ position:relative; z-index:3; padding-block:2rem 7rem }

.hero__title{
  font-weight:600;
  font-size:var(--fs-h1);
  line-height:.98;

  letter-spacing:-.022em;
  margin-bottom:1.6rem;

  max-width:22ch;
}

.hero__title .line{ display:block; overflow:hidden; padding-bottom:.16em; margin-bottom:-.14em }

.hero__title .line.is-open{ overflow:visible }
.hero__title .w{ display:inline-block; will-change:transform }

.hero__title em{
  font-family:inherit;
  font-style:normal;
  font-weight:inherit;
  letter-spacing:inherit;
}

.hero__sub{
  font-size:var(--fs-lead); color:var(--text-2);
  max-width:48ch; font-weight:300; margin-bottom:2.4rem;
  text-shadow:0 2px 14px rgba(8,10,17,.6);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem }

.hero__scroll-hint{
  position:absolute; z-index:3; left:50%; bottom:4.2rem; translate:-50% 0;
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
  font-size:.64rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted);
}
.hero__scroll-hint i{
  width:1px; height:44px;
  background:linear-gradient(to bottom,var(--accent),transparent);
  animation:scrollLine 2.4s var(--ease) infinite; transform-origin:top;
}
@keyframes scrollLine{
  0%{ transform:scaleY(0); opacity:0 }
  35%{ transform:scaleY(1); opacity:1 }
  100%{ transform:scaleY(1) translateY(44px); opacity:0 }
}

.hero__marquee{
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  padding-block:1.1rem; border-top:1px solid var(--line);
  background:linear-gradient(to top,rgba(8,10,17,.85),transparent);
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{
  display:flex; align-items:center; gap:1.6rem; width:max-content;
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  animation:marquee 34s linear infinite; will-change:transform;
}
.marquee__track b{ color:var(--accent) }
@keyframes marquee{ to{ transform:translateX(-50%) } }

@media (max-width:640px){
  .hero__scroll-hint{ display:none }

  .hero__title{
    max-width:100%;
    font-size:min(var(--fs-h1), calc((100vw - 2.5rem) * .1166));
  }
}

.problem{ position:relative; padding-block:clamp(4rem,8vw,7rem) 0 }

.problem__intro{ margin-bottom:clamp(2.2rem,4.5vw,3.6rem); overflow-x:clip }
.problem__intro .h2{ max-width:14ch }

.headstart{
  position:relative; isolation:isolate;
  margin-top:clamp(1.6rem,3vw,2.4rem);
  max-width:62ch; padding:clamp(1.2rem,2.6vw,1.75rem) clamp(1.3rem,2.8vw,2rem);
  border-radius:18px; overflow:hidden;
  animation:headGlow 4.4s var(--ease) infinite;
  transition:transform .5s var(--ease);
}

.headstart::before{
  content:''; position:absolute; z-index:0;
  left:50%; top:50%; translate:-50% -50%;
  width:max(150%,44rem); aspect-ratio:1;
  background:conic-gradient(from 0deg,
    transparent 0 58%,
    rgba(172,155,255,.35) 68%,
    var(--accent-2) 76%,
    var(--accent) 82%,
    rgba(124,92,255,.3) 88%,
    transparent 96% 100%);
  animation:headSpin 7s linear infinite;
}
.headstart::after{
  content:''; position:absolute; z-index:1; inset:1px; border-radius:17px;
  background:
    linear-gradient(150deg,rgba(124,92,255,.16),rgba(255,255,255,.02)),
    rgba(9,12,20,.82);
}
.headstart > *{ position:relative; z-index:2 }
.headstart:hover{ transform:translateY(-3px) }
@keyframes headSpin{ to{ rotate:360deg } }
@keyframes headGlow{
  0%,100%{ box-shadow:0 0 0 0 rgba(124,92,255,0),    0 22px 60px -34px #000 }
  50%    { box-shadow:0 0 52px -10px rgba(124,92,255,.32), 0 22px 60px -34px #000 }
}

.headstart__tag{
  display:inline-flex; align-items:center; gap:.55rem; margin-bottom:.85rem;
  font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-2);
  padding:.4rem .85rem .4rem .7rem; border-radius:100px;
  background:rgba(124,92,255,.12); border:1px solid rgba(124,92,255,.36);
}

.headstart__tag i{
  position:relative; width:7px; height:7px; border-radius:50%; flex:none;
  background:var(--accent-2); box-shadow:0 0 12px var(--glow);
}
.headstart__tag i::after{
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:1px solid var(--accent-2);
  animation:headPing 2.2s var(--ease) infinite;
}
@keyframes headPing{
  0%  { transform:scale(.6); opacity:.9 }
  70% { transform:scale(2.4); opacity:0 }
  100%{ transform:scale(2.4); opacity:0 }
}

.headstart__txt{
  color:var(--text-2); font-weight:300; line-height:1.7;
  font-size:clamp(.95rem,1.6vw,1.05rem); margin:0;
}
.headstart__txt + .headstart__txt{ margin-top:.85rem }

.hs-w{ display:inline-block }
.headstart__txt em{ font-family:var(--serif); font-style:italic; color:var(--text); font-size:1.08em }
.headstart__txt strong{ color:var(--text); font-weight:500 }

.compare{ height:200vh; position:relative }
.compare__sticky{
  position:sticky; top:0; height:100svh;
  display:flex; flex-direction:column; justify-content:center; gap:clamp(1.2rem,3vw,2.4rem);
  padding:calc(var(--header-h) + 1rem) var(--pad) 2.5rem;

  overflow-x:clip;
}

.compare__stage{

  position:relative; width:100%; max-width:760px; margin-inline:auto;
  aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 50px 120px -50px #000;

  background:var(--surface);
  --wipe:0%;

  will-change:transform;
}
@media (max-width:760px){ .compare__stage{ aspect-ratio:4/3 } }

.compare__side{ position:absolute; inset:0; z-index:1 }
.compare__side--new{ z-index:2; clip-path:inset(0 calc(100% - var(--wipe)) 0 0); will-change:clip-path }

.compare__tag{
  position:absolute; top:clamp(10px,1.5vw,16px); z-index:6;
  display:inline-flex; align-items:center; gap:.5em;
  font-size:clamp(.62rem,1.05vw,.8rem); font-weight:700; line-height:1;
  letter-spacing:.2em; text-transform:uppercase;
  padding:.55em 1em; border-radius:100px; backdrop-filter:blur(10px);
}
.compare__tag i{ width:.5em; height:.5em; border-radius:50%; flex:none; position:relative }

.compare__tag--old{
  right:clamp(10px,1.5vw,16px);
  background:rgba(0,0,0,.62); color:#9b937f;
  border:1px solid rgba(255,255,255,.12);
}
.compare__tag--old i{ background:#615c50 }

.compare__tag--new{
  left:clamp(10px,1.5vw,16px);
  color:#fff; text-shadow:0 1px 2px rgba(20,8,60,.5);
  background:linear-gradient(115deg,var(--accent) 0%,#6B45FF 55%,rgba(79,227,193,.75) 130%);
  border:1px solid rgba(255,255,255,.34);
  animation:tagAhora 3.2s var(--ease) infinite;
}
.compare__tag--new i{ background:#fff; box-shadow:0 0 10px rgba(255,255,255,.9) }
.compare__tag--new i::after{
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:1px solid #fff; animation:headPing 2.2s var(--ease) infinite;
}
@keyframes tagAhora{
  0%,100%{ box-shadow:0 0 0 0 rgba(124,92,255,.55), 0 6px 22px -8px rgba(124,92,255,.7) }
  50%    { box-shadow:0 0 0 6px rgba(124,92,255,0),  0 8px 30px -6px rgba(124,92,255,1) }
}

.compare__handle{
  position:absolute; top:0; bottom:0; z-index:7; left:var(--wipe);
  width:2px; margin-left:-1px;
  background:linear-gradient(to bottom,transparent,var(--accent),transparent);
  box-shadow:0 0 22px var(--glow); will-change:left;
}
.compare__handle i{
  position:absolute; top:50%; left:50%; translate:-50% -50%;
  width:38px; height:38px; border-radius:50%;
  background:var(--bg); border:1px solid var(--accent); box-shadow:0 0 26px var(--glow);
}
.compare__handle i::before,.compare__handle i::after{
  content:''; position:absolute; top:50%; width:0; height:0; border-block:4px solid transparent;
}
.compare__handle i::before{ left:9px; border-right:6px solid var(--accent-2); translate:0 -50% }
.compare__handle i::after{ right:9px; border-left:6px solid var(--accent-2); translate:0 -50% }

.compare__morph{
  position:absolute; z-index:5; pointer-events:none;
  left:50%; top:50%; translate:-50% -50%;
  width:min(62%,620px); aspect-ratio:16/10;
}

.compare__hud{ position:absolute; inset:12px; z-index:8; pointer-events:none }
.compare__hud i{
  position:absolute; width:clamp(18px,2.6vw,34px); aspect-ratio:1;
  border:2px solid var(--accent-2); opacity:0;
  box-shadow:0 0 18px var(--glow);
}
.compare__hud i:nth-child(1){ top:0;    left:0;  border-right:0; border-bottom:0; border-radius:10px 0 0 0 }
.compare__hud i:nth-child(2){ top:0;    right:0; border-left:0;  border-bottom:0; border-radius:0 10px 0 0 }
.compare__hud i:nth-child(3){ bottom:0; right:0; border-left:0;  border-top:0;    border-radius:0 0 10px 0 }
.compare__hud i:nth-child(4){ bottom:0; left:0;  border-right:0; border-top:0;    border-radius:0 0 0 10px }

.compare__rim{
  position:absolute; inset:0; z-index:8; pointer-events:none; border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(172,155,255,calc(var(--rim,0) * .55)),
    inset 0 0 60px -14px rgba(124,92,255,calc(var(--rim,0) * .8));
}
.compare__sweep{
  position:absolute; inset:0; z-index:8; pointer-events:none;
  background:linear-gradient(102deg,transparent 42%,rgba(200,190,255,.28) 50%,transparent 58%);
  background-size:260% 100%;
  background-position:var(--sweep,200%) 0;
}

.compare__side--old{ container-type:inline-size }
.oldsite{
  position:absolute; inset:0; background:#e8e4d8; color:#1c1c1c;
  font-family:'Times New Roman',Times,serif;

  font-size:clamp(6px,1.05vw,12px); overflow:hidden; filter:saturate(.62) brightness(.86);
  font-size:clamp(5px,1.02cqw,11px);
}
.oldsite__bar{
  height:8%; min-height:20px; background:linear-gradient(#dcdcdc,#c4c4c4);
  border-bottom:1px solid #9a9a9a; display:flex; align-items:center; gap:5px; padding-inline:8px;
}
.oldsite__bar span{ width:9px; height:9px; border-radius:50%; background:#a8a8a8; border:1px solid #8a8a8a; flex:none }
.oldsite__url{
  flex:1; margin-left:8px; background:#fff; border:1px solid #9a9a9a;
  padding:2px 6px; font-family:Arial,sans-serif; font-size:.85em; color:#444;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.oldsite__body{ height:92%; display:flex; flex-direction:column }
.oldsite__marquee{ background:#00007a; color:#ffd400; overflow:hidden; padding:3px 0; font-family:Arial,sans-serif; font-size:.9em }
.oldsite__marquee span{ display:inline-block; white-space:nowrap; padding-left:100%; animation:oldMarquee 16s linear infinite }
@keyframes oldMarquee{ to{ transform:translateX(-100%) } }
.oldsite__hero{
  background:linear-gradient(#f4f1e6,#ddd8c6); padding:.9em 1.2em;
  border-bottom:2px solid #b4ae98; display:flex; justify-content:space-between; align-items:center; gap:1em;
}
.oldsite__logo{ font-weight:700; font-size:2.1em; color:#00007a; line-height:1.1; letter-spacing:-.02em }
.oldsite__logo small{ display:block; font-size:.34em; color:#6b6b5a; font-style:italic; font-weight:400 }

.oldsite__nav{
  display:flex; gap:2px; padding:.4em .6em;
  background:#d0cec2; border-bottom:1px solid #9a9a9a;
  font-family:Arial,sans-serif; font-size:.92em;
}
.oldsite__nav span{
  padding:.22em .7em; color:#00007a; text-decoration:underline;
  background:linear-gradient(#f2f2ea,#d8d6c8); border:2px outset #eceade;
  white-space:nowrap;
}
.oldsite__nav span:first-child{ background:linear-gradient(#e2e0d2,#cbc9bb); border-style:inset }

.oldsite__cols{ flex:none; display:grid; grid-template-columns:1.6fr .9fr; gap:1.2em; padding:1.1em 1.2em .6em }
.oldsite__col h4{ font-size:1.35em; color:#8a0000; margin-bottom:.4em; border-bottom:1px dotted #a49b80 }
.oldsite__col p{ margin-bottom:.6em; line-height:1.45; color:#3a3a34 }
.oldsite__links{ color:#0000cc; font-family:Arial,sans-serif; font-size:.92em }
.oldsite__box{
  background:#ffd400; border:2px outset #d4b000; padding:.45em; text-align:center;
  font-family:'Comic Sans MS','Trebuchet MS',Arial,sans-serif;
  font-weight:700; font-size:1.05em; margin-bottom:.6em; color:#7a0000;
}

.oldsite__broken{
  display:flex; align-items:center; gap:.5em;
  background:#fff; border:1px solid #9a9a9a; padding:.5em;
  font-family:Arial,sans-serif; font-size:.85em; color:#555; margin-bottom:.6em;
}
.oldsite__broken i{
  position:relative; width:1.5em; height:1.5em; flex:none;
  background:#e9e9e9; border:1px solid #b0b0b0;
}
.oldsite__broken i::before,.oldsite__broken i::after{
  content:''; position:absolute; left:12%; top:48%; width:76%; height:2px; background:#c0392b;
}
.oldsite__broken i::before{ transform:rotate(45deg) }
.oldsite__broken i::after{ transform:rotate(-45deg) }

.oldsite__works{
  font-family:Arial,sans-serif; font-weight:700; font-size:.82em; color:#3a3a34;
  text-align:center; padding:.35em; letter-spacing:.04em;
  background:repeating-linear-gradient(45deg,#ffd400 0 8px,#1c1c1c 8px 16px);
  -webkit-text-stroke:3px #ffd400; paint-order:stroke fill;
}
.oldsite__counter{
  background:#000; color:#0f0; font-family:'Courier New',monospace;
  font-size:.95em; padding:.3em .5em; letter-spacing:.2em; white-space:nowrap;
  border:1px solid #444;
}

.oldsite__form{
  flex:1; min-height:0; display:flex; flex-direction:column;
  padding:0 1.2em .5em; overflow:hidden;
}
.oldsite__form h4{
  font-size:1.35em; color:#8a0000; margin-bottom:.2em;
  border-bottom:1px dotted #a49b80;
}
.oldsite__aviso{
  font-family:Arial,sans-serif; font-size:.82em; color:#8a0000;
  margin-bottom:.55em; font-style:italic;
}

.oldsite__campos{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:.32em .7em; margin-bottom:.5em;
}
.oldsite__campos label,
.oldsite__area{ display:block; font-family:Arial,sans-serif; font-size:.78em; color:#3a3a34 }
.oldsite__campos label span,
.oldsite__area span{ display:block; margin-bottom:.12em; line-height:1.15 }

.oldsite__campos label i,
.oldsite__area i{
  display:block; background:#fff; border:2px inset #d8d6c8; height:1.5em;
}
.oldsite__select i{
  color:#555; font-style:normal; padding:.12em .3em; line-height:1.25;
  background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0h9L4.5 6z' fill='%23555'/%3E%3C/svg%3E") no-repeat right .35em center;
}
.oldsite__area{ flex:1; min-height:0; display:flex; flex-direction:column; margin-bottom:.5em }
.oldsite__area i{ flex:1; min-height:2.4em }

.oldsite__pie{
  display:grid; grid-template-columns:1fr auto; gap:.4em 1em;
  align-items:center; font-family:Arial,sans-serif; font-size:.78em; color:#3a3a34;
}
.oldsite__check{ display:flex; align-items:center; gap:.4em; grid-column:1 / -1 }
.oldsite__check i{
  width:1em; height:1em; flex:none; background:#fff; border:2px inset #d8d6c8;
}
.oldsite__captcha{ display:flex; align-items:center; gap:.5em }

.oldsite__captcha-img{
  font-family:'Courier New',monospace; font-weight:700; font-size:1.15em;
  letter-spacing:.12em; color:#2a2a2a; padding:.1em .45em;
  background:repeating-linear-gradient(-14deg,#efeade 0 3px,#ded7c4 3px 6px);
  border:1px solid #9a9a9a; font-style:italic; transform:skewX(-8deg);
}
.oldsite__captcha i{ display:block; width:6em; height:1.5em; background:#fff; border:2px inset #d8d6c8 }
.oldsite__botones{ display:flex; gap:.5em; justify-self:end }

.oldsite__btn{
  padding:.24em 1em; font-family:Arial,sans-serif; font-size:.95em; color:#1c1c1c;
  background:linear-gradient(#f2f2ea,#d8d6c8); border:2px outset #eceade; white-space:nowrap;
}
.oldsite__btn--reset{ color:#5a5a52 }

.oldsite__footer{
  background:#c4c4c4; border-top:1px solid #9a9a9a; padding:.55em 1.2em;
  font-family:Arial,sans-serif; font-size:.82em; color:#4a4a4a; text-align:center;
}

.newsite{
  position:absolute; inset:0;

  background:
    radial-gradient(130% 100% at 18% -10%, #1b2136 0%, #0d1220 46%, rgba(8,10,17,.86) 100%);
  overflow:hidden;

  padding:clamp(34px,3.9em,52px) 1.9em 1.9em;
  display:flex; flex-direction:column; gap:1.3em;
  font-family:var(--font); font-size:clamp(6.5px,1.15vw,13px);

  --n-cy:#4FE3C1;
  --n-am:#FFC46B;
  --n-pk:#FF7AC6;
}

.newsite__fx{
  position:absolute; inset:0; z-index:0; width:100%; height:100%;
  opacity:0; transition:opacity 1s var(--ease); pointer-events:none;
}
.newsite__fx.is-ready{ opacity:1 }

.newsite__glow{
  position:absolute; z-index:0; top:-30%; left:8%; width:70%; aspect-ratio:1;
  background:radial-gradient(circle,var(--glow) 0%,transparent 62%);
  filter:blur(30px); opacity:.65;
  animation:newGlow 9s ease-in-out infinite alternate;
}
.newsite__glow--cy{
  top:auto; bottom:-34%; left:auto; right:-12%; width:62%;
  background:radial-gradient(circle,rgba(79,227,193,.34) 0%,transparent 64%);
  animation-duration:12s; animation-delay:-4s; opacity:.5;
}
.newsite__glow--pk{
  top:34%; left:auto; right:26%; width:44%;
  background:radial-gradient(circle,rgba(255,122,198,.26) 0%,transparent 66%);
  animation-duration:15s; animation-delay:-8s; opacity:.42;
}
@keyframes newGlow{
  0%{ transform:translate3d(0,0,0) scale(1); opacity:.5 }
  100%{ transform:translate3d(6%,4%,0) scale(1.15); opacity:.8 }
}

.newsite__grid{
  position:absolute; z-index:0; left:-25%; top:-25%; width:150%; height:150%;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:3.4em 3.4em;
  -webkit-mask-image:radial-gradient(68% 58% at 32% 42%,#000 0%,transparent 76%);
          mask-image:radial-gradient(68% 58% at 32% 42%,#000 0%,transparent 76%);
  animation:newGridDrift 26s linear infinite; will-change:transform;
}
@keyframes newGridDrift{ to{ transform:translate3d(3.4em,3.4em,0) } }

.newsite__scan{
  position:absolute; inset:0; z-index:5; pointer-events:none;
  background:linear-gradient(100deg,transparent 38%,rgba(172,155,255,.16) 50%,transparent 62%);
  background-size:260% 100%;
  animation:newScan 6.5s var(--ease) infinite;
}
@keyframes newScan{
  0%,72%{ background-position:180% 0 }
  100%{ background-position:-60% 0 }
}

.newsite__nav{ position:relative; z-index:3; display:flex; align-items:center; gap:1.6em }
.newsite__brand{
  display:flex; align-items:center; gap:.55em; flex:none;
  font-size:1.02em; font-weight:700; letter-spacing:.14em; color:#fff;
}
.newsite__brand i{
  width:1.75em; height:1.75em; border-radius:.52em; flex:none;
  background:linear-gradient(140deg,var(--accent-2),var(--accent) 46%,var(--n-cy));
  box-shadow:0 0 1.2em var(--glow);
  animation:newBrand 7s var(--ease) infinite;
}
@keyframes newBrand{
  0%,100%{ transform:rotate(0) scale(1) }
  46%{ transform:rotate(0) scale(1) }
  56%{ transform:rotate(-8deg) scale(1.12) }
  66%{ transform:rotate(0) scale(1) }
}
.newsite__links{ display:flex; gap:1.2em; font-size:.92em; color:rgba(255,255,255,.46) }
.newsite__links em{ font-style:normal; white-space:nowrap }
.newsite__links em:first-child{ color:#fff }
.newsite__navcta{
  margin-left:auto; flex:none;
  font-size:.88em; font-weight:600; color:#fff; white-space:nowrap;
  padding:.62em 1.25em; border-radius:100px;
  background:linear-gradient(90deg,var(--accent),var(--accent-deep));
  box-shadow:0 .6em 1.6em -.5em var(--glow);
}

.newsite__hero{
  position:relative; z-index:3; margin-top:auto;
  display:flex; flex-direction:column; align-items:flex-start; gap:.7em;
}
.newsite__kicker{
  display:inline-flex; align-items:center; gap:.5em;
  font-size:.78em; letter-spacing:.13em; text-transform:uppercase; color:var(--n-cy);
  padding:.4em .85em; border-radius:100px;
  background:rgba(79,227,193,.1); border:1px solid rgba(79,227,193,.3);
  white-space:nowrap;
}
.newsite__kicker i{
  width:.5em; height:.5em; border-radius:50%; flex:none;
  background:var(--n-cy); box-shadow:0 0 .8em var(--n-cy);
  animation:newLive 2.4s ease-in-out infinite;
}
@keyframes newLive{ 0%,100%{ opacity:1; transform:scale(1) } 50%{ opacity:.35; transform:scale(.72) } }

.newsite__h1{
  font-size:3.05em; font-weight:600; line-height:1.04; letter-spacing:-.035em;
  color:#fff; text-shadow:0 .18em .7em rgba(0,0,0,.55);
}
.newsite__h1 em{
  font-family:var(--serif); font-style:italic; font-weight:400;
  background:linear-gradient(92deg,var(--accent-2) 10%,var(--n-cy) 50%,var(--accent-2) 90%);
  background-size:230% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:newGrad 7s var(--ease) infinite;
}
@keyframes newGrad{ 0%,100%{ background-position:0 0 } 50%{ background-position:100% 0 } }

.newsite__p{ font-size:1em; color:rgba(255,255,255,.58); max-width:26em; line-height:1.5 }
.newsite__row{ display:flex; align-items:center; gap:.8em; margin-top:.45em }

.newsite__cta{
  position:relative; white-space:nowrap;
  font-size:.95em; font-weight:600; color:#fff;
  padding:.78em 1.5em; border-radius:100px;
  background:linear-gradient(90deg,var(--accent),#9d84ff);
  box-shadow:0 .8em 2.2em -.7em var(--glow);

  transform-origin:0% 50%;
  animation:newCtaBeat 7s var(--ease) infinite;
  will-change:transform;
}
.newsite__cta2{
  font-size:.9em; font-weight:500; color:rgba(255,255,255,.75); white-space:nowrap;
  padding:.72em 1.2em; border-radius:100px;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.04);
}

.newsite__cta::before{
  content:''; position:absolute; inset:0; border-radius:inherit; overflow:hidden;
  background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.55) 50%,transparent 66%);
  background-size:240% 100%;
  animation:newCtaShine 7s var(--ease) infinite;
}
@keyframes newCtaBeat{
  0%,100%{ transform:scale(1);     box-shadow:0 .8em 2.2em -.7em var(--glow) }
  12%    { transform:scale(1.07);   box-shadow:0 1.2em 3em -.5em var(--glow) }
  24%    { transform:scale(1) }
  38%    { transform:scale(1.07) }
  46%    { transform:scale(.92);    box-shadow:0 .5em 1.3em -.7em var(--glow) }
  54%    { transform:scale(1.11);   box-shadow:0 1.5em 3.8em -.4em var(--glow) }
  64%    { transform:scale(1) }
  82%    { transform:scale(1.05) }
}
@keyframes newCtaShine{
  0%,20%{ background-position:170% 0 }
  46%   { background-position:-40% 0 }
  100%  { background-position:-40% 0 }
}

.newsite__navcta{ animation:newNavPulse 3.5s var(--ease) infinite; transform-origin:100% 50% }
@keyframes newNavPulse{
  0%,100%{ transform:scale(1); filter:brightness(1) }
  50%    { transform:scale(1.06); filter:brightness(1.25) }
}

.newsite__cta::after{
  content:''; position:absolute; inset:0; border-radius:100px;
  border:2px solid var(--accent-2); opacity:0;
  animation:newClick 7s var(--ease) infinite;
}
@keyframes newClick{
  0%,44%{ transform:scale(1); opacity:0 }
  48%{ transform:scale(1); opacity:.9 }
  62%{ transform:scale(1.5); opacity:0 }
  100%{ opacity:0 }
}

.newsite__cards{
  position:relative; z-index:3; margin-top:auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:.85em;
}
.newsite__card{
  position:relative; overflow:hidden;
  border-radius:.95em; padding:.8em .9em;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid var(--line);

  animation:newFloat 6s ease-in-out infinite; will-change:transform;
}
.newsite__card:nth-child(2){ animation-delay:-2s }
.newsite__card:nth-child(3){ animation-delay:-4s }
@keyframes newFloat{
  0%,100%{ transform:translateY(0) }
  50%{ transform:translateY(-6px) }
}
.newsite__card b{
  position:relative; display:block; line-height:1.05;
  font-size:1.55em; font-weight:600; letter-spacing:-.035em; color:#fff;
}
.newsite__lbl{
  position:relative; display:block; margin-top:.2em;
  font-size:.78em; color:rgba(255,255,255,.5); line-height:1.3;
}

.newsite__card--star{
  background:linear-gradient(160deg,rgba(255,196,107,.17),rgba(255,196,107,.02));
  border-color:rgba(255,196,107,.3);
}
.newsite__card--star b{ color:var(--n-am) }
.newsite__stars{
  display:block; margin-bottom:.2em;
  font-size:.82em; letter-spacing:.12em; color:var(--n-am);
  text-shadow:0 0 .6em rgba(255,196,107,.55);
  animation:newStars 5s var(--ease) infinite;
}
@keyframes newStars{
  0%,70%,100%{ filter:brightness(1) }
  80%{ filter:brightness(1.5) }
}

.newsite__card--chart{
  background:linear-gradient(160deg,rgba(79,227,193,.17),rgba(79,227,193,.02));
  border-color:rgba(79,227,193,.3);
}
.newsite__card--chart b{ color:var(--n-cy) }

.newsite__spark{
  position:absolute; left:34%; right:0; bottom:0; width:66%; height:52%;
  opacity:.45; pointer-events:none;
}
.newsite__spark polyline{
  fill:none; stroke:var(--n-cy); stroke-width:2.5;
  stroke-linecap:round; stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:130; stroke-dashoffset:130;
  animation:newSpark 5s var(--ease) infinite;
}
@keyframes newSpark{ 0%{ stroke-dashoffset:130 } 55%,100%{ stroke-dashoffset:0 } }

.newsite__card--time{
  background:linear-gradient(160deg,rgba(124,92,255,.22),rgba(124,92,255,.03));
  border-color:rgba(124,92,255,.34);
}
.newsite__card--time b{ color:var(--accent-2) }
.newsite__ring{
  position:absolute; right:.7em; top:.7em; width:1.7em; height:1.7em; border-radius:50%;
  background:conic-gradient(var(--accent-2) 0 .68turn, rgba(255,255,255,.12) .68turn);
  -webkit-mask:radial-gradient(circle,transparent 54%,#000 56%);
          mask:radial-gradient(circle,transparent 54%,#000 56%);
  animation:newRing 4.5s linear infinite;
}
@keyframes newRing{ to{ transform:rotate(360deg) } }

.newsite__orb{
  position:absolute; z-index:0; right:-4%; top:22%; width:26%; aspect-ratio:1; border-radius:50%;
  background:conic-gradient(from 210deg,var(--accent-deep),var(--accent),#c9bcff,var(--n-cy),var(--accent-deep));
  filter:blur(16px); opacity:.28; animation:orbSpin 18s linear infinite;
}
@keyframes orbSpin{ to{ transform:rotate(360deg) } }

.newsite__cursor{
  position:absolute; z-index:7; width:clamp(14px,2.2vw,22px); height:auto;
  left:78%; top:84%; opacity:0;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));
  animation:newCursor 7s var(--ease) infinite;
}
@keyframes newCursor{
  0%   { left:80%; top:88%; transform:scale(1); opacity:0 }
  12%  { opacity:1 }
  44%  { left:16%; top:72%; opacity:1 }
  48%  { transform:scale(.78) }
  56%  { transform:scale(1) }
  78%  { left:30%; top:52%; opacity:1 }
  92%,100%{ left:54%; top:30%; opacity:0 }
}

.newsite__panel{
  position:absolute; z-index:4; right:4.5%; top:38%;
  width:15em; padding:1.1em; border-radius:1.1em;
  display:flex; flex-direction:column; gap:.65em;
  background:linear-gradient(165deg,rgba(30,36,58,.92),rgba(12,15,26,.9));
  border:1px solid rgba(172,155,255,.24);
  box-shadow:0 1.6em 3.4em -1.4em #000, inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(6px);
  transform:perspective(700px) rotateY(-9deg) rotateX(3deg);
  animation:newPanel 8s ease-in-out infinite; will-change:transform;
}
@keyframes newPanel{
  0%,100%{ transform:perspective(700px) rotateY(-9deg) rotateX(3deg) translateY(0) }
  50%    { transform:perspective(700px) rotateY(-5deg) rotateX(1deg) translateY(-.55em) }
}
.newsite__panel-top{ font-size:.88em; font-weight:600; color:#fff }
.newsite__field{
  height:1.6em; border-radius:.5em;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
}
.newsite__field--sm{ height:2.6em }

.newsite__panel-foot{
  font-size:.62em; letter-spacing:.02em; color:rgba(214,208,255,.62);
}
.newsite__panel-btn{
  align-self:flex-start; margin-top:.15em;
  font-size:.8em; font-weight:600; color:#fff;
  padding:.55em 1.1em; border-radius:100px;
  background:linear-gradient(90deg,var(--accent),#9d84ff);
  box-shadow:0 .5em 1.4em -.4em var(--glow);
  animation:newPanelBtn 7s var(--ease) infinite;
}
@keyframes newPanelBtn{
  0%,72%,100%{ filter:brightness(1); box-shadow:0 .5em 1.4em -.4em var(--glow) }
  80%        { filter:brightness(1.3); box-shadow:0 .8em 2.2em -.3em var(--glow) }
}

.newsite__ping{
  position:absolute; z-index:6; right:3.5%; top:22%;
  display:flex; align-items:center; gap:.6em;
  padding:.6em .9em; border-radius:.85em;
  background:rgba(8,10,17,.85); border:1px solid rgba(124,92,255,.45);
  box-shadow:0 1em 2.4em -1em #000;
  opacity:0; transform:translateX(16px);
  animation:newPing 7s var(--ease) infinite;
}
.newsite__ping-dot{
  width:.6em; height:.6em; border-radius:50%; flex:none;
  background:#3ddc84; box-shadow:0 0 .8em rgba(61,220,132,.9);
}
.newsite__ping-txt{ display:flex; flex-direction:column; line-height:1.25 }
.newsite__ping-txt b{ font-size:.85em; font-weight:600; color:#fff; white-space:nowrap }
.newsite__ping-txt i{ font-size:.74em; font-style:normal; color:rgba(255,255,255,.45); white-space:nowrap }
@keyframes newPing{
  0%,52%{ opacity:0; transform:translateX(16px) }
  58%{ opacity:1; transform:translateX(0) }
  84%{ opacity:1; transform:translateX(0) }
  92%,100%{ opacity:0; transform:translateX(16px) }
}

@media (max-width:760px){
  .compare__tag{ top:6px; font-size:.54rem; padding:.4em .75em; gap:.4em; letter-spacing:.16em }
  .compare__tag--new{ left:8px }
  .compare__tag--old{ right:8px }
  .newsite{ padding:clamp(30px,3.9em,52px) 1.4em 1.4em; gap:1em }
  .newsite__links{ display:none }
  .newsite__h1{ font-size:2.4em }
  .newsite__cta2{ display:none }
  .newsite__panel{ display:none }
  .newsite__ping{ top:26%; right:3% }
}

.compare__stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,3vw,3rem);
  max-width:1100px; margin-inline:auto; width:100%;
  border-top:1px solid var(--line); padding-top:clamp(1.4rem,3vw,2.4rem);
}
.stat{ display:flex; flex-direction:column; align-items:center; text-align:center }

.globo{
  position:relative;
  width:clamp(62px,7.4vw,94px); height:clamp(76px,9vw,114px);
  margin-bottom:.55rem;
  animation:globoFlota 5.2s var(--ease) infinite;
}
.globo:nth-child(1){ animation-delay:0s }
.stat:nth-child(2) .globo{ animation-delay:-1.7s }
.stat:nth-child(3) .globo{ animation-delay:-3.4s }
@keyframes globoFlota{
  0%,100%{ transform:translateY(0) rotate(-2deg) }
  50%    { transform:translateY(-9px) rotate(2.4deg) }
}

.globo__inflar{
  position:absolute; inset:0; display:block;
  transform:scale(.42); transform-origin:50% 92%;
}
.globo__cuerpo{
  position:absolute; inset:0;
  border-radius:50% 50% 47% 47% / 56% 56% 44% 44%;
  background:radial-gradient(circle at 33% 27%, var(--g1), var(--g2) 58%, var(--g3) 100%);
  box-shadow:inset -7px -12px 20px rgba(0,0,0,.30), 0 14px 34px -14px var(--g2);
}

.globo__cuerpo::after{
  content:''; position:absolute; left:50%; bottom:-6px;
  width:11px; height:9px; transform:translateX(-50%);
  background:var(--g3);
  clip-path:polygon(50% 100%, 0 0, 100% 0);
}

.globo__luz{
  position:absolute; left:20%; top:12%; width:26%; height:22%;
  border-radius:50%;
  background:linear-gradient(150deg, rgba(255,255,255,.85), rgba(255,255,255,0));
  filter:blur(1px);
}

.globo__hilo{
  position:absolute; left:50%; top:100%;
  width:16px; height:clamp(18px,2.4vw,30px);
  border-left:1px solid rgba(172,155,255,.5);
  border-bottom-left-radius:70% 100%;
  transform:translateX(-50%) rotate(7deg);
  transition:opacity .2s linear;
}

.stat b{
  position:absolute; inset:0; z-index:2;
  display:grid; place-items:center;
  font-size:clamp(1.5rem,3.4vw,2.6rem);
  font-weight:600; letter-spacing:-.04em; line-height:1;
  color:#fff; font-variant-numeric:tabular-nums;
  text-shadow:0 2px 10px rgba(20,8,60,.55);
  transition:color .5s var(--ease), text-shadow .5s var(--ease);
}

.globo.is-reventado b{ color:var(--accent-2); text-shadow:var(--sh-depth) }

.globo__trozos{ position:absolute; inset:0; z-index:1 }
.globo__trozos i{
  position:absolute; left:50%; top:46%;
  width:9px; height:11px; margin:-5px 0 0 -4px;
  background:var(--g2); opacity:0;
  border-radius:60% 40% 55% 45% / 50% 60% 40% 50%;
}

.stat__txt{
  display:block; font-size:clamp(.68rem,1.3vw,.86rem);
  color:var(--muted); line-height:1.4; max-width:22ch;
}

@media (max-width:640px){
  .compare__stats{ grid-template-columns:repeat(3,1fr); gap:.6rem }
  .globo{ width:clamp(46px,15vw,64px); height:clamp(56px,18vw,78px); margin-bottom:.4rem }
  .globo__hilo{ height:14px }
  .stat b{ font-size:clamp(1.05rem,4.4vw,1.5rem) }
  .stat__txt{ font-size:.6rem; line-height:1.3 }
}

.costo{ position:relative; padding-block:clamp(2.5rem,6vw,4.5rem) }
.costo__grid{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(2rem,5vw,4rem); align-items:center;
}
@media (max-width:900px){ .costo__grid{ grid-template-columns:1fr } }

.costo__tag{
  display:inline-flex; align-items:center; gap:.55rem; margin-bottom:1rem;
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-2);
  padding:.38rem .85rem .38rem .7rem; border-radius:100px;
  background:rgba(124,92,255,.12); border:1px solid rgba(124,92,255,.36);
}
.costo__tag i{
  width:7px; height:7px; border-radius:50%; flex:none;
  background:var(--accent-2); box-shadow:0 0 12px var(--glow);
}
.costo__texto .h3{ max-width:17ch; margin-bottom:1.2rem }
.costo__texto .lead{ color:var(--text-2); font-weight:300; max-width:52ch }
.costo__punch{
  font-size:clamp(1.05rem,2.1vw,1.4rem);
  color:var(--text); line-height:1.4; letter-spacing:-.02em;
  margin-top:1.6rem; padding-left:1.2rem;
  border-left:2px solid var(--accent);
}
.costo__punch em{
  font-family:var(--serif); font-style:italic; font-size:1.06em;
  background:linear-gradient(100deg,var(--accent-2),#fff 60%,var(--accent-2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

.costo__cuadro{
  display:grid; grid-template-columns:1fr 1fr; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  backdrop-filter:blur(10px);
}
.costo__col{ padding:clamp(1.15rem,2.4vw,1.6rem) }
.costo__col + .costo__col{
  border-left:1px solid var(--line);
  background:linear-gradient(180deg,rgba(124,92,255,.09),rgba(124,92,255,.02));
}

@media (max-width:560px){
  .costo__cuadro{ grid-template-columns:1fr }
  .costo__col + .costo__col{ border-left:0; border-top:1px solid var(--line) }
}

.costo__quien{
  display:block; margin-bottom:1rem; padding-bottom:.7rem;
  border-bottom:1px solid var(--line);
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
}
.costo__col:first-child .costo__quien{ color:var(--muted) }
.costo__col + .costo__col .costo__quien{ color:var(--accent-2) }

.costo__lista{ display:flex; flex-direction:column; gap:.75rem }
.costo__lista li{
  position:relative; padding-left:1.5rem;
  font-size:.88rem; line-height:1.55; font-weight:300;
}
.costo__lista--no li{ color:var(--muted) }
.costo__lista--si li{ color:var(--text-2) }
.costo__lista li::before{
  position:absolute; left:0; top:0; font-size:.8em; line-height:1.75;
}
.costo__lista--no li::before{ content:'—'; color:rgba(255,255,255,.26) }
.costo__lista--si li::before{ content:'✓'; color:var(--accent-2); font-weight:700 }

.legacy{
  position:relative; padding-block:clamp(4rem,9vw,8rem);
  background:linear-gradient(180deg,
    rgba(8,10,17,0) 0%, rgba(8,10,17,.62) 18%,
    rgba(8,10,17,.62) 82%, rgba(8,10,17,0) 100%);
}
.legacy__grid{
  display:grid; grid-template-columns:1.15fr .85fr;
  gap:clamp(2rem,5vw,4.5rem); align-items:start;
}
.legacy__text .h3{ max-width:18ch; margin-bottom:1.4rem }
.legacy__text p{ color:var(--text-2); font-weight:300; margin-bottom:1.1rem; max-width:58ch }
.legacy__text em{ font-family:var(--serif); font-style:italic; color:var(--text); font-size:1.06em }
.legacy__punch{
  font-size:clamp(1.15rem,2.4vw,1.65rem);
  color:var(--text) !important; line-height:1.35; letter-spacing:-.02em;
  margin-block:1.8rem !important; padding-left:1.2rem;
  border-left:2px solid var(--accent);
}
.legacy__punch em{
  background:linear-gradient(100deg,var(--accent-2),#fff 60%,var(--accent-2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

.legacy__list{
  display:flex; flex-direction:column; gap:clamp(.9rem,2vw,1.3rem);
}
.lcard{
  position:relative; will-change:transform;
  perspective:1500px; perspective-origin:50% 42%;
}
.lcard__gira{
  position:relative; height:100%;
  display:grid; grid-template:1fr / 1fr;
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.42,.02,.24,1);
}
@media (hover:hover){ .lcard:hover .lcard__gira{ transform:rotateY(180deg) } }
.lcard.is-vuelta .lcard__gira{ transform:rotateY(180deg) }

.lcard.is-auto .lcard__gira{ transform:rotateY(180deg) }

.lcard__cara{
  grid-area:1/1; position:relative; overflow:hidden; isolation:isolate;
  padding:clamp(1.3rem,2.8vw,1.9rem);
  border-radius:var(--radius); border:1px solid var(--line);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transition:border-color .6s var(--ease), box-shadow .6s var(--ease);
}
.lcard__frente{
  background:
    linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.016)),
    linear-gradient(0deg,rgba(9,11,19,.62),rgba(9,11,19,.62));
}
.lcard__dorso{
  transform:rotateY(180deg);
  display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(152deg,#8A6BFF 0%,#6B4BE0 46%,#4429B8 100%);
  border-color:rgba(214,205,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}

.lcard__ghost{
  position:absolute; right:-.06em; top:-.34em; z-index:-1;
  font-size:clamp(5.5rem,13vw,9rem); font-weight:700; line-height:1;
  letter-spacing:-.06em; color:rgba(255,255,255,.035);
  transition:color .8s var(--ease), transform .9s var(--ease);
  transform:translateX(12px);
}
.lcard.is-on .lcard__frente{
  border-color:rgba(124,92,255,.4);
  box-shadow:0 30px 70px -46px var(--glow);
}
.lcard.is-on .lcard__ghost{ color:rgba(124,92,255,.14); transform:translateX(0) }

.lcard__num{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.66rem; letter-spacing:.2em; color:var(--muted);
  margin-bottom:.55rem; transition:color .5s var(--ease);
}
.lcard__num::before{
  content:''; width:0; height:1px; background:var(--accent);
  box-shadow:0 0 10px var(--glow);
  transition:width .8s var(--ease);
}
.lcard.is-on .lcard__frente .lcard__num{ color:var(--accent-2) }
.lcard.is-on .lcard__frente .lcard__num::before{ width:26px }

.lcard__dorso .lcard__num{ color:rgba(255,255,255,.7) }
.lcard__dorso .lcard__num::before{ width:26px; background:#fff; box-shadow:0 0 10px rgba(255,255,255,.5) }

.lcard__title{
  display:block; font-size:clamp(1.05rem,2.1vw,1.32rem); font-weight:500;
  letter-spacing:-.025em; margin-bottom:.4rem;
}
.lcard__txt{ display:block; font-size:.9rem; color:var(--muted); font-weight:300; line-height:1.6 }

.lcard__clave{
  display:block; font-size:clamp(1.38rem,2.9vw,1.9rem); font-weight:600;
  letter-spacing:-.032em; line-height:1.1; color:#fff;
  margin-bottom:.7rem;
  text-shadow:0 2px 18px rgba(30,12,84,.5);
}
.lcard__cierre{
  display:block; font-size:.9rem; line-height:1.6; font-weight:300;
  color:rgba(255,255,255,.88);
}

.lcard__sweep{
  position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(105deg,transparent 40%,rgba(172,155,255,.18) 50%,transparent 60%);
  background-size:250% 100%; background-position:180% 0;
}
.lcard.is-on .lcard__sweep{ opacity:1; animation:lcardSweep 1.3s var(--ease) forwards }
@keyframes lcardSweep{ to{ background-position:-60% 0 } }

.lcard__vuelta{
  position:absolute; right:clamp(.9rem,2vw,1.3rem); bottom:clamp(.9rem,2vw,1.3rem);
  width:24px; height:24px; border-radius:50%;
  border:1px solid rgba(172,155,255,.4);
  background:rgba(124,92,255,.10);
  display:grid; place-items:center;
  opacity:.6; transition:opacity .5s var(--ease), transform .6s var(--ease);
}
.lcard__vuelta::before{
  content:'↻'; font-size:.78rem; line-height:1; color:var(--accent-2);
  font-style:normal;
}
.lcard.is-on .lcard__vuelta{ opacity:1 }
@media (hover:hover){
  .lcard:hover .lcard__vuelta{ opacity:0; transform:scale(.8) }
}

@media (max-width:860px){ .legacy__grid{ grid-template-columns:1fr } }

.rubros{ position:relative; padding-block:clamp(4rem,9vw,7.5rem) }

.rubros__intro{ margin-bottom:clamp(1rem,3vw,2.4rem) }

.rubros__bajada{
  margin-top:clamp(1rem,2.2vw,1.4rem);
  max-width:30ch;
  font-size:clamp(1.08rem,2.1vw,1.5rem);
  font-weight:400; line-height:1.3; letter-spacing:-.022em;
  color:var(--text-2);
}
.rubros__bajada .rf-ch{ --rf-1:var(--text-2); --rf-3:var(--text-2) }

.rubros__regla{
  display:block; height:2px; border-radius:2px; max-width:min(30rem,72%);
  margin-top:clamp(1.1rem,2.4vw,1.7rem);
  transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,
    var(--accent) 0%, var(--accent-2) 54%, rgba(172,155,255,0) 100%);
  box-shadow:0 0 16px var(--glow);
}

.rubros__h .h-word{ transform-origin:50% 100% }

.rubros__punch{
  margin-top:clamp(.7rem,1.8vw,1.2rem);
  font-family:inherit;
  font-size:clamp(2.2rem,6.2vw,5rem);
  font-weight:700; line-height:1.02; letter-spacing:-.038em;
  max-width:13ch;
}

.lava{
  display:inline-block;
  --lw:100%; --lh:100%; --lx:0px; --ly:0px; --lava-x:0%;

  background-image:linear-gradient(96deg, #C9BCFF, #8E72FF 55%, #C9BCFF);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}

.lava[data-split="1"]{ background-image:none }

.lava .lv-w{ display:inline-block }
.lava .lv{
  display:inline-block; white-space:pre;
  background-image:
    radial-gradient(46% 128% at calc(20% + var(--lava-x)) 28%, #E8E2FF 0%, rgba(232,226,255,0) 58%),
    radial-gradient(50% 132% at calc(76% - var(--lava-x)) 74%, #4FE3C1 0%, rgba(79,227,193,0) 60%),
    radial-gradient(58% 150% at calc(48% + var(--lava-x)) 96%, #7C5CFF 0%, rgba(124,92,255,0) 62%),
    linear-gradient(96deg, #C9BCFF, #8E72FF 55%, #C9BCFF);
  background-size:var(--lw) var(--lh);
  background-repeat:no-repeat;
  background-position:calc(var(--lx) * -1) calc(var(--ly) * -1);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}

.hero__title, .h2, .rubros__punch{ position:relative; isolation:isolate }

.hero__title::before, .h2::before, .rubros__punch::before{
  content:''; position:absolute; z-index:-1;
  left:-8%; right:0; top:-30%; bottom:-30%;
  background:radial-gradient(50% 55% at 28% 50%, rgba(124,92,255,.28), transparent 70%),
             radial-gradient(45% 50% at 74% 55%, rgba(79,227,193,.16), transparent 72%);
  filter:blur(14px); pointer-events:none;

  animation:punchLatido 6.5s var(--ease) infinite paused;
}
.lava-viva::before{ animation-play-state:running }

.h2:not(:has(.lava))::before{ content:none }
@keyframes punchLatido{
  0%,100%{ opacity:.55; transform:scale(.94) }
  50%    { opacity:1;   transform:scale(1.06) }
}

.wall{
  position:relative; overflow:hidden;
  padding-block:clamp(2.5rem,7vw,5.5rem);
  perspective:900px; perspective-origin:50% 50%;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),
             linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),
                     linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.wall__inner{
  transform-style:preserve-3d;
  transform:rotateX(var(--rx,14deg)) rotateZ(var(--rz,-2.5deg));
  display:flex; flex-direction:column; gap:clamp(.7rem,2.2vw,1.7rem);
  will-change:transform;
}

.wall__row{
  display:flex; width:max-content;
  transform:translateZ(var(--z,0px));
}
.wall__track{
  display:flex; align-items:center; width:max-content;
  animation:wallSlide var(--dur,48s) linear infinite;
  will-change:transform;
}
.wall__track--rev{ animation-direction:reverse }
@keyframes wallSlide{ to{ transform:translate3d(-50%,0,0) } }

@media (hover:hover){
  .wall:hover .wall__track{ animation-play-state:paused }
}

.rubro{
  display:inline-block; white-space:nowrap;
  padding-inline:clamp(.6rem,1.6vw,1.4rem);
  font-size:clamp(1.35rem,3.4vw,3rem);
  font-weight:500; letter-spacing:-.035em; line-height:1.35;
  color:rgba(238,241,247,.34);
  text-shadow:var(--sh-depth);
  transition:color .45s var(--ease), text-shadow .45s var(--ease);
  cursor:default;
}
.rubro::after{
  content:'·'; margin-left:clamp(.6rem,1.6vw,1.4rem);
  color:var(--accent); opacity:.45; font-weight:400;
}
.rubro--acc{ color:rgba(172,155,255,.72) }
@media (hover:hover){
  .rubro:hover{ color:#fff; text-shadow:var(--sh-hover), var(--sh-depth) }
}

.wall__row:nth-child(3) .rubro{ color:rgba(238,241,247,.6) }

.wall__hint{
  position:absolute; left:50%; bottom:clamp(.6rem,2vw,1.4rem); translate:-50% 0;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); opacity:.55; pointer-events:none;
}
@media (hover:none){ .wall__hint{ display:none } }

.rubros__outro{ text-align:center; padding-top:clamp(2.5rem,7vw,5rem) }

.fill-text{ color:transparent }
.rubros__outro .fill-text{ margin-bottom:1.2rem }
.fill-text .rw{ display:inline-block; white-space:nowrap }
.fill-text .ch{
  display:inline-block;
  color:rgba(238,241,247,.14);
  transition:color .25s linear, text-shadow .25s linear;
}
.fill-text .ch.is-on{ color:var(--text); text-shadow:var(--sh-lit), var(--sh-depth) }

p.fill-text .ch.is-on{ color:var(--text-2); text-shadow:0 2px 14px rgba(8,10,17,.6) }
p.fill-text.lead .ch.is-on{ color:var(--text-2) }
.no-gsap .fill-text .ch,.no-gsap .fill-text{ color:var(--text) }

.rubros__big{
  font-size:clamp(1.7rem,5vw,3.6rem); font-weight:600;
  letter-spacing:-.04em; line-height:1.1;
  max-width:20ch; margin:0 auto 2.6rem;
}
.rubros__lead-in{ display:block; color:var(--text-2) }

.swap{ position:relative; display:block; min-height:2.4em; margin-top:.2rem }
.swap i{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-style:normal; opacity:0;
}
.swap i em{
  font-family:var(--serif); font-style:italic; font-weight:400;
  background:linear-gradient(100deg,var(--accent-2),#fff 55%,var(--accent-2));
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:swapSheen 5s linear infinite;
}
@keyframes swapSheen{ to{ background-position:200% 50% } }
.swap i.is-on{ opacity:1 }
.no-gsap .swap{ min-height:0 }
.no-gsap .swap i{ position:static; opacity:0 }
.no-gsap .swap i.is-on{ opacity:1 }

@media (max-width:600px){
  .swap{ min-height:3.6em }
  .wall__inner{ gap:.1rem }
}

.process{
  padding-block:clamp(4.5rem,9vw,8rem);
  background:linear-gradient(180deg, rgba(8,10,17,0), rgba(8,10,17,.6) 20%, rgba(8,10,17,.6) 80%, rgba(8,10,17,0));
}

.process__grid{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);
  gap:clamp(2.5rem,6vw,6rem); align-items:start;
}
.process__aside{
  position:sticky;
  top:calc(var(--header-h) + clamp(2rem,7vh,5rem));
}

.process__list{ position:relative; padding-top:clamp(1rem,6vh,4.5rem) }

.process__marcador{ margin-top:clamp(2rem,5vw,3.4rem); display:flex; align-items:baseline; gap:1.5rem }
.process__cifra{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(3.4rem,8vw,6.4rem); line-height:.8;
  letter-spacing:-.03em; color:var(--accent-2);
  font-variant-numeric:tabular-nums;
}
.process__de{ font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted) }
.process__riel{
  position:relative; flex:1; height:1px; align-self:center;
  background:var(--line); margin-left:.4rem;
}
.process__riel i{
  position:absolute; inset:0;
  background:linear-gradient(to right,var(--accent-2),var(--accent));
  transform:scaleX(0); transform-origin:0 50%;
  box-shadow:0 0 16px var(--glow); will-change:transform;
}

.step{ position:relative; padding-block:clamp(1.6rem,3.6vw,3rem); padding-left:clamp(3rem,5vw,5rem) }
.step + .step{ border-top:1px solid var(--line) }
.step__num{
  position:absolute; left:0; top:clamp(1.6rem,3.6vw,3rem);
  width:clamp(2.3rem,4.6vw,3.2rem); display:grid; place-items:center;
}

@media (max-width:900px){
  .process__grid{ grid-template-columns:1fr; gap:clamp(1.6rem,5vw,2.4rem) }
  .process__aside{ position:static }
  .process__marcador{ display:none }
  .process__list{ padding-top:0 }
}
.step__num span{
  display:grid; place-items:center; width:clamp(2.3rem,4.6vw,3.2rem); aspect-ratio:1;
  border-radius:50%; border:1px solid var(--line-strong);
  background:rgba(8,10,17,.7); backdrop-filter:blur(6px);
  font-size:.78rem; letter-spacing:.04em; color:var(--muted);
  transition:border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
}
.step.is-on .step__num span{ border-color:var(--accent); color:var(--accent-2); box-shadow:0 0 24px -4px var(--glow) }

.step__body h4{ font-size:clamp(1.35rem,3vw,2.1rem); font-weight:600; letter-spacing:-.035em; margin-bottom:.7rem }
.step__body p{ color:var(--text-2); max-width:52ch; font-weight:300; margin-bottom:1rem }
.step__body ul{ display:flex; flex-wrap:wrap; gap:.5rem }
.step__body li{
  font-size:.76rem; color:var(--muted); padding:.4rem .85rem; border-radius:100px;
  border:1px solid var(--line); background:rgba(255,255,255,.03);
}

.about{
  padding-block:clamp(5rem,10vw,9rem); overflow:hidden;
  background:linear-gradient(180deg, rgba(8,10,17,0), rgba(8,10,17,.55) 22%, rgba(8,10,17,.55) 78%, rgba(8,10,17,0));
}
.about__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:center }
.about__media{ position:relative; perspective:1000px }
.about__frame{
  position:relative;
  aspect-ratio:4/7;
  border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--line-strong);
  background:linear-gradient(160deg,var(--surface-2),var(--bg));
  box-shadow:0 50px 110px -60px #000;
}
.about__frame img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 45%;
  filter:contrast(1.06) brightness(.97);
  transition:filter .8s var(--ease), transform 1.2s var(--ease);
  will-change:transform;
}
.about__frame:hover img{ filter:contrast(1.12) brightness(1.02); transform:scale(1.03) }
.about__frame img.is-missing{ display:none }

.about__frame::after{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(118% 78% at 50% 38%, transparent 46%, rgba(8,10,17,.5) 100%),
    linear-gradient(to top, rgba(8,10,17,.6) 0%, transparent 30%);
}

.about__placeholder{
  position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:.5rem;
  color:var(--muted); text-align:center; padding:2rem;
  background-image:
    radial-gradient(60% 50% at 50% 30%, var(--glow-soft), transparent 70%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 10px, transparent 10px 20px);
}
.about__placeholder[hidden]{ display:none }
.about__placeholder p{ font-size:.9rem; color:var(--text-2) }
.about__placeholder small{ font-size:.72rem; opacity:.6; font-family:ui-monospace,SFMono-Regular,Menlo,monospace }
.about__frame-glow{
  position:absolute; inset:auto -20% -30% -20%; height:60%;
  background:radial-gradient(60% 100% at 50% 100%, var(--glow-soft), transparent 70%);
  pointer-events:none;
}

.about__sheen{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(102deg,transparent 40%,rgba(172,155,255,.22) 50%,transparent 60%);
  background-size:260% 100%;
  animation:aboutSheen 8s var(--ease) infinite;
}
@keyframes aboutSheen{
  0%,78%{ background-position:190% 0 }
  100%{ background-position:-70% 0 }
}

.about__scan{
  position:absolute; left:0; right:0; top:0; height:2px; z-index:3; pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--accent-2),transparent);
  box-shadow:0 0 22px var(--glow); opacity:.55;
  animation:aboutScan 7s linear infinite;
}
@keyframes aboutScan{
  0%{ transform:translateY(0); opacity:0 }
  12%{ opacity:.6 }
  88%{ opacity:.6 }
  100%{ transform:translateY(var(--scan-h,560px)); opacity:0 }
}

.about__frame::before{
  content:''; position:absolute; inset:12px; z-index:4; pointer-events:none;
  border:1px solid rgba(172,155,255,.5); border-radius:calc(var(--radius) - 8px);
  opacity:0; transform:scale(1.02);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
@media (hover:hover){
  .about__frame:hover::before{ opacity:1; transform:scale(1) }
}

.flags{
  position:relative; margin-top:clamp(2.5rem,6vw,4rem);
  padding-block:1.1rem;
  border-block:1px solid var(--line);
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.flags__track{
  display:flex; align-items:center; gap:clamp(1.4rem,3vw,2.6rem); width:max-content;
  animation:marquee 58s linear infinite; will-change:transform;
}
@media (hover:hover){ .flags:hover .flags__track{ animation-play-state:paused } }
.flag{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.82rem; color:var(--muted); white-space:nowrap;
  transition:color .4s var(--ease);
}
.flag:hover{ color:var(--text) }
.flags__note{
  margin-top:1.2rem; font-size:.84rem; color:var(--muted);
  font-weight:300; text-align:center;
}

.f{
  position:relative; display:inline-block; flex:none;
  width:26px; height:18px; border-radius:3px; overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), 0 2px 8px rgba(0,0,0,.4);
}
.f--ar{ background:linear-gradient(#74ACDF 33.3%,#fff 33.3% 66.6%,#74ACDF 66.6%) }
.f--ar::after{ content:''; position:absolute; left:50%; top:50%; width:26%; aspect-ratio:1; translate:-50% -50%; border-radius:50%; background:#F6B40E }
.f--uy{ background:
  linear-gradient(#fff,#fff) 0 0/45% 55% no-repeat,
  repeating-linear-gradient(#fff 0 11.1%,#0038A8 11.1% 22.2%); }
.f--uy::after{ content:''; position:absolute; left:22%; top:27%; width:17%; aspect-ratio:1; translate:-50% -50%; border-radius:50%; background:#F6B40E }
.f--cl{ background:
  radial-gradient(circle at 17% 25%, #fff 0 12%, transparent 12%),
  linear-gradient(#0039A6,#0039A6) 0 0/35% 50% no-repeat,
  linear-gradient(#fff 50%,#D52B1E 50%); }
.f--py{ background:linear-gradient(#D52B1E 33.3%,#fff 33.3% 66.6%,#0038A8 66.6%) }
.f--bo{ background:linear-gradient(#D52B1E 33.3%,#F9E300 33.3% 66.6%,#007934 66.6%) }
.f--pe{ background:linear-gradient(90deg,#D91023 33.3%,#fff 33.3% 66.6%,#D91023 66.6%) }
.f--ec{ background:linear-gradient(#FFDD00 50%,#0033A0 50% 75%,#CE1126 75%) }
.f--co{ background:linear-gradient(#FCD116 50%,#003893 50% 75%,#CE1126 75%) }
.f--ve{ background:linear-gradient(#FFCE00 33.3%,#00247D 33.3% 66.6%,#CF142B 66.6%) }
.f--br{ background:#009B3A }
.f--br::before{ content:''; position:absolute; inset:14% 7%; background:#FEDF00; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) }
.f--br::after{ content:''; position:absolute; left:50%; top:50%; width:34%; aspect-ratio:1; translate:-50% -50%; border-radius:50%; background:#002776 }
.f--mx{ background:linear-gradient(90deg,#006847 33.3%,#fff 33.3% 66.6%,#CE1126 66.6%) }
.f--gt{ background:linear-gradient(90deg,#4997D0 33.3%,#fff 33.3% 66.6%,#4997D0 66.6%) }
.f--sv{ background:linear-gradient(#0F47AF 33.3%,#fff 33.3% 66.6%,#0F47AF 66.6%) }
.f--hn{ background:linear-gradient(#0073CF 33.3%,#fff 33.3% 66.6%,#0073CF 66.6%) }
.f--ni{ background:linear-gradient(#0067C6 33.3%,#fff 33.3% 66.6%,#0067C6 66.6%) }
.f--cr{ background:linear-gradient(#0033A0 0 17%,#fff 17% 33%,#CE1126 33% 67%,#fff 67% 83%,#0033A0 83%) }
.f--pa{ background:
  linear-gradient(90deg,#fff 50%,#DA121A 50%) 0 0/100% 50% no-repeat,
  linear-gradient(90deg,#0073CE 50%,#fff 50%) 0 100%/100% 50% no-repeat; }
.f--do{ background:
  linear-gradient(#fff,#fff) 50% 0/17% 100% no-repeat,
  linear-gradient(#fff,#fff) 0 50%/100% 22% no-repeat,
  linear-gradient(90deg,#002D62 50%,#CE1126 50%) 0 0/100% 50% no-repeat,
  linear-gradient(90deg,#CE1126 50%,#002D62 50%) 0 100%/100% 50% no-repeat; }
.f--es{ background:linear-gradient(#AA151B 25%,#F1BF00 25% 75%,#AA151B 75%) }
.about__badge{
  position:absolute; right:-.5rem; bottom:1.6rem;
  background:rgba(8,10,17,.8); backdrop-filter:blur(10px);
  border:1px solid var(--line-strong); border-radius:100px;
  padding:.55rem 1.1rem; font-size:.74rem; letter-spacing:.06em; color:var(--text-2);
}

.about__text p{ color:var(--text-2); font-weight:300; margin-bottom:1.1rem; max-width:56ch }
.about__text p em{ font-family:var(--serif); font-style:italic; color:var(--text); font-size:1.08em }
.about__text p strong{ color:var(--accent-2); font-weight:500 }

.fw{ display:inline-block }
.about__meta{
  display:flex; flex-wrap:wrap; gap:clamp(1.5rem,4vw,3rem);
  margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line);
}
.about__meta b{ display:block; font-size:1.5rem; font-weight:600; letter-spacing:-.03em; color:var(--accent-2) }
.about__meta span{ font-size:.76rem; color:var(--muted) }

@media (max-width:860px){
  .about__grid{ grid-template-columns:1fr }
  .about__frame{ max-width:420px }
  .about__badge{ right:auto; left:1rem }
}

.soon{ position:relative; padding-block:clamp(4.5rem,9vw,8rem) }

.soon__cards{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem; margin-block:clamp(2.5rem,6vw,4rem) 2rem;
}
@media (max-width:860px){
  .soon__cards{
    grid-template-columns:minmax(0,1fr);
    max-width:32rem; margin-inline:auto;
  }
}

.soon__card{
  position:relative; padding:clamp(1.4rem,3vw,2rem);
  border-radius:var(--radius); border:1px solid var(--line);
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  backdrop-filter:blur(8px);
  transition:scale .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
  will-change:transform; overflow:hidden;
  animation:soonFloat 7.5s ease-in-out infinite;
}
.soon__card:nth-child(2){ animation-delay:-2.5s }
.soon__card:nth-child(3){ animation-delay:-5s }
@keyframes soonFloat{
  0%,100%{ translate:0 0 }
  50%    { translate:0 -7px }
}

.soon__card::before{
  content:''; position:absolute; z-index:1; inset:0 0 auto 0; height:2px;
  background:linear-gradient(90deg,transparent,var(--accent-2) 45% 55%,transparent);
  background-size:45% 100%; background-repeat:no-repeat;
  animation:soonEdge 5.5s var(--ease) infinite;
}
.soon__card:nth-child(2)::before{ animation-delay:1.1s }
.soon__card:nth-child(3)::before{ animation-delay:2.2s }
@keyframes soonEdge{
  0%      { background-position:-60% 0 }
  60%,100%{ background-position:160% 0 }
}
.soon__card::after{
  content:''; position:absolute; width:280px; height:280px; border-radius:50%;
  left:var(--mx,50%); top:var(--my,50%); translate:-50% -50%;
  background:radial-gradient(circle,var(--glow-soft),transparent 62%);
  opacity:0; transition:opacity .5s; pointer-events:none;
}
.soon__card:hover{ scale:1.025; border-color:rgba(124,92,255,.36); box-shadow:0 26px 60px -34px var(--glow) }
.soon__card:hover::after{ opacity:1 }

.soon__chip{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent-2); border:1px solid rgba(124,92,255,.36);
  background:rgba(124,92,255,.08); padding:.3rem .7rem; border-radius:100px; margin-bottom:1rem;
}

.soon__chip i{
  position:relative; width:6px; height:6px; border-radius:50%; flex:none;
  background:var(--accent-2); box-shadow:0 0 10px var(--glow);
}
.soon__chip i::after{
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:1px solid var(--accent-2);
  animation:headPing 2.4s var(--ease) infinite;
}
.soon__card:nth-child(2) .soon__chip i::after{ animation-delay:.8s }
.soon__card:nth-child(3) .soon__chip i::after{ animation-delay:1.6s }
.soon__card h4{ font-size:1.2rem; font-weight:600; letter-spacing:-.03em; margin-bottom:.6rem }
.soon__card p{ font-size:.9rem; color:var(--muted); font-weight:300; line-height:1.6 }
.soon__foot{ color:var(--text-2); font-size:.95rem; font-weight:300; max-width:46ch }

.soon__cta{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(1rem,2.5vw,2rem); margin-top:clamp(2rem,4vw,3rem);
}
.soon__cta .btn{ flex:none }

.prueba{ position:relative; z-index:2; padding-block:clamp(1.6rem,3.5vw,2.6rem) }
.prueba__fila{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:clamp(1.2rem,4vw,3.4rem);
  padding-block:1.3rem;
  border-block:1px solid var(--line);
}
.prueba__item{
  display:flex; flex-direction:column; align-items:center; gap:.15rem;
  text-align:center; min-width:88px;
  transition:transform .45s var(--ease);
}
a.prueba__item:hover{ transform:translateY(-3px) }
.prueba__item b{
  font-size:clamp(1.1rem,2.4vw,1.55rem); font-weight:600;
  letter-spacing:-.03em; color:var(--text);
  text-shadow:var(--sh-depth);
}
a.prueba__item:hover b{ color:var(--accent-2); text-shadow:var(--sh-hover), var(--sh-depth) }
.prueba__item span{ font-size:.72rem; color:var(--muted); letter-spacing:.02em; max-width:15ch }
@media (max-width:560px){
  .prueba__fila{ gap:1rem 1.4rem }
  .prueba__item{ min-width:76px }
  .prueba__item span{ font-size:.64rem }
}

.simple{ position:relative; z-index:2; padding-block:clamp(3.5rem,8vw,6.5rem) }
.simple__h{ max-width:18ch; margin-bottom:clamp(2.2rem,5vw,3.4rem) }

.simple__h--bajada{ margin-bottom:clamp(.7rem,1.6vw,1rem) }
.simple__lead{ max-width:56ch; margin-bottom:clamp(2.2rem,5vw,3.4rem) }

.simple__pasos{
  list-style:none; display:grid; gap:clamp(1.8rem,4vw,3rem);
  grid-template-columns:repeat(3,1fr);
  perspective:1200px; perspective-origin:50% 34%;
}
@media (max-width:860px){ .simple__pasos{ grid-template-columns:1fr; gap:2.2rem } }

.simple__paso{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(1.5rem,3vw,2rem) clamp(1.35rem,2.7vw,1.8rem);
  border-radius:var(--radius);
  border:1px solid rgba(124,92,255,.20);
  background:linear-gradient(158deg,
    rgba(124,92,255,.155) 0%,
    rgba(124,92,255,.055) 52%,
    rgba(124,92,255,.02) 100%);
  backdrop-filter:blur(9px);
  transition:border-color .7s var(--ease), box-shadow .7s var(--ease);
}

.simple__paso::before{
  content:''; position:absolute; z-index:-1; inset:-45% -25% auto -25%; height:140%;
  background:radial-gradient(46% 46% at 20% 14%, rgba(124,92,255,.42), transparent 72%);
  opacity:0; transition:opacity .9s var(--ease); pointer-events:none;
}
.simple__paso.is-on{ border-color:rgba(124,92,255,.42) }
.simple__paso.is-on::before{ opacity:1 }

.simple__num{
  display:block; font-size:clamp(2.6rem,5.4vw,3.6rem); line-height:1;
  font-weight:700; letter-spacing:-.055em; margin-bottom:.45rem;
  background-image:linear-gradient(152deg,#F0EBFF,#A78BFF 44%,#6B4BE0);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 8px 22px rgba(124,92,255,.34));
}
.simple__paso b{
  display:block; font-size:clamp(1.05rem,2.2vw,1.3rem); font-weight:500;
  letter-spacing:-.02em; color:var(--text); margin-bottom:.6rem;
}

.simple__paso p{
  font-size:clamp(.95rem,1.7vw,1.06rem); line-height:1.65;
  color:var(--text-2); font-weight:300; max-width:38ch;
}

.simple__cierre{
  margin-top:clamp(2.4rem,5vw,3.6rem); padding-top:1.4rem;
  border-top:1px solid var(--line);
  font-size:clamp(.95rem,1.9vw,1.12rem); line-height:1.7;
  color:var(--text-2); font-weight:300;
}
.simple__cierre b{ color:var(--text); font-weight:500 }
.simple__cierre a{
  margin-left:1.1rem; white-space:nowrap;
  color:var(--accent-2); border-bottom:1px solid currentColor;
  padding-bottom:1px; transition:opacity .3s var(--ease);
}
.simple__cierre a:hover{ opacity:.7 }

.casos{ position:relative; padding-block:clamp(4.5rem,10vw,8rem) }
.casos .lead{ margin-bottom:clamp(2.2rem,5vw,3.4rem) }
.casos .lead em{ font-family:var(--serif); font-style:italic; color:var(--text) }

.casos__grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(1rem,2.4vw,1.8rem);
}
@media (max-width:820px){ .casos__grid{ grid-template-columns:1fr } }

.caso{
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  backdrop-filter:blur(10px);
  transition:transform .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease);
  will-change:transform;
}
.caso:hover{
  transform:translateY(-6px);
  border-color:var(--caso, var(--accent));
  box-shadow:0 30px 70px -40px var(--caso, var(--glow));
}
.caso__foto{ position:relative; overflow:hidden; background:var(--surface) }
.caso__foto img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  transition:transform .9s var(--ease), filter .9s var(--ease);
  filter:saturate(.9);
}

.caso:hover .caso__foto img{ filter:saturate(1.12) brightness(1.03) }

.caso__video{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .5s var(--ease);
  pointer-events:none; filter:saturate(.9);
}
.caso__video.is-on{ opacity:1 }

@media (prefers-reduced-motion:reduce){
  .caso__video{ transition:none }
}

.caso__foto::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, var(--caso, var(--accent)));
  opacity:.28; transition:opacity .6s var(--ease); mix-blend-mode:multiply;
}
.caso:hover .caso__foto::after{ opacity:.12 }

.caso__txt{ padding:clamp(1.2rem,2.4vw,1.7rem); display:flex; flex-direction:column; gap:.5rem; flex:1 }
.caso__rubro{
  font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--caso, var(--accent-2)); font-weight:500;
}
.caso__txt h4{ font-size:1.22rem; font-weight:600; letter-spacing:-.025em }

.caso__txt p{ font-size:.92rem; color:var(--text-2); font-weight:300; line-height:1.6 }
.caso__txt p em{ font-family:var(--serif); font-style:italic; color:var(--text) }
.caso__link{
  margin-top:auto; padding-top:.7rem;
  font-size:.85rem; font-weight:500; color:var(--text);
  display:inline-flex; align-items:center; gap:.4rem;
}
.caso__link i{ font-style:normal; transition:transform .45s var(--ease); color:var(--caso, var(--accent-2)) }
.caso:hover .caso__link i{ transform:translate(3px,-3px) }

.casos__nota{ margin-top:clamp(1.6rem,3vw,2.2rem); font-size:.8rem; color:var(--muted); max-width:60ch }

.benef{ position:relative; padding-block:clamp(3.5rem,8vw,6rem) }
.benef__grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(1.2rem,2.6vw,2rem);
  margin-top:clamp(2rem,4vw,3rem);

}
@media (max-width:860px){ .benef__grid{ grid-template-columns:1fr } }

.benef__caja{
  padding:clamp(1.5rem,3vw,2.2rem);
  border:1px solid var(--line); border-radius:var(--radius);

  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  backdrop-filter:blur(10px);
  transition:border-color .5s var(--ease), transform .5s var(--ease);
}
@media (hover:hover){
  .benef__caja:hover{ border-color:rgba(124,92,255,.4); transform:translateY(-3px) }
}

.benef__quien{
  display:block; margin-bottom:1.3rem; padding-bottom:.9rem;
  border-bottom:1px solid var(--line);
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-2); font-weight:500;
}

.benef__lista{ display:flex; flex-direction:column; gap:.95rem }

.benef__lista li{
  position:relative; padding-left:2rem;
  font-size:1rem; line-height:1.6; font-weight:300; color:var(--text-2);
}

.benef__lista li::before{
  content:'✓'; position:absolute; left:0; top:.05em;
  display:grid; place-items:center;
  width:1.35rem; height:1.35rem; border-radius:50%;
  background:rgba(124,92,255,.16); border:1px solid rgba(124,92,255,.4);
  color:var(--accent-2); font-size:.72rem; font-weight:700;
}

.plan{ position:relative; padding-block:clamp(4.5rem,10vw,8rem) }
.plan__grid{
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:clamp(2rem,5vw,4.5rem); align-items:start;
  margin-top:clamp(2rem,4vw,3rem);
}
@media (max-width:900px){ .plan__grid{ grid-template-columns:1fr } }

.plan__caja{
  position:sticky; top:calc(var(--header-h) + 20px);
  padding:clamp(1.6rem,3.4vw,2.4rem);
  border:1px solid var(--line-strong); border-radius:var(--radius);
  background:linear-gradient(165deg,rgba(124,92,255,.10),rgba(255,255,255,.02));
  backdrop-filter:blur(12px);
  box-shadow:0 40px 90px -60px #000;
}
@media (max-width:900px){ .plan__caja{ position:static } }

.plan__tags{
  display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.1rem;
}

.plan__tag{
  display:inline-block; padding:.35rem .8rem; border-radius:100px;
  font-size:.66rem; letter-spacing:.1em; text-transform:uppercase;
  white-space:nowrap;
  background:var(--accent); color:#fff; border:1px solid var(--accent);
  box-shadow:0 4px 18px -6px var(--glow);
}

.plan__cifra{
  font-size:clamp(1.9rem,3.6vw,2.6rem); font-weight:600;
  letter-spacing:-.035em; line-height:1.06;
  text-shadow:var(--sh-depth);
}
.plan__cifra i{
  font-family:var(--serif); font-style:italic; font-weight:400;
  letter-spacing:-.01em; color:var(--accent-2);
}
.plan__nota{ font-size:.86rem; color:var(--text-2); margin:.6rem 0 .7rem }

.plan__promo{
  font-size:.78rem; color:var(--text-2); font-weight:300;
  margin-bottom:1.5rem; padding-left:.7rem;
  border-left:2px solid var(--accent);
}
.plan__promo b{ color:var(--text); font-weight:600 }

.plan__lista{ display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.2rem }
.plan__lista li{ display:flex; gap:.6rem; align-items:flex-start; font-size:.92rem; color:var(--text-2); font-weight:300 }
.plan__lista li::before{ content:'✓'; color:var(--accent-2); flex:none; font-weight:600 }
.plan__lista li b{ color:var(--text); font-weight:600 }
.plan__lista--no li{ color:var(--muted) }
.plan__lista--no li::before{ content:'+'; color:var(--muted) }
.plan__pie{ font-size:.72rem; color:var(--muted); margin-top:1rem; text-align:center; line-height:1.6 }

.faq details{ border-bottom:1px solid var(--line); padding-block:1.15rem }
.faq summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  cursor:pointer; list-style:none;
  font-size:1rem; font-weight:500; letter-spacing:-.015em;
  transition:color .3s;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{
  content:'+'; flex:none; font-size:1.4rem; line-height:1;
  color:var(--accent-2); transition:transform .4s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(45deg) }
.faq summary:hover{ color:var(--accent-2) }
.faq details p{
  margin-top:.75rem; color:var(--text-2); font-size:.93rem;
  font-weight:300; line-height:1.7; max-width:64ch;
}

.glosario{
  position:relative; z-index:2;
  padding-block:clamp(4rem,9vw,7rem);
  border-top:1px solid var(--line);
  background:rgba(8,10,17,.55);
}
.glosario__h{ max-width:16ch }
.glosario__lead{ margin-top:1rem; max-width:52ch }

.glosario__lista{
  margin-top:clamp(2.2rem,5vw,3.4rem);
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(1.4rem,3vw,2.4rem) clamp(2rem,5vw,4rem);
}
@media (max-width:760px){ .glosario__lista{ grid-template-columns:1fr } }

.glosario__item{
  padding-top:1.1rem;
  border-top:1px solid var(--line);
  transition:border-color .4s var(--ease);
}
@media (hover:hover){
  .glosario__item:hover{ border-top-color:var(--accent) }
}
.glosario__item dt{
  font-size:1.02rem; font-weight:600; letter-spacing:-.02em;
  margin-bottom:.5rem;
}
.glosario__item dd{
  font-size:.9rem; line-height:1.7; font-weight:300;
  color:var(--text-2); margin:0;
}
.glosario__item dd em{ color:var(--accent-2); font-style:normal }

.glosario__cierre{
  margin-top:clamp(2.2rem,4vw,3rem);
  font-size:.92rem; color:var(--muted); font-weight:300;
}
.glosario__cierre a{ color:var(--accent-2); text-decoration:underline; text-underline-offset:.22em }

.contact{
  position:relative; overflow:hidden;
  padding-top:clamp(5rem,10vw,9rem);
  background:linear-gradient(180deg, rgba(8,10,17,0), rgba(8,10,17,.72) 26%, rgba(8,10,17,.92) 100%);
}
.contact__grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,6vw,6rem); align-items:start;
  padding-bottom:clamp(4rem,8vw,7rem);
}
.contact__list{ margin-top:2.4rem; display:flex; flex-direction:column; gap:1rem }
.contact__list li{ display:flex; align-items:center; gap:.8rem; color:var(--text-2); font-size:.92rem }
.contact__list svg{ color:var(--accent-2); flex:none }
.contact__list a{ transition:color .3s }
.contact__list a:hover{ color:var(--accent-2) }

.form{
  padding:clamp(1.5rem,3.5vw,2.6rem); border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  backdrop-filter:blur(12px);
  box-shadow:0 40px 90px -60px #000;
}
.form__hp{ position:absolute; left:-9999px; opacity:0; pointer-events:none }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem }
@media (max-width:560px){ .form__row{ grid-template-columns:1fr } }

.field{ position:relative; margin-bottom:1rem }
.field input,.field select,.field textarea{
  width:100%; padding:1.35rem 1rem .6rem;
  background:rgba(8,10,17,.45); border:1px solid var(--line); border-radius:12px;
  font-size:.92rem; appearance:none;
  transition:border-color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease);
}
.field textarea{ resize:vertical; min-height:120px; padding-top:1.6rem }
.field select{
  padding-top:1.35rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238D96AC' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; background-size:12px; cursor:pointer;
}
.field select option{ background:var(--surface); color:var(--text) }

.field label{
  position:absolute; left:1rem; top:1.05rem;
  font-size:.92rem; color:var(--muted); pointer-events:none;
  transition:transform .3s var(--ease), font-size .3s var(--ease), color .3s var(--ease);
  transform-origin:0 50%;
}
.field label em{ font-style:normal; opacity:.6; font-size:.85em }
.field label.label--static,
.field input:focus + label,
.field input:not(:placeholder-shown) + label,
.field textarea:focus + label,
.field textarea:not(:placeholder-shown) + label,
.field select:focus + label,
.field select:valid + label{
  transform:translateY(-.72rem) scale(.76); color:var(--accent-2);
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none; border-color:var(--accent);
  background:rgba(124,92,255,.08); box-shadow:0 0 0 3px rgba(124,92,255,.12);
}
.field.has-error input,.field.has-error textarea,.field.has-error select{
  border-color:#ff6b81; box-shadow:0 0 0 3px rgba(255,107,129,.12);
}

.form__note{ font-size:.72rem; color:var(--muted); margin-top:1rem; line-height:1.5 }
.form__status{ font-size:.86rem; margin-top:.9rem; min-height:1.2em }
.form__status.is-ok{ color:var(--accent-2) }
.form__status.is-err{ color:#ff8b9c }

.form__rescate{
  display:inline-block; color:#fff; font-weight:600;
  text-decoration:underline; text-underline-offset:3px;
}
.form__rescate:hover{ color:var(--accent-2) }

@media (max-width:860px){ .contact__grid{ grid-template-columns:1fr } }

.footer{ position:relative; z-index:2; border-top:1px solid var(--line); padding-block:2.5rem 6rem }
.footer__inner{ display:flex; flex-direction:column; gap:.4rem; align-items:center; text-align:center }
.footer__brand{
  display:flex; align-items:center; gap:.6rem;
  font-size:1.05rem; font-weight:600; letter-spacing:-.02em; margin-bottom:.25rem;
}
.footer__brand svg{ color:var(--accent-2) }
.footer__brand em{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--accent-2) }
.footer__inner p{ font-size:.85rem; color:var(--text-2) }
.footer__inner small{ font-size:.72rem; color:var(--muted) }

.footer__legal{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; justify-content:center;
  margin-top:.5rem; font-size:.75rem; color:var(--muted);
}
.footer__legal a{ color:var(--muted); text-decoration:none; border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease) }

.footer__mark{
  width:clamp(40px,4.6vw,56px); aspect-ratio:107/100;
  perspective:300px; flex:none;
}
.fm__cubo{
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  animation:fmGiraY 7s cubic-bezier(.42,0,.58,1) infinite;
}
.fm__eje{
  position:absolute; inset:0;
  transform-style:preserve-3d;
  animation:fmGiraX 11s cubic-bezier(.42,0,.58,1) infinite;
}

.fm__capa{
  position:absolute; inset:0; color:var(--c);
  transform:translateZ(calc(var(--i) * -3.4px));
}
.fm__capa svg{ width:100%; height:100%; display:block }

.fm__capa[style*="--i:0"]{ filter:drop-shadow(0 0 10px rgba(172,155,255,.55)) }
@keyframes fmGiraY{
  0%,100%{ transform:rotateY(-36deg) }
  50%    { transform:rotateY( 36deg) }
}
@keyframes fmGiraX{
  0%,100%{ transform:rotateX( 13deg) }
  50%    { transform:rotateX(-11deg) }
}
@media (hover:hover){
  .footer__brand:hover .fm__cubo{ animation-duration:2.6s }
  .footer__brand:hover .fm__eje{  animation-duration:4.1s }
}

.hlogo{
  width:26px; aspect-ratio:107/100; flex:none;
  perspective:150px; display:block;
}
.hlogo__cubo{
  position:relative; display:block; width:100%; height:100%;
  transform-style:preserve-3d;
  animation:hlGiraY 12s cubic-bezier(.42,0,.58,1) infinite;
}
.hlogo__eje{
  position:absolute; inset:0;
  transform-style:preserve-3d;
  animation:hlGiraX 17s cubic-bezier(.42,0,.58,1) infinite;
}
.hlogo__capa{
  position:absolute; inset:0; color:var(--c);
  transform:translateZ(calc(var(--i) * -1.7px));
}
.hlogo__capa svg{ width:100%; height:100%; display:block }
.hlogo__capa[style*="--i:0"]{ filter:drop-shadow(0 0 7px rgba(172,155,255,.5)) }
@keyframes hlGiraY{
  0%,100%{ transform:rotateY(-19deg) }
  50%    { transform:rotateY( 19deg) }
}
@keyframes hlGiraX{
  0%,100%{ transform:rotateX(  8deg) }
  50%    { transform:rotateX( -7deg) }
}
@media (hover:hover){
  .header__logo:hover .hlogo__cubo{ animation-duration:3.2s }
  .header__logo:hover .hlogo__eje{  animation-duration:4.7s }
}

.footer__social{ display:flex; gap:.6rem; margin:.7rem 0 .3rem }
.footer__social a{
  display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  color:var(--muted); border:1px solid var(--line); background:rgba(255,255,255,.02);
  transition:color .35s var(--ease), border-color .35s var(--ease),
             background .35s var(--ease), transform .35s var(--ease),
             box-shadow .35s var(--ease);
}
.footer__social svg{
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}
.footer__social a:hover,.footer__social a:focus-visible{
  color:var(--text); border-color:rgba(124,92,255,.55);
  background:rgba(124,92,255,.14); transform:translateY(-3px);
  box-shadow:0 10px 22px -12px var(--accent);
}
.footer__legal a:hover,.footer__legal a:focus-visible{ color:var(--text-2); border-bottom-color:var(--accent) }

.doc{ position:relative; z-index:2; padding-block:calc(var(--header-h) + 3rem) 5rem }
.doc__inner{ max-width:72ch; margin-inline:auto }
.doc__volver{
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:2.5rem;
  font-size:.85rem; color:var(--muted); text-decoration:none;
  transition:color .3s var(--ease);
}
.doc__volver:hover,.doc__volver:focus-visible{ color:var(--accent-2) }
.doc h1{
  font-family:var(--serif); font-weight:400; letter-spacing:-.02em; line-height:1.05;
  font-size:clamp(2.1rem,5vw,3.4rem); margin-bottom:.6rem;
}
.doc h1 em{ font-style:italic; color:var(--accent-2) }
.doc__fecha{ font-size:.8rem; color:var(--muted); margin-bottom:3.5rem }
.doc section{ margin-bottom:3.5rem; scroll-margin-top:calc(var(--header-h) + 1.5rem) }
.doc h2{
  font-size:clamp(1.35rem,2.6vw,1.9rem); font-weight:600; letter-spacing:-.03em;
  margin-bottom:1.4rem; padding-bottom:.8rem; border-bottom:1px solid var(--line);
}
.doc h3{ font-size:1.02rem; font-weight:600; margin:2rem 0 .6rem; color:var(--text) }
.doc p,.doc li{ color:var(--text-2); font-weight:300; line-height:1.75; font-size:.95rem }
.doc p+p{ margin-top:.9rem }
.doc ul{ margin:.9rem 0 0 1.1rem; display:grid; gap:.6rem }
.doc li::marker{ color:var(--accent) }
.doc a{ color:var(--accent-2); text-decoration:none; border-bottom:1px solid rgba(124,92,255,.4) }
.doc a:hover,.doc a:focus-visible{ border-bottom-color:var(--accent-2) }
.doc strong{ color:var(--text); font-weight:500 }
.doc__nota{
  margin-top:1.4rem; padding:1rem 1.2rem; border-radius:14px;
  border:1px solid var(--line-strong); background:rgba(124,92,255,.07);
  font-size:.88rem;
}

.wa{
  position:fixed; right:clamp(1rem,2.5vw,2rem); bottom:clamp(1rem,2.5vw,2rem);
  z-index:850; display:flex; align-items:center; gap:.6rem;
  height:58px; padding-inline:16px; border-radius:100px;
  background:#1FAE54; color:#fff;
  box-shadow:0 14px 38px -12px rgba(31,174,84,.6), 0 0 0 1px rgba(255,255,255,.08) inset;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .5s var(--ease);
  will-change:transform;
  opacity:0; transform:translateY(20px) scale(.85); pointer-events:none;
}
.wa.is-visible{ opacity:1; transform:none; pointer-events:auto }
.wa:hover{ transform:translateY(-3px); box-shadow:0 20px 48px -14px rgba(31,174,84,.75) }
.wa__label{
  font-size:.88rem; font-weight:500; white-space:nowrap;
  max-width:0; overflow:hidden; opacity:0;
  transition:max-width .5s var(--ease), opacity .4s var(--ease);
}
.wa:hover .wa__label{ max-width:120px; opacity:1 }
.wa__pulse{
  position:absolute; inset:0; border-radius:100px;
  border:1px solid rgba(31,174,84,.7);
  animation:waPulse 2.8s var(--ease) infinite; pointer-events:none;
}
@keyframes waPulse{
  0%{ transform:scale(1); opacity:.8 }
  70%{ transform:scale(1.35); opacity:0 }
  100%{ opacity:0 }
}
@media (max-width:640px){
  .wa{ height:54px; padding-inline:14px }
  .wa__label{ display:none }
}

.js .reveal-up{ opacity:0; transform:translateY(26px) }
.js .lcard{ opacity:0 }
.js .simple__paso{ opacity:0 }

.no-gsap .reveal-up,
.no-gsap .lcard,
.no-gsap .simple__paso,
.no-gsap .rubros__h .h-word,
.no-gsap .assemble .as-ch,
.no-gsap .hero__title .w{ opacity:1 !important; transform:none !important }
.no-gsap .rubros__regla{ transform:none }
.no-gsap .intro{ display:none }
.no-gsap .wa{ opacity:1; transform:none; pointer-events:auto }
.no-gsap .compare{ height:auto }
.no-gsap .compare__sticky{ position:relative; height:auto }
.no-gsap .compare__stage{ --wipe:50% }

:root{
  --grano-op:  .045;

  --vineta: radial-gradient(100% 88% at 50% 45%, transparent 62%, rgba(0,0,0,.45) 100%);
}

.grano,.vineta{ position:fixed; pointer-events:none }

.grano{

  inset:-140px; z-index:940;
  opacity:var(--grano-op);
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='r'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E");
  animation:granear 1.1s steps(1,end) infinite;
  will-change:transform;
}
@keyframes granear{
  0%   { transform:translate3d(0,0,0) }
  12%  { transform:translate3d(-3%,-5%,0) }
  25%  { transform:translate3d(-8%,2%,0) }
  37%  { transform:translate3d(4%,-3%,0) }
  50%  { transform:translate3d(-2%,6%,0) }
  62%  { transform:translate3d(6%,4%,0) }
  75%  { transform:translate3d(-6%,-2%,0) }
  87%  { transform:translate3d(2%,5%,0) }
  100% { transform:translate3d(0,0,0) }
}

.vineta{ inset:0; z-index:939; background:var(--vineta) }

@media (max-width:760px){
  :root{ --grano-op:.035 }
}

.tier-low .grano{ display:none }

@media (prefers-reduced-motion:reduce){
  .grano{ animation:none }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .js .reveal-up,.js .lcard,.js .simple__paso{ opacity:1 !important; transform:none !important }
  .hero__scroll-hint i{ animation:none }

  .lcard__gira{ transform:none !important }
  .lcard__cara{ backface-visibility:visible; -webkit-backface-visibility:visible }
  .lcard__dorso{ transform:none; opacity:0; pointer-events:none }
  .lcard:hover .lcard__dorso,.lcard.is-vuelta .lcard__dorso,.lcard.is-auto .lcard__dorso{ opacity:1 }
  .lcard:hover .lcard__frente,.lcard.is-vuelta .lcard__frente,.lcard.is-auto .lcard__frente{ opacity:0 }
  .rubros__regla{ transform:none }
  .rubros__h .h-word{ opacity:1 !important; transform:none !important }
  .compare{ height:auto }
  .compare__sticky{ position:relative; height:auto }
  .compare__stage{ --wipe:50% }
  .bg{ display:none }
  .bg-static{ display:block; animation:none }

  .wall__track,.flags__track,.marquee__track{ animation:none }
  .wall__inner{ transform:none }
  .wall{ overflow-x:auto }
  .about__sheen,.about__scan,.newsite__scan{ display:none }
  .swap{ min-height:0 }
  .swap i{ position:static; opacity:0 }
  .swap i.is-on{ opacity:1 }
  .fill-text .ch{ color:var(--text) }
  p.fill-text .ch{ color:var(--text-2) }
  .assemble .as-ch{ opacity:1 !important; transform:none !important }

  .lava .lv{ opacity:1 !important; transform:none !important }
  .hero__title::before,.h2::before,.rubros__punch::before{ animation:none !important }
  .btn--beat,.newsite__cta,.newsite__cta::before,.newsite__navcta,
  .headstart,.headstart::before,.headstart__tag i::after,
  .newsite__grid,.newsite__brand i,.newsite__kicker i,.newsite__h1 em,
  .newsite__stars,.newsite__spark polyline,.newsite__ring,.newsite__card,
  .newsite__panel,.newsite__panel-btn,
  .compare__tag--new,.compare__tag--new i::after,
  .soon__card,.soon__card::before,.soon__chip i::after{ animation:none }

  .compare__tag--new{ box-shadow:0 6px 22px -8px rgba(124,92,255,.7) }

  .newsite__spark polyline{ stroke-dashoffset:0 }

  .globo{ animation:none }
  .globo__inflar{ transform:scale(1) }
  .lava{ animation:none }
  .rubros__punch::before{ animation:none }
  .fm__cubo{ animation:none; transform:rotateY(-16deg) }
  .fm__eje{  animation:none; transform:rotateX(5deg) }
  .hlogo__cubo{ animation:none; transform:rotateY(-14deg) }
  .hlogo__eje{  animation:none; transform:rotateX(4deg) }
  .compare__hud,.compare__sweep,.compare__morph{ display:none }
  .headstart::before{ background:rgba(124,92,255,.4) }
}

.no-js .loader{ display:none }
.no-js .wa{ opacity:1; transform:none; pointer-events:auto }

.reflejo{
  --rf-1: #C9BCFF;
  --rf-2: #8E72FF;
  --rf-3: #C9BCFF;
  --rf-luz: 7s;
}

.reflejo .rf-w{ display:inline-block; white-space:nowrap }
.reflejo .rf-ch{
  display:inline-block;
  background-image:linear-gradient(100deg,
    var(--rf-1) 0 38%, var(--rf-2) 50%, var(--rf-3) 62% 100%);
  background-size:300% 100%;
  background-position:118% 0;
  -webkit-background-clip:text; background-clip:text;
  color:transparent;

  animation:rfLuz var(--rf-luz) cubic-bezier(.5,.06,.42,.96) infinite;
  animation-play-state:paused;
}
.reflejo.is-viendo .rf-ch{ animation-play-state:running }

@keyframes rfLuz{
  0%          { background-position:-18% 0 }
  32%, 100%   { background-position:118% 0 }
}

.reflejo em{
  --rf-1: var(--accent-2);
  --rf-2: var(--text);
  --rf-3: var(--accent-2);
}

@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .reflejo .rf-ch,
  .reflejo em{ background:none; color:var(--text); -webkit-text-fill-color:currentColor; animation:none }
}
.no-gsap .reflejo .rf-ch,
.no-gsap .reflejo em{ background:none; color:var(--text); -webkit-text-fill-color:currentColor; animation:none }
@media (prefers-reduced-motion:reduce){
  .reflejo .rf-ch,
  .reflejo em{ animation:none; background:none; color:var(--text); -webkit-text-fill-color:currentColor }
}

@media (max-width:860px){

  .btn--ghost, .header.is-stuck, .compare__tag, .newsite__panel,
  .costo__cuadro, .legacy__punch em, .step__num span, .about__badge,
  .soon__card, .simple__paso, .caso, .benef__caja, .plan__caja, .form{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .header.is-stuck{ background:rgba(8,10,17,.94) }
  .about__badge   { background:rgba(8,10,17,.95) }
  .step__num span { background:rgba(8,10,17,.92) }
  .btn--ghost     { background:rgba(8,10,17,.58) }

  .simple__paso{
    background:linear-gradient(158deg,
      rgba(124,92,255,.26) 0%,
      rgba(30,22,64,.55) 52%,
      rgba(20,16,44,.42) 100%);
  }

  .globo-quieto .globo-wrap{
    overflow:hidden;
    background:var(--bg);
  }
  .globo-foto{
    position:absolute; top:0; left:50%;
    width:100vw; height:auto; max-width:none;
    transform:translateX(-50%);
    pointer-events:none; user-select:none;
  }

  .globo-quieto .bg-static{ display:none }

  .reflejo .rf-ch{
    animation-iteration-count:1;
    animation-fill-mode:forwards;
  }

  .fuera-de-vista, .fuera-de-vista *{
    animation-play-state:paused !important;
  }

  .grano{ animation:none }

  .hlogo__cubo, .hlogo__eje{ animation:none }

  .wall__hint{ display:none }

  .assemble .as-ch,
  .hero__title .w,
  .btn,
  .ff-layer,
  .newsite__card,
  .lcard,
  .caso,
  .benef__caja{
    will-change:auto;
  }

  .compare__handle{ will-change:auto }

  .newsite__orb{ animation:none }
}

section[id]{ scroll-margin-top:calc(var(--header-h) + 1.2rem) }

h1, h2, h3,
.h1, .h2, .h3,
.eyebrow, .volanta{ text-wrap:balance }

.assemble, .split-lines, .lectura, .flow-in{ text-wrap:initial }

.glosario__caja{ margin-top:clamp(1.6rem,3vw,2.4rem) }
.glosario__caja > summary{
  display:inline-flex; align-items:center; gap:.7rem;
  cursor:pointer; list-style:none;
  font-family:var(--font); font-size:.98rem; letter-spacing:.02em;
  color:var(--accent-2);
  padding:.85rem 1.4rem;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  transition:border-color .25s ease, transform .25s ease;
}
.glosario__caja > summary::-webkit-details-marker{ display:none }
.glosario__caja > summary::after{
  content:''; width:.5rem; height:.5rem;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .3s ease;
}
.glosario__caja[open] > summary::after{ transform:translateY(1px) rotate(-135deg) }
@media (hover:hover){
  .glosario__caja > summary:hover{ border-color:var(--accent) }
}
.glosario__caja > summary:focus-visible{ outline:2px solid var(--accent); outline-offset:3px }
.glosario__caja[open] .glosario__lista{ margin-top:clamp(1.4rem,3vw,2.2rem) }

.hero__title{

  --rf-1:#BDC7E2;
  --rf-2:#FFFFFF;
  --rf-3:#BDC7E2;

  --sh-lit:   0 0 30px rgba(198,214,255,.34);
  --sh-hover: 0 0 26px rgba(234,241,255,.85), 0 0 72px rgba(170,190,240,.42);

  font-weight:700;
}

.hero__title em{
  --rf-1:#E9EEFA;
  --rf-2:#FFFFFF;
  --rf-3:#E9EEFA;
}

.hero__title .rf-ch{
  background-image:
    linear-gradient(180deg,
      rgba(255,255,255,.46) 0%,
      rgba(255,255,255,.06) 44%,
      rgba(16,20,38,.34) 100%),
    linear-gradient(100deg,
      var(--rf-1) 0 38%, var(--rf-2) 50%, var(--rf-3) 62% 100%);
  background-size:100% 100%, 300% 100%;
  background-position:0 0, 118% 0;
  animation-name:rfLuzPlata;
}
@keyframes rfLuzPlata{
  0%        { background-position:0 0, -18% 0 }
  32%, 100% { background-position:0 0, 118% 0 }
}
