/* =============================================================
   AUREA El Salvador · Sistema de diseño «instrumento de precisión»
   Paneles biselados · profundidad real · HUD técnico · navy + oro
   ============================================================= */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Tinta / navy */
  --ink-985:#020509;
  --ink-950:#04080F;
  --ink-900:#050B18;
  --ink-870:#071023;
  --ink-850:#09152E;
  --ink-800:#0B1B3A;
  --ink-700:#10254C;
  --ink-600:#17355F;

  /* Oro */
  --gold-100:#FCF6E2;
  --gold-200:#F7E9BE;
  --gold-300:#F0D082;
  --gold-400:#E0BB55;
  --gold-500:#D4AF37;
  --gold-600:#A9862A;
  --gold-700:#6E5719;

  /* Acentos */
  --azure-300:#9CC6FF;
  --azure-400:#5D9BF2;
  --azure-500:#2563EB;
  --azure-700:#122A5E;
  --teal-400:#2FA79B;
  --green-400:#4FD18B;
  --red-400:#F0656F;

  /* Claro */
  --paper:#EEF1F7;
  --paper-2:#FBFCFE;
  --paper-3:#DFE6F0;

  /* Texto */
  --txt:#EAEFF9;
  --txt-dim:#A6B6D1;
  --txt-faint:#6F82A2;
  --ink-txt:#08152E;
  --ink-txt-dim:#4A5B78;

  /* Líneas */
  --line:rgba(255,255,255,.075);
  --line-2:rgba(255,255,255,.13);
  --line-gold:rgba(212,175,55,.26);
  --line-ink:rgba(8,21,46,.12);

  /* Gradientes */
  --grad-gold:linear-gradient(135deg,#FCF6E2 0%,#E7C868 34%,#D4AF37 58%,#8B6E1C 100%);
  --grad-gold-2:linear-gradient(135deg,#F0D082,#C9A431);
  --grad-azure:linear-gradient(135deg,#9CC6FF,#2563EB);

  /* ---- Bisel: el rim de luz arriba y la sombra de corte abajo ---- */
  --bezel:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -1px 0 rgba(0,0,0,.55),
    inset 1px 0 0 rgba(255,255,255,.05),
    inset -1px 0 0 rgba(0,0,0,.3);
  --recess:
    inset 0 2px 8px rgba(0,0,0,.62),
    inset 0 -1px 0 rgba(255,255,255,.055);

  /* Elevación */
  --lift-1:0 2px 6px rgba(0,0,0,.4);
  --lift-2:0 12px 28px -8px rgba(0,0,0,.6);
  --lift-3:0 30px 64px -20px rgba(0,0,0,.8);
  --lift-light:0 18px 44px -14px rgba(8,21,46,.22);

  /* Brillo */
  --glow-gold:0 0 0 1px rgba(212,175,55,.4),0 0 26px rgba(212,175,55,.3);
  --glow-azure:0 0 0 1px rgba(37,99,235,.45),0 0 26px rgba(37,99,235,.34);

  /* Tipografía */
  --f-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-display:'Sora','Inter',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --f-serif:'Cormorant Garamond','Times New Roman',serif;

  --t-hero:clamp(2.7rem,1.3rem + 5vw,5.4rem);
  --t-h2:clamp(1.95rem,1.1rem + 3.2vw,3.5rem);
  --t-h3:clamp(1.25rem,1.02rem + .85vw,1.75rem);
  --t-lead:clamp(1rem,.95rem + .3vw,1.16rem);

  --sp-section:clamp(4.5rem,3rem + 6vw,8.5rem);
  --r-xs:6px; --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:26px; --r-pill:999px;
  --container:1260px;
  --header-h:76px;

  --ease:cubic-bezier(.22,.68,.32,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- 2. RESET / BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 24px);
}
body{
  font-family:var(--f-sans);
  line-height:1.68;
  color:var(--txt);
  background:var(--ink-900);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.08;font-weight:700;letter-spacing:-.025em}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--gold-400);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold-500);color:var(--ink-950)}

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{
  position:absolute;top:-100px;left:16px;z-index:200;
  background:var(--gold-500);color:var(--ink-950);
  padding:.7rem 1.2rem;border-radius:0 0 var(--r-sm) var(--r-sm);
  font-weight:600;transition:top .2s var(--ease);
}
.skip-link:focus{top:0}

/* ---------- 3. PRIMITIVAS ---------- */
.container{width:min(100% - 2.2rem,var(--container));margin-inline:auto}
@media (min-width:768px){ .container{width:min(100% - 4rem,var(--container))} }

.serif{font-family:var(--f-serif);font-weight:600}
.mono{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase}

.gold-ink{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.blue-ink{background:var(--grad-azure);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Índice de sección: «03 / MARCO LEGAL» con regla técnica */
.eyebrow{
  display:flex;align-items:center;gap:.7rem;
  font-family:var(--f-mono);font-size:.7rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:1.3rem;
}
.eyebrow::before{
  content:attr(data-idx);
  font-weight:700;color:var(--gold-500);
  padding:.18rem .42rem;border-radius:var(--r-xs);
  background:rgba(212,175,55,.1);
  border:1px solid var(--line-gold);
  letter-spacing:.06em;
}
.eyebrow::after{
  content:"";flex:1;height:1px;max-width:120px;
  background:linear-gradient(90deg,var(--line-gold),transparent);
}
.eyebrow--dark{color:var(--gold-700)}
.eyebrow--dark::before{color:var(--gold-600);background:rgba(212,175,55,.12);border-color:rgba(212,175,55,.35)}
.eyebrow--blue{color:var(--azure-400)}
.eyebrow--blue::before{color:var(--azure-500);background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.35)}
.eyebrow--blue::after{background:linear-gradient(90deg,rgba(37,99,235,.4),transparent)}
.eyebrow__dot{display:none}

.section{position:relative;padding-block:var(--sp-section);overflow:hidden}
.section__head{max-width:64ch;margin-bottom:clamp(2.4rem,1.5rem + 3vw,4.2rem)}
.section__head--center{margin-inline:auto;text-align:center;max-width:56ch}
.section__head--center .eyebrow{justify-content:center}
.section__head--center .eyebrow::after{display:none}
.section__title{font-size:var(--t-h2);margin-bottom:1rem;font-weight:800}
.section__sub{font-size:var(--t-lead);color:var(--txt-dim);max-width:58ch}
.section__head--center .section__sub{margin-inline:auto}
.section--light .section__sub{color:var(--ink-txt-dim)}
.section__head .btn{margin-top:1.7rem}

/* Marcas de esquina tipo HUD */
.hud{position:relative}
.hud > .hud-c{
  position:absolute;width:15px;height:15px;pointer-events:none;
  border:1px solid var(--gold-500);opacity:.55;
}
.hud-c--tl{top:0;left:0;border-right:0;border-bottom:0}
.hud-c--tr{top:0;right:0;border-left:0;border-bottom:0}
.hud-c--bl{bottom:0;left:0;border-right:0;border-top:0}
.hud-c--br{bottom:0;right:0;border-left:0;border-top:0}

/* Panel biselado — la primitiva estructural del sitio */
.panel{
  position:relative;border-radius:var(--r-lg);
  background:linear-gradient(168deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
  border:1px solid var(--line-2);
  box-shadow:var(--bezel),var(--lift-2);
}

/* Punto de estado que late */
.pulse{
  width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--green-400);
  box-shadow:0 0 0 0 rgba(79,209,139,.6);
  animation:pulse 2.4s var(--ease) infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(79,209,139,.55)}
  70%{box-shadow:0 0 0 8px rgba(79,209,139,0)}
  100%{box-shadow:0 0 0 0 rgba(79,209,139,0)}
}

/* Revelado (solo si hay JS que lo reactive) */
.js .reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);
  transition-delay:var(--rd,0ms);
}
.js .reveal.is-in{opacity:1;transform:none}

/* ---------- 4. BOTONES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--f-display);font-weight:600;font-size:.92rem;
  padding:.92rem 1.7rem;border-radius:var(--r-pill);
  position:relative;isolation:isolate;
  transform:translate(var(--mx,0),var(--my,0));
  transition:transform .5s var(--ease-out),box-shadow .3s var(--ease),
             color .3s var(--ease),border-color .3s var(--ease);
  white-space:nowrap;
}
.btn.is-magnetic{transition:transform .12s linear,box-shadow .3s var(--ease)}
.btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}

.btn--gold{
  color:var(--ink-950);
  background:var(--grad-gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 32px -8px rgba(212,175,55,.55);
  overflow:hidden;
}
.btn--gold::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.7) 50%,transparent 68%);
  transform:translateX(-130%);
}
.btn--gold:hover::after{transform:translateX(130%);transition:transform .85s var(--ease)}
.btn--gold:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 18px 44px -8px rgba(212,175,55,.68)}

.btn--ghost{
  color:var(--txt);
  border:1px solid var(--line-2);
  background:linear-gradient(168deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  box-shadow:var(--bezel);
}
.btn--ghost:hover{border-color:var(--gold-500);color:var(--gold-200)}
.section--light .btn--ghost{color:var(--ink-txt);border-color:var(--line-ink);background:rgba(8,21,46,.04);box-shadow:none}
.section--light .btn--ghost:hover{border-color:var(--gold-600);color:var(--gold-700)}
.btn--sm{padding:.62rem 1.15rem;font-size:.84rem}
.btn--block{width:100%}

/* ---------- 5. PROGRESO DE SCROLL ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.scroll-progress span{
  display:block;height:100%;width:0%;
  background:var(--grad-gold);box-shadow:0 0 14px rgba(212,175,55,.7);
  transition:width .1s linear;
}

/* ---------- 6. HEADER ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:110;height:var(--header-h);
  display:flex;align-items:center;
  border-bottom:1px solid transparent;
  transition:background .4s var(--ease),backdrop-filter .4s var(--ease),
             border-color .4s var(--ease),height .4s var(--ease);
}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;width:100%}
.site-header.is-stuck{
  height:64px;
  background:rgba(4,8,15,.86);
  backdrop-filter:blur(20px) saturate(160%);
  border-bottom-color:var(--line-gold);
}

.brand{display:flex;align-items:center;gap:.72rem;flex:none}
.brand__mark{
  width:40px;height:40px;flex:none;color:var(--txt);
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.6));
  transition:transform .6s var(--ease-out);
}
.brand__mark svg{width:100%;height:100%}
.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.05)}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{
  font-family:var(--f-serif);font-weight:600;font-size:1.4rem;letter-spacing:.25em;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand__tag{
  font-family:var(--f-mono);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--txt-faint);margin-top:.34rem;
}

.nav{display:flex;align-items:center;gap:1.5rem}
.nav__list{display:flex;align-items:center;gap:1.35rem;list-style:none;padding:0}
.nav__list a{
  position:relative;font-size:.845rem;font-weight:500;color:var(--txt-dim);
  padding-block:.35rem;white-space:nowrap;transition:color .25s var(--ease);
}
.nav__list a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:right;
  transition:transform .34s var(--ease);
}
.nav__list a:hover,.nav__list a.is-active{color:var(--gold-200)}
.nav__list a:hover::after,.nav__list a.is-active::after{transform:scaleX(1);transform-origin:left}

/* Acceso a backoffice — estilo terminal, primer elemento del menú */
.nav__office{margin-right:.35rem}
.nav__office a{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--f-mono);font-size:.68rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-200);
  padding:.5rem .85rem;border-radius:var(--r-sm);
  border:1px solid var(--line-gold);
  background:linear-gradient(168deg,rgba(212,175,55,.13),rgba(212,175,55,.03));
  box-shadow:var(--bezel);
  transition:border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease),color .3s var(--ease);
}
.nav__office a::after{display:none}
.nav__office a:hover{
  color:var(--gold-100);
  border-color:var(--gold-500);
  background:linear-gradient(168deg,rgba(212,175,55,.24),rgba(212,175,55,.07));
  box-shadow:var(--bezel),var(--glow-gold);
}
.nav__office svg{width:12px;height:12px;opacity:.75;transition:transform .3s var(--ease)}
.nav__office a:hover svg{transform:translate(2px,-2px)}

.nav__close{display:none}
.nav-toggle{
  display:none;width:44px;height:44px;color:var(--txt);
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  box-shadow:var(--bezel);
  align-items:center;justify-content:center;
}
.nav-toggle svg{width:22px;height:22px}
.nav-scrim{
  position:fixed;inset:0;z-index:108;
  background:rgba(2,5,9,.76);backdrop-filter:blur(5px);
  opacity:0;transition:opacity .35s var(--ease);
}
.nav-scrim.is-open{opacity:1}

/* El lema de marca se retira antes de que el menú quede apretado */
@media (max-width:1360px){ .brand__tag{display:none} }
@media (max-width:1260px){ .nav__list{gap:1rem} .nav__list a{font-size:.8rem} .nav{gap:1.1rem} }
@media (max-width:1120px){
  .site-header,.site-header.is-stuck{
    z-index:130;background:rgba(4,8,15,.96);backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .nav-toggle{display:flex;position:relative;z-index:3}
  .nav{
    position:fixed;inset:10px 10px 10px auto;z-index:4;
    width:min(calc(100vw - 20px),420px);height:auto;max-height:none;
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:5.2rem 1rem calc(1rem + env(safe-area-inset-bottom));
    background:linear-gradient(172deg,var(--ink-800),var(--ink-985));
    border:1px solid var(--line-gold);border-radius:20px;
    box-shadow:-24px 20px 70px rgba(0,0,0,.72);
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateX(calc(100% + 24px));
    transition:transform .42s var(--ease-out),opacity .24s var(--ease),visibility 0s linear .42s;
  }
  .nav::before{
    content:"NAVEGACIÓN · AUREA";position:absolute;top:1.65rem;left:1.15rem;
    font-family:var(--f-mono);font-size:.6rem;font-weight:500;letter-spacing:.16em;color:var(--txt-faint);
  }
  .nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s}
  .nav__list{flex-direction:column;align-items:stretch;gap:.45rem}
  .nav__list li,.nav__office{border:0;margin:0}
  .nav__list a{
    display:flex;align-items:center;justify-content:space-between;min-height:48px;
    padding:.78rem .9rem;border:1px solid var(--line);border-radius:12px;
    color:var(--txt-dim);background:rgba(255,255,255,.045);font-size:.94rem;font-family:var(--f-display);
  }
  .nav__list a::after{display:none}
  .nav__list a:hover,.nav__list a.is-active{color:var(--gold-100);background:rgba(255,255,255,.08);border-color:var(--line-gold)}
  .nav__office{order:-1;margin-bottom:.2rem}
  .nav__office a{justify-content:center;min-height:46px;padding:.75rem 1rem;font-size:.68rem}
  .nav__cta{width:100%;min-height:50px;margin-top:.8rem;padding:.8rem 1rem;justify-content:center;flex:none}
  .nav__close{
    display:flex;position:absolute;top:.85rem;right:.85rem;
    width:44px;height:44px;align-items:center;justify-content:center;
    color:var(--txt);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;
  }
  .nav__close:hover{color:var(--gold-200);border-color:var(--line-gold)}
  .nav__close svg{width:20px;height:20px}
  .nav-scrim{z-index:120;background:rgba(2,5,9,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  body.nav-open .site-header{background:transparent;border-color:transparent;pointer-events:none}
  body.nav-open .site-header .nav{pointer-events:auto}
  body.nav-open .site-header .nav-toggle,body.nav-open .site-header .brand{opacity:0;pointer-events:none}
}
@media (max-width:480px){
  .nav{inset:6px 6px 6px auto;width:calc(100vw - 12px);border-radius:17px;padding:4.9rem .75rem calc(.8rem + env(safe-area-inset-bottom))}
  .nav::before{top:1.5rem;left:1rem}
  .nav__list{gap:.34rem}
  .nav__list a{min-height:44px;padding:.68rem .78rem;font-size:.88rem}
  .nav__cta{min-height:46px}
}
@media (max-height:620px) and (max-width:1120px){
  .nav{padding-top:4.3rem}.nav::before{top:1.25rem}.nav__close{top:.55rem;right:.65rem}
  .nav__list a{min-height:40px;padding:.55rem .75rem}.nav__cta{min-height:42px;margin-top:.55rem}
}
@media (max-width:430px){
  .brand__tag{display:none}
  .brand__mark{width:34px;height:34px}
  .brand__name{font-size:1.2rem}
}

/* ---------- 7. HERO ---------- */
.hero{
  position:relative;
  min-height:min(100svh,960px);
  padding-top:calc(var(--header-h) + clamp(2rem,6vh,4rem));
  padding-bottom:clamp(5.5rem,10vh,7.5rem);
  display:flex;align-items:center;isolation:isolate;
  background:var(--ink-985);
}
.hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero__aurora{
  position:absolute;inset:-25%;
  background:
    radial-gradient(44% 40% at 16% 26%,rgba(212,175,55,.22),transparent 62%),
    radial-gradient(40% 44% at 80% 10%,rgba(37,99,235,.26),transparent 66%),
    radial-gradient(60% 50% at 50% 98%,rgba(8,21,46,.95),transparent 70%);
  filter:blur(26px);
  animation:auroraDrift 28s var(--ease) infinite alternate;
}
@keyframes auroraDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(2.5%,-2%,0) scale(1.08)}
  100%{transform:translate3d(-2%,2.5%,0) scale(1.03)}
}
.hero__grid{
  position:absolute;inset:0;
  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:68px 68px;
  mask-image:radial-gradient(120% 92% at 28% 42%,#000 18%,transparent 76%);
  -webkit-mask-image:radial-gradient(120% 92% at 28% 42%,#000 18%,transparent 76%);
  opacity:.65;
}
#netCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.6}
.hero__media{
  position:absolute;top:0;right:0;bottom:0;width:58%;
  mask-image:linear-gradient(100deg,transparent 4%,#000 44%);
  -webkit-mask-image:linear-gradient(100deg,transparent 4%,#000 44%);
}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:60% 45%;
  animation:heroZoom 26s var(--ease) infinite alternate;
}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(95deg,var(--ink-985) 6%,rgba(4,8,15,.9) 36%,rgba(4,8,15,.3) 62%,rgba(4,8,15,.6) 100%),
    linear-gradient(to top,var(--ink-900) 1%,transparent 30%);
}

/* Marco HUD del hero */
.hero__hud{
  position:absolute;
  inset:calc(var(--header-h) + 1.2rem) clamp(1.1rem,3vw,2.6rem) 4.6rem;
  z-index:2;pointer-events:none;
}
.hero__hud .hud-c{width:22px;height:22px;border-color:var(--gold-500);opacity:.4}
.hero__hud .hud-c--tl{top:0;left:0;border-right:0;border-bottom:0}
.hero__hud .hud-c--tr{top:0;right:0;border-left:0;border-bottom:0}
.hero__hud .hud-c--bl{bottom:0;left:0;border-right:0;border-top:0}
.hero__hud .hud-c--br{bottom:0;right:0;border-left:0;border-top:0}

.hero__inner{position:relative;z-index:3}
.hero__copy{max-width:47rem}

.hero__status{
  display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--txt-faint);margin-bottom:1.5rem;
}
.hero__status i{color:var(--gold-600);font-style:normal}
.hero__status b{color:var(--txt-dim);font-weight:500}

.hero__title{
  font-size:var(--t-hero);font-weight:800;
  letter-spacing:-.04em;line-height:.99;margin-bottom:1.8rem;
}
.hero__title em{display:block;font-style:normal;margin-top:.1em}
.hero__lead{
  font-size:var(--t-lead);color:var(--txt-dim);max-width:44ch;margin-bottom:2.4rem;
  padding-left:1.3rem;position:relative;
}
.hero__lead::before{
  content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:2px;
  background:linear-gradient(to bottom,var(--gold-500),transparent);
}
.hero__lead strong{color:var(--gold-300);font-weight:600}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:3.2rem}

/* Pilares como módulos de instrumento */
.pillars{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;list-style:none;padding:0;max-width:42rem;
}
.pillar{
  display:flex;flex-direction:column;gap:.75rem;
  padding:1rem .9rem;border-radius:var(--r-md);
  border:1px solid var(--line);
  background:linear-gradient(168deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  box-shadow:var(--bezel);
  transition:transform .4s var(--ease-out),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.pillar:hover{transform:translateY(-4px);border-color:var(--line-gold);box-shadow:var(--bezel),0 12px 30px -10px rgba(212,175,55,.35)}
.pillar__icon{
  width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;
  color:var(--gold-300);border:1px solid var(--line-gold);
  background:rgba(212,175,55,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.pillar__icon svg{width:17px;height:17px}
.pillar__label{
  font-family:var(--f-mono);font-size:.63rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);line-height:1.5;
}

.hero__ticker{
  position:absolute;left:0;right:0;bottom:0;z-index:4;
  border-top:1px solid var(--line-gold);
  background:linear-gradient(to right,rgba(11,27,58,.94),rgba(4,8,15,.94));
  backdrop-filter:blur(10px);
  overflow:hidden;padding-block:.8rem;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ticker__track{display:flex;align-items:center;gap:2.3rem;width:max-content;animation:tickerRun 36s linear infinite}
.ticker__track span{
  font-family:var(--f-mono);font-size:.7rem;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;color:var(--txt-dim);
}
.ticker__track i{color:var(--gold-500);font-size:.5rem;font-style:normal}
@keyframes tickerRun{to{transform:translateX(-33.333%)}}

.hero__scroll{
  position:absolute;right:clamp(1.6rem,4vw,3.6rem);bottom:5.4rem;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--txt-faint);
}
.hero__scroll-line{
  width:1px;height:56px;background:linear-gradient(to bottom,transparent,var(--gold-500));
  position:relative;overflow:hidden;
}
.hero__scroll-line::after{
  content:"";position:absolute;top:-60%;left:0;width:100%;height:60%;
  background:var(--gold-200);animation:scrollDot 2.2s var(--ease) infinite;
}
@keyframes scrollDot{to{top:110%}}
.hero__scroll-text{
  font-family:var(--f-mono);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;
  writing-mode:vertical-rl;
}
.hero__scroll:hover{color:var(--gold-300)}

@media (max-width:900px){
  .hero{min-height:auto;padding-bottom:8rem}
  .hero__media{width:100%;opacity:.4;
    mask-image:linear-gradient(to bottom,transparent 8%,#000 60%);
    -webkit-mask-image:linear-gradient(to bottom,transparent 8%,#000 60%);}
  .hero__veil{background:linear-gradient(to bottom,rgba(4,8,15,.95) 20%,rgba(4,8,15,.75) 60%,var(--ink-900) 100%)}
  .hero__scroll,.hero__hud{display:none}
  .pillars{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){ .hero__actions .btn{width:100%} }

/* ---------- 8. CIFRAS — banda de instrumentos ---------- */
.stats{
  position:relative;padding-block:clamp(2.6rem,4vw,3.6rem);
  background:linear-gradient(to bottom,var(--ink-900),var(--ink-870));
  border-block:1px solid var(--line);
}
.stats__grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  list-style:none;padding:0;gap:.6rem;
}
.stat{
  position:relative;text-align:center;padding:1.2rem .7rem 1.1rem;
  border-radius:var(--r-md);
  border:1px solid var(--line);
  background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  box-shadow:var(--bezel);
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.stat:hover{border-color:var(--line-gold);box-shadow:var(--bezel),0 0 24px -6px rgba(212,175,55,.4)}
.stat::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:34px;height:2px;border-radius:0 0 2px 2px;
  background:var(--grad-gold);opacity:.65;
}
.stat__num{
  display:block;font-family:var(--f-display);font-weight:300;
  font-size:clamp(2.1rem,1.3rem + 2.4vw,3.2rem);line-height:1;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:.7rem;letter-spacing:-.035em;font-variant-numeric:tabular-nums;
}
.stat__num--text{font-size:clamp(1.8rem,1.15rem + 1.9vw,2.7rem);font-weight:400}
.stat__label{
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--txt-faint);line-height:1.65;
}
@media (max-width:900px){
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .stat:last-child{grid-column:1/-1}
}

/* ---------- 9. COMPAÑÍA — paneles asimétricos ---------- */
.section--light{
  background:linear-gradient(168deg,var(--paper-2) 0%,var(--paper) 58%,var(--paper-3) 100%);
  color:var(--ink-txt);
}
.section--light .section__title{color:var(--ink-txt)}
.section--light p{color:var(--ink-txt-dim)}
.section__deco{
  position:absolute;top:0;right:0;bottom:0;width:32%;
  mask-image:linear-gradient(100deg,transparent 10%,#000 78%);
  -webkit-mask-image:linear-gradient(100deg,transparent 10%,#000 78%);
  opacity:.55;pointer-events:none;
}
.section__deco img{width:100%;height:100%;object-fit:cover;object-position:80% 40%}
.section--light .container{position:relative;z-index:2}

/* Rejilla asimétrica: misión ancha y elevada, visión estrecha y desplazada */
.mv{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:clamp(1.2rem,2.2vw,2.2rem);
  margin-bottom:clamp(2.6rem,4vw,4rem);
  align-items:start;
}
.mv__card{
  position:relative;
  padding:clamp(1.9rem,1.2rem + 1.7vw,2.9rem);
  border-radius:var(--r-xl);
  background:linear-gradient(168deg,#fff,rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.95);
  box-shadow:
    inset 0 1px 0 #fff,
    inset 0 -1px 0 rgba(8,21,46,.07),
    var(--lift-light);
  transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
  transform-style:preserve-3d;
}
.mv__card:nth-child(2){margin-top:clamp(1.5rem,4vw,3.4rem)}
.mv__card::before{
  content:"";position:absolute;left:0;top:2rem;bottom:2rem;width:3px;
  border-radius:0 3px 3px 0;background:var(--grad-gold-2);
}
.mv__card:hover{box-shadow:inset 0 1px 0 #fff,0 34px 70px -20px rgba(8,21,46,.3)}
.mv__badge{
  display:grid;place-items:center;width:60px;height:60px;border-radius:16px;
  background:linear-gradient(160deg,var(--ink-700),var(--ink-950));
  color:var(--gold-400);border:1px solid var(--gold-600);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px -6px rgba(8,21,46,.45);
  margin-bottom:1.4rem;transform:translateZ(28px);
}
.mv__badge svg{width:27px;height:27px}
.mv__title{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(1.35rem,1.05rem + 1.1vw,1.85rem);
  color:var(--ink-txt);margin-bottom:.9rem;
  letter-spacing:-.02em;transform:translateZ(18px);
}
.mv__card p{font-size:1rem;line-height:1.76;transform:translateZ(10px)}

/* Riel de valores */
.values{
  display:grid;grid-template-columns:repeat(4,1fr);
  list-style:none;padding:clamp(1.3rem,2vw,1.9rem);gap:clamp(1.1rem,2vw,1.9rem);
  border-radius:var(--r-lg);position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--ink-700),var(--ink-950));
  box-shadow:var(--bezel),var(--lift-2);
}
.values::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 120% at 100% 0%,rgba(212,175,55,.16),transparent 60%);
}
.value{display:flex;gap:.95rem;align-items:flex-start;position:relative;z-index:1}
.value + .value{border-left:1px solid var(--line);padding-left:clamp(1.1rem,2vw,1.9rem)}
.value__icon{
  width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;
  color:var(--gold-300);border:1px solid var(--line-gold);
  background:rgba(212,175,55,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.value__icon svg{width:20px;height:20px}
.value h4{
  font-family:var(--f-mono);font-size:.68rem;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold-200);margin-bottom:.45rem;
}
@media (min-width:760px){ .value h4{min-height:2.3em} }
.section--light .value p{color:var(--txt-dim);font-size:.87rem;line-height:1.62}

@media (max-width:900px){
  .mv{grid-template-columns:1fr}
  .mv__card:nth-child(2){margin-top:0}
  .section__deco{width:100%;opacity:.12;mask-image:none;-webkit-mask-image:none}
  .values{grid-template-columns:repeat(2,1fr)}
  .value + .value{border-left:0;padding-left:0}
  .value:nth-child(2){border-left:1px solid var(--line);padding-left:clamp(1.1rem,2vw,1.9rem)}
}
@media (max-width:560px){
  .values{grid-template-columns:1fr}
  .value:nth-child(2){border-left:0;padding-left:0}
}

/* ---------- 10. RESPALDO LEGAL ---------- */
.section--legal{background:linear-gradient(162deg,var(--ink-870) 0%,var(--ink-985) 62%)}
.legal__glow{
  position:absolute;top:-10%;left:-12%;width:62%;height:82%;
  background:radial-gradient(circle,rgba(37,99,235,.22),transparent 65%);
  filter:blur(44px);pointer-events:none;
}
.legal{
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(2.4rem,4vw,5rem);align-items:center;position:relative;z-index:1;
}
.legal .section__title{
  font-size:clamp(2.3rem,1.3rem + 4vw,4.2rem);
  font-weight:800;letter-spacing:-.04em;line-height:.97;text-transform:uppercase;
}
.legal__lead{
  font-size:var(--t-lead);color:var(--txt-dim);max-width:52ch;
  margin-bottom:2rem;padding-left:1.2rem;position:relative;
}
.legal__lead::before{
  content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:2px;
  background:linear-gradient(to bottom,var(--azure-500),transparent);
}
.legal__lead b{color:var(--azure-300);font-weight:600}
.legal__lead strong{color:var(--txt);font-weight:600}

.legal__badges{
  display:grid;grid-template-columns:repeat(2,1fr);
  list-style:none;padding:1.3rem;gap:1.3rem 1rem;margin-bottom:1.8rem;
  border:1px solid var(--line-2);border-radius:var(--r-lg);
  background:linear-gradient(168deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  box-shadow:var(--bezel);
}
.legal__badges li{
  display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--txt-dim);line-height:1.5;
}
.legal__badges span{
  width:40px;height:40px;display:grid;place-items:center;border-radius:11px;
  color:var(--azure-400);background:rgba(37,99,235,.13);
  border:1px solid rgba(37,99,235,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.legal__badges svg{width:19px;height:19px}

.legal__country{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.3rem;border-radius:var(--r-md);
  background:linear-gradient(100deg,var(--azure-700),var(--ink-850));
  border:1px solid rgba(37,99,235,.36);
  box-shadow:var(--bezel);
}
.legal__country p{font-size:.92rem;color:var(--txt);font-weight:500}
.legal__flag{
  width:36px;height:25px;flex:none;border-radius:4px;overflow:hidden;
  background:linear-gradient(to bottom,#0F47AF 0 33.33%,#fff 33.33% 66.66%,#0F47AF 66.66%);
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}

/* El documento va en un bisel de instrumento */
.legal__visual{position:relative;perspective:1400px}
.legal__frame{
  position:relative;padding:12px;border-radius:var(--r-xl);
  background:linear-gradient(168deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  border:1px solid var(--line-2);
  box-shadow:var(--bezel),var(--lift-3);
  transform:rotateY(-8deg) rotateX(2deg);
  transition:transform .8s var(--ease-out);
}
.legal__visual:hover .legal__frame{transform:rotateY(-2deg) rotateX(0deg)}
.legal__frame img{width:100%;height:auto;border-radius:var(--r-md);box-shadow:var(--recess)}
.legal__chips{
  display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;padding:0;
  margin-top:1.4rem;justify-content:center;
}
.legal__chips li{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.42rem .8rem;border-radius:var(--r-pill);
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt-dim);border:1px solid var(--line);
  background:linear-gradient(168deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  box-shadow:var(--bezel);
}
.legal__chips b{
  display:grid;place-items:center;min-width:26px;height:20px;padding-inline:.3rem;
  border-radius:5px;font-size:.58rem;
  background:var(--grad-azure);color:#fff;
}
@media (max-width:900px){ .legal{grid-template-columns:1fr} .legal__frame{transform:none} }

/* ---------- 11. PROCESO — Diagrama de 6 Pasos con Línea Dorada y Nodos Iluminados ---------- */
.section--dark{
  background:
    radial-gradient(80% 60% at 50% 0%, rgba(212, 175, 55, 0.08), transparent 60%),
    linear-gradient(to bottom, var(--ink-985), var(--ink-870));
}

.flow{
  --flow-gap:clamp(0.9rem, 1.5vw, 1.6rem);
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:2.4rem var(--flow-gap);
  list-style:none;
  padding:0;
  margin-top:clamp(2.4rem, 4vw, 3.6rem);
}

.flow__step{
  position:relative;
  padding-top:0.4rem;
  display:flex;
  flex-direction:column;
}

/* Nodo luminoso */
.flow__node{
  position:relative;
  z-index:2;
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  margin-bottom:1.15rem;
  color:#f0cb79;
  background:linear-gradient(150deg, #16223b, #0c1424);
  border:1px solid rgba(212, 175, 55, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 0 0 4px rgba(4, 9, 26, 0.95),
    0 10px 24px -6px rgba(0, 0, 0, 0.85);
  transition:box-shadow 0.4s var(--ease), transform 0.4s var(--ease-out), color 0.4s var(--ease), border-color 0.4s ease;
}

.flow__node svg{
  width:25px;
  height:25px;
  stroke:#f0cb79;
  transition:stroke 0.35s ease;
}

.flow__step:hover .flow__node{
  transform:translateY(-4px);
  color:#ffffff;
  border-color:#f0cb79;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 0 0 4px rgba(4, 9, 26, 0.95),
    0 0 32px rgba(212, 175, 55, 0.55),
    0 14px 30px -6px rgba(0, 0, 0, 0.9);
}

.flow__step:hover .flow__node svg{
  stroke:#ffffff;
}

/* Número de Paso Dorado */
.flow__num{
  position:absolute;
  top:-8px;
  right:-8px;
  z-index:3;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-family:var(--f-mono);
  font-size:0.58rem;
  font-weight:800;
  letter-spacing:0.04em;
  background:linear-gradient(135deg, #FFE259 0%, #FFA751 100%);
  color:#070b14;
  box-shadow:0 3px 10px rgba(245, 158, 11, 0.55);
}

/* Cable Dorado entre nodos con un único punto dorado viajero */
.flow__wire{
  position:absolute;
  top:29px;
  left:62px;
  right:calc(-1 * var(--flow-gap));
  height:1px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(212, 175, 55, 0.55), rgba(212, 175, 55, 0.15));
}

/* Único punto luminoso dorado que viaja de izquierda a derecha */
.flow__wire::after{
  content:"";
  position:absolute;
  top:-3px;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #ffffff 0%, #f0cb79 55%, #d4af37 100%);
  box-shadow:0 0 12px 3px rgba(240, 203, 121, 0.95), 0 0 4px #ffffff;
  animation:wireFlow 2.8s linear infinite;
  animation-delay:var(--wd, 0s);
}

@keyframes wireFlow{
  0%{
    left:0%;
    opacity:0;
    transform:scale(0.6);
  }
  15%{
    opacity:1;
    transform:scale(1.1);
  }
  85%{
    opacity:1;
    transform:scale(1.1);
  }
  100%{
    left:100%;
    opacity:0;
    transform:scale(0.6);
  }
}

.flow__step:last-child .flow__wire{
  display:none;
}

.flow__title{
  font-size:0.96rem;
  font-weight:700;
  color:#ffffff;
  margin-bottom:0.5rem;
  line-height:1.25;
  letter-spacing:-0.01em;
}

.flow__text{
  font-size:0.81rem;
  color:rgba(255, 255, 255, 0.65);
  line-height:1.55;
  margin:0;
}

.flow__text b{
  color:#f0cb79;
  font-weight:600;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  margin-top:0.85rem;
  width:fit-content;
  padding:0.28rem 0.65rem;
  border-radius:var(--r-pill);
  font-family:var(--f-mono);
  font-size:0.58rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.chip--tron{
  color:#FF6B6B;
  background:rgba(255, 107, 107, 0.12);
  border:1px solid rgba(255, 107, 107, 0.35);
}

@media (max-width:1180px){
  .flow{grid-template-columns:repeat(3, 1fr);gap:2.2rem 1.8rem}
  .flow__step:nth-child(3n) .flow__wire{display:none}
}
@media (max-width:760px){
  .flow{grid-template-columns:repeat(2, 1fr);gap:2.2rem 1.4rem}
  .flow__step:nth-child(3n) .flow__wire{display:block}
  .flow__step:nth-child(2n) .flow__wire{display:none}
}
@media (max-width:480px){
  .flow{grid-template-columns:1fr;gap:1.8rem}
  .flow__wire{display:none !important}
}

/* ---------- 12. MERCADOS — tarjetas 3D partidas ---------- */
.section--markets{background:linear-gradient(to bottom,var(--ink-870),var(--ink-900) 42%,var(--ink-985))}
.markets{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.1rem,1.8vw,1.7rem);margin-bottom:clamp(2.4rem,4vw,3.4rem);
  perspective:1300px;
}
.market{
  --accent:var(--gold-400);
  position:relative;border-radius:var(--r-xl);
  padding:10px;
  background:linear-gradient(168deg,rgba(255,255,255,.11),rgba(255,255,255,.025));
  border:1px solid var(--line-2);
  box-shadow:var(--bezel),var(--lift-2);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s var(--ease);
}
.market:hover{
  border-color:color-mix(in srgb,var(--accent) 45%,transparent);
  box-shadow:var(--bezel),var(--lift-3),0 0 40px -14px color-mix(in srgb,var(--accent) 60%,transparent);
}
/* Reflejo que sigue al cursor */
.market::after{
  content:"";position:absolute;inset:0;border-radius:var(--r-xl);pointer-events:none;
  background:radial-gradient(340px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.1),transparent 65%);
  opacity:0;transition:opacity .45s var(--ease);
}
.market:hover::after{opacity:1}

.market__inner{
  display:grid;grid-template-columns:auto 1fr;gap:10px;
  border-radius:var(--r-lg);
}
.market__label{
  display:flex;flex-direction:column;justify-content:space-between;gap:1.6rem;
  width:132px;padding:1.3rem 1.1rem;border-radius:var(--r-md);
  background:linear-gradient(160deg,var(--ink-850),var(--ink-985));
  box-shadow:var(--recess);
  transform:translateZ(18px);
}
.market__icon{
  display:grid;place-items:center;width:46px;height:46px;border-radius:12px;color:#fff;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 88%,#fff 10%),color-mix(in srgb,var(--accent) 52%,#000 32%));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px -6px color-mix(in srgb,var(--accent) 55%,transparent);
}
.market__icon svg{width:23px;height:23px}
.market h3{
  font-family:var(--f-mono);font-size:.76rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:color-mix(in srgb,var(--accent) 60%,#fff);line-height:1.5;
}
.market h3 small{display:block;font-size:.62rem;font-weight:400;color:var(--txt-faint);letter-spacing:.1em;margin-top:.2rem}

.market__body{
  padding:1.3rem 1.4rem;border-radius:var(--r-md);
  background:linear-gradient(160deg,var(--ink-870),var(--ink-985));
  box-shadow:var(--recess);
  transform:translateZ(10px);
}
.market__body > p{font-size:.89rem;color:var(--txt-dim);line-height:1.66}
.market__tags{display:flex;flex-wrap:wrap;gap:.38rem;list-style:none;padding:0;margin:.95rem 0}
.market__tags li{
  padding:.24rem .6rem;border-radius:var(--r-xs);
  font-family:var(--f-mono);font-size:.61rem;letter-spacing:.06em;
  color:color-mix(in srgb,var(--accent) 68%,#fff);
  background:color-mix(in srgb,var(--accent) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);
}
.market__note{
  font-size:.8rem !important;color:var(--txt-faint) !important;
  padding-top:.85rem;border-top:1px solid var(--line);
}
.market--navy{--accent:#4C7DF0}
.market--teal{--accent:var(--teal-400)}
.market--gold{--accent:var(--gold-500)}
.market--ink{--accent:#8AA6DC}
@media (max-width:1000px){ .markets{grid-template-columns:1fr} }
@media (max-width:520px){
  .market__inner{grid-template-columns:1fr}
  .market__label{width:auto;flex-direction:row;align-items:center;gap:1rem}
}

/* Garantías */
.guarantees{
  display:grid;grid-template-columns:repeat(4,1fr);
  list-style:none;padding:clamp(1.3rem,2vw,2rem);gap:clamp(1.1rem,2vw,1.9rem);
  border-radius:var(--r-lg);
  background:linear-gradient(120deg,rgba(212,175,55,.09),rgba(255,255,255,.025));
  border:1px solid var(--line-gold);
  box-shadow:var(--bezel);
}
.guarantees li{display:flex;flex-direction:column;gap:.55rem}
.guarantees li + li{border-left:1px solid var(--line);padding-left:clamp(1.1rem,2vw,1.9rem)}
.guarantees span{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  color:var(--gold-300);background:rgba(212,175,55,.11);border:1px solid var(--line-gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.guarantees svg{width:19px;height:19px}
.guarantees h4{
  font-family:var(--f-mono);font-size:.67rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold-200);
}
.guarantees p{font-size:.84rem;color:var(--txt-dim);line-height:1.6}
@media (max-width:900px){
  .guarantees{grid-template-columns:repeat(2,1fr)}
  .guarantees li + li{border-left:0;padding-left:0}
}
@media (max-width:520px){ .guarantees{grid-template-columns:1fr} }

.pullquote{
  margin-top:clamp(2.4rem,4vw,3.4rem);text-align:center;
  font-family:var(--f-serif);font-weight:500;
  font-size:clamp(1.35rem,1rem + 1.7vw,2.2rem);
  line-height:1.4;color:var(--txt);max-width:26ch;margin-inline:auto;
}

/* ---------- 13. PLANES — módulos de instrumento ---------- */
.section--plans{
  background:
    radial-gradient(70% 50% at 82% 6%,rgba(37,99,235,.14),transparent 60%),
    linear-gradient(to bottom,var(--ink-985),var(--ink-870) 46%,var(--ink-900));
}
.plans{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.4rem,2.2vw,2.2rem);margin-bottom:clamp(3rem,5vw,4.5rem);
  perspective:1400px;
}

/* Tarjeta 3D Parallax Tilt & Grid Matrix (thebabydino/pen/YPpqaWM) */
.plan{
  --ma: 16deg;
  --oz: 3.5em;
  --dz: 2.2em;
  --fn: cubic-bezier(.175, .885, .32, 1.275);
  --g: 1.35rem;
  --l: 1px;
  --di: 0;
  --dj: 0;
  --pc:#3B82F6;
  --pc-glow:rgba(59,130,246,0.45);
  --back:linear-gradient(145deg, #1d212a 0%, #101217 100%);
  position:relative;display:flex;flex-direction:column;
  border-radius:1.85rem;
  background:
    conic-gradient(from 90deg at var(--l) var(--l), 
        transparent 25%, rgba(255, 255, 255, 0.055) 0%) 
    0 / var(--g) var(--g), 
    var(--back);
  border:1px solid rgba(255,255,255,0.09);
  transform-origin:50% 50% var(--oz);
  transform-style:preserve-3d;
  transform:rotateX(calc(var(--dj, 0) * var(--ma))) rotateY(calc(var(--di, 0) * var(--ma)));
  box-shadow:0 32px 64px -14px rgba(0,0,0,0.75), 0 0 0 1px rgba(255,255,255,0.07);
  transition:transform .35s var(--fn),box-shadow .35s ease,border-color .3s ease;
}

.plan::before{
  display:none;
}

.plan--a{
  --pc:#3B82F6;
  --pc-glow:rgba(59,130,246,0.4);
}
.plan--b{
  --pc:#10B981;
  --pc-glow:rgba(16,185,129,0.4);
}
.plan--c{
  --pc:#F59E0B;
  --pc-glow:rgba(245,158,11,0.45);
}

.plan:hover{
  border-color:color-mix(in srgb,var(--pc) 55%,rgba(255,255,255,0.2));
  box-shadow:0 40px 75px -16px rgba(0,0,0,0.85),
             0 0 35px -8px var(--pc-glow),
             0 0 0 1px rgba(255,255,255,0.15);
}

/* Ribbon superior para Plan C */
.plan__ribbon{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%) translateZ(36px);z-index:6;
  background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);color:#111;
  font-family:var(--f-mono);font-size:.64rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.38rem 1.1rem;border-radius:var(--r-pill);white-space:nowrap;
  box-shadow:0 6px 20px rgba(255,180,0,.5),inset 0 1px 0 rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.4);
}

.plan__face{
  display:flex;flex-direction:column;flex:1;
  padding:1.65rem 1.5rem 1.45rem;
  border-radius:30px;
  background:transparent;
}

/* Cabecera de la tarjeta con estilo neumórfico */
.plan__head{
  display:flex;align-items:center;gap:1.1rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid rgba(255,255,255,0.05);
}

.plan__badge-wrap{
  width:62px;height:62px;flex:none;
  border-radius:20px;
  background:#212121;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:inset 4px 4px 8px rgb(18,18,18),
              inset -4px -4px 8px rgb(48,48,48);
  border:1px solid rgba(255,255,255,0.04);
}

.plan__flag{
  font-family:var(--f-mono);font-size:.52rem;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--txt-faint);line-height:1;
}

.plan__letter{
  font-family:var(--f-display);font-size:2.1rem;
  font-weight:800;line-height:1;
  color:var(--pc);
  text-shadow:0 0 16px var(--pc-glow);
  margin-top:1px;
}

.plan__head-info{
  flex:1;
}

.plan__title{
  font-size:1.18rem;font-weight:700;letter-spacing:-.02em;
  color:#fff;margin:0 0 .2rem;
}

.plan__tagline{
  font-size:.8rem;color:var(--txt-dim);line-height:1.35;
  margin:0;
}

/* Matriz de especificaciones técnicas del periodo (Neumorphism Inset) */
.plan__specs{
  display:grid;grid-template-columns:1fr 1fr;
  gap:.6rem;padding:.85rem .9rem;
  border-radius:18px;
  background:#1c1c1c;
  box-shadow:inset 3px 3px 6px rgb(16,16,16),
              inset -3px -3px 6px rgb(44,44,44);
  border:1px solid rgba(255,255,255,0.035);
  margin-top:1.15rem;
}

.plan__spec-item{
  display:flex;flex-direction:column;gap:2px;
  padding:.25rem .35rem;
}

.plan__spec-label{
  font-family:var(--f-mono);font-size:.54rem;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--txt-faint);font-weight:500;
}

.plan__spec-val{
  font-size:.82rem;font-weight:600;color:#f2f2f2;
}

/* Cronograma visual de 12 meses */
.plan__timeline-wrap{
  margin-top:1.15rem;
}

.plan__timeline-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:.45rem;
  font-family:var(--f-mono);font-size:.58rem;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--txt-faint);
}

.plan__timeline-status{
  color:color-mix(in srgb,var(--pc) 70%,#fff);
  font-weight:600;font-size:.54rem;
  letter-spacing:.03em;text-transform:none;
  white-space:nowrap;
}

.plan__track{
  display:grid;grid-template-columns:repeat(12,1fr);
  gap:4px;padding:6px;
  border-radius:16px;
  background:#1a1a1a;
  box-shadow:inset 3px 3px 6px rgb(14,14,14),
              inset -3px -3px 6px rgb(40,40,40);
  border:1px solid rgba(255,255,255,0.03);
}

.plan__track i{
  position:relative;height:28px;
  border-radius:9px;font-style:normal;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:.62rem;font-weight:600;
  background:#232323;color:#666;
  box-shadow:2px 2px 5px rgb(16,16,16),
             -2px -2px 5px rgb(46,46,46);
  border:1px solid rgba(255,255,255,0.03);
  transition:all .25s var(--ease);
}

.plan__track i.maduration{
  background:#1c1c1c;color:#4a4a4a;
  box-shadow:inset 1px 1px 3px rgb(12,12,12);
  border:1px solid rgba(255,255,255,0.02);
}

.plan__track i.on{
  background:linear-gradient(135deg,var(--pc),color-mix(in srgb,var(--pc) 70%,#000));
  border-color:color-mix(in srgb,var(--pc) 90%,transparent);
  color:#fff;font-weight:700;
  box-shadow:0 0 12px var(--pc-glow),
              2px 2px 6px rgb(14,14,14);
  transform:scale(1.04);
}

/* Descripción del plan */
.plan__desc{
  margin:0.9rem 0 1rem;font-size:.83rem;
  color:var(--txt-dim);line-height:1.48;
  min-height:3.9rem;
}

.plan__desc b{
  color:color-mix(in srgb,var(--pc) 45%,#fff);
  font-weight:600;
}

/* Tabla de cuotas y rendimiento (Neumorphism Inset) */
.plan__table-wrap{
  margin-top:0.65rem;border-radius:20px;overflow:hidden;
  background:#1b1b1b;
  box-shadow:inset 4px 4px 8px rgb(14,14,14),
              inset -4px -4px 8px rgb(40,40,40);
  border:1px solid rgba(255,255,255,0.04);
}

.plan__table{
  width:100%;border-collapse:collapse;font-size:.8rem;
}

.plan__table thead th{
  padding:.62rem .85rem;text-align:left;
  font-family:var(--f-mono);font-size:.56rem;
  letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:#bbb;
  background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 22%,#181818),#181818);
  border-bottom:1px solid rgba(255,255,255,0.05);
}

.plan__table thead th.th-cuota{
  text-align:right;color:color-mix(in srgb,var(--pc) 70%,#fff);
}

.plan__table td{
  padding:.46rem .75rem;border-bottom:1px solid rgba(255,255,255,0.03);
  color:var(--txt-dim);font-family:var(--f-mono);font-size:.76rem;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.plan__table tbody tr{
  transition:background .2s var(--ease);
}

.plan__table tbody tr:hover{
  background:rgba(255,255,255,0.035);
}

.plan__table tbody tr:last-child td{
  border-bottom:0;
}

.plan__table td.td-cuota{
  text-align:right;font-weight:700;
  color:color-mix(in srgb,var(--pc) 55%,#fff);
}

.plan__table td.td-cuota b{
  color:#fff;font-weight:700;
}

/* Pie de tarjeta y Botón Neumórfico */
.plan__footer{
  margin-top:1.25rem;display:flex;flex-direction:column;
  gap:.85rem;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,0.05);
}

.plan__guarantee{
  display:flex;align-items:center;gap:.5rem;
  font-size:.72rem;color:var(--txt-faint);line-height:1.35;
}

.plan__guarantee svg{
  width:16px;height:16px;flex:none;color:var(--pc);
}

.plan__btn-sim{
  display:inline-flex;align-items:center;justify-content:center;
  gap:.55rem;width:100%;padding:.8rem 1.2rem;
  border-radius:18px;font-family:var(--f-mono);
  font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;
  background:#212121;color:#fff;
  border:1px solid color-mix(in srgb,var(--pc) 35%,transparent);
  box-shadow:6px 6px 14px rgb(16,16,16),
             -6px -6px 14px rgb(48,48,48);
  cursor:pointer;
  transition:all .3s var(--ease);
}

.plan__btn-sim:hover{
  background:var(--pc);color:#111;
  border-color:var(--pc);
  box-shadow:0 0 26px var(--pc-glow),
              4px 4px 10px rgb(12,12,12);
  transform:translateY(-2px);
}

.plan__btn-sim:active{
  box-shadow:inset 3px 3px 6px rgb(12,12,12),
              inset -3px -3px 6px rgba(255,255,255,0.2);
  transform:translateY(0);
}

.plan__btn-sim svg{
  width:14px;height:14px;
  transition:transform .2s var(--ease);
}

.plan__btn-sim:hover svg{
  transform:translate(2px,-2px);
}

@media (max-width:1060px){
  .plans{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
}

/* ---------- 14. SIMULADOR — consola de control ---------- */
.sim{
  position:relative;padding:11px;border-radius:var(--r-xl);
  background:linear-gradient(168deg,rgba(255,255,255,.11),rgba(255,255,255,.025));
  border:1px solid var(--line-gold);
  box-shadow:var(--bezel),var(--lift-3);
}
.sim__shell{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(1.4rem,2.6vw,2.6rem);align-items:start;
  padding:clamp(1.5rem,1.1rem + 1.8vw,2.5rem);
  border-radius:var(--r-lg);
  background:linear-gradient(165deg,var(--ink-870),var(--ink-985));
  box-shadow:var(--recess);
}
.sim__intro{grid-column:1/-1}
.sim__title{font-size:var(--t-h3);margin-bottom:.55rem;font-weight:700}
.sim__sub{color:var(--txt-dim);font-size:.93rem;max-width:52ch}
.sim__form{display:flex;flex-direction:column;gap:1.6rem}

.segmented{border:0;padding:0;margin:0;min-width:0}
.segmented legend{
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--txt-faint);margin-bottom:.8rem;padding:0;
}
.segmented__row{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.seg{position:relative;display:block;cursor:pointer;padding:.82rem .5rem;border-radius:var(--r-md)}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg::before{
  content:"";position:absolute;inset:0;border-radius:var(--r-md);
  border:1px solid var(--line);
  background:linear-gradient(168deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  box-shadow:var(--bezel);
  transition:all .3s var(--ease);
}
.seg span,.seg small{position:relative;z-index:1;display:block;text-align:center;pointer-events:none}
.seg span{font-family:var(--f-display);font-size:.9rem;font-weight:700;color:var(--txt-dim);transition:color .3s var(--ease)}
.seg small{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-faint);margin-top:.2rem;transition:color .3s var(--ease)}
.seg:hover::before{border-color:var(--line-gold);background:rgba(212,175,55,.07)}
.seg:has(input:checked)::before{
  border-color:var(--gold-500);
  background:linear-gradient(150deg,rgba(212,175,55,.28),rgba(212,175,55,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 22px -6px rgba(212,175,55,.7);
}
.seg:has(input:checked) span{color:var(--gold-100)}
.seg:has(input:checked) small{color:var(--gold-300)}
.seg:has(input:focus-visible)::before{outline:2px solid var(--gold-400);outline-offset:2px}
.seg--amount span{font-family:var(--f-mono);font-size:.84rem;font-variant-numeric:tabular-nums}

/* Panel de lectura */
.sim__panel{
  border-radius:var(--r-lg);padding:clamp(1.1rem,.9rem + .9vw,1.7rem);
  background:linear-gradient(165deg,rgba(2,5,9,.8),rgba(11,27,58,.4));
  border:1px solid var(--line);
  box-shadow:var(--recess);
}
.sim__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-bottom:1.5rem}
.kpi{
  padding:.9rem .7rem;border-radius:var(--r-md);text-align:center;
  background:linear-gradient(168deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  border:1px solid var(--line);box-shadow:var(--bezel);
}
.kpi--accent{
  background:linear-gradient(160deg,rgba(212,175,55,.22),rgba(212,175,55,.05));
  border-color:var(--line-gold);
  box-shadow:var(--bezel),0 0 24px -8px rgba(212,175,55,.7);
}
.kpi__label{
  display:flex;align-items:flex-end;justify-content:center;min-height:2.6em;
  font-family:var(--f-mono);font-size:.56rem;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;
  color:var(--txt-faint);margin-bottom:.5rem;
}
.kpi__value{
  display:block;font-family:var(--f-display);font-weight:700;
  font-size:clamp(1.02rem,.82rem + .75vw,1.5rem);line-height:1.1;
  color:var(--txt);font-variant-numeric:tabular-nums;letter-spacing:-.025em;
}
.kpi__value i{font-style:normal;font-size:.6em;opacity:.6;font-weight:600}
.kpi--accent .kpi__value{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}

.sim__timeline-label{
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:.85rem;
}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:.28rem;list-style:none;padding:0;margin-bottom:.85rem}
.months li{display:flex;flex-direction:column;align-items:center;gap:.32rem}
.months .m-dot{
  width:100%;aspect-ratio:1;max-width:34px;border-radius:7px;
  display:grid;place-items:center;
  font-family:var(--f-mono);font-size:.62rem;font-weight:500;
  background:rgba(255,255,255,.045);border:1px solid var(--line);
  color:var(--txt-faint);box-shadow:inset 0 1px 2px rgba(0,0,0,.45);
  transition:all .45s var(--ease-out);
}
.months li.is-pay .m-dot{
  background:var(--grad-gold);border-color:var(--gold-400);color:var(--ink-950);font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 16px -2px rgba(212,175,55,.8);
  transform:translateY(-2px);
}
.months .m-amt{
  font-family:var(--f-mono);font-size:.53rem;font-weight:700;color:var(--gold-300);
  font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;
  opacity:0;transition:opacity .4s var(--ease);
}
.months li.is-pay .m-amt{opacity:1}
.months__legend{
  display:flex;gap:1.1rem;list-style:none;padding:0;
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.08em;color:var(--txt-faint);
}
.months__legend li{display:flex;align-items:center;gap:.4rem}
.dot{width:9px;height:9px;border-radius:3px;display:block}
.dot--idle{background:rgba(255,255,255,.14)}
.dot--pay{background:var(--grad-gold)}
.sim__foot{margin-top:1rem;padding-top:.95rem;border-top:1px solid var(--line);font-size:.83rem;color:var(--txt-dim)}

@media (max-width:900px){
  .sim__shell{grid-template-columns:1fr}
  .sim__kpis{grid-template-columns:repeat(2,1fr)}
  .months .m-amt{display:none}
}
@media (max-width:480px){
  .segmented__row--amounts{grid-template-columns:repeat(2,1fr)}
  .months{gap:.18rem}
  .months .m-dot{font-size:.5rem;border-radius:5px}
}

/* ---------- 15. CREDO ---------- */
.creed{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.1rem,2vw,1.9rem);margin-top:clamp(3rem,5vw,4.5rem);
  padding:clamp(1.5rem,2vw,2.3rem);border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--ink-800),var(--ink-985));
  border:1px solid var(--line-gold);box-shadow:var(--bezel),var(--lift-2);
}
.creed__item{display:flex;gap:.95rem;align-items:flex-start}
.creed__item + .creed__item{border-left:1px solid var(--line);padding-left:clamp(1.1rem,2vw,1.9rem)}
.creed__item span{
  width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;
  color:var(--gold-300);border:1px solid var(--line-gold);background:rgba(212,175,55,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.creed__item svg{width:20px;height:20px}
.creed__item p{font-family:var(--f-display);font-size:.92rem;font-weight:600;line-height:1.45;color:var(--txt-dim)}
@media (max-width:960px){
  .creed{grid-template-columns:repeat(2,1fr)}
  .creed__item:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:560px){
  .creed{grid-template-columns:1fr}
  .creed__item + .creed__item{border-left:0;padding-left:0;padding-top:1.1rem;border-top:1px solid var(--line)}
}

/* ---------- 16. IMPULSO ---------- */
.impulse{
  position:relative;min-height:min(76vh,680px);display:flex;align-items:center;isolation:isolate;
  background:var(--paper-2);color:var(--ink-txt);padding-block:clamp(4rem,8vw,7rem);
}
.impulse__media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.impulse__media img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.impulse__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(95deg,#fff 12%,rgba(255,255,255,.93) 34%,rgba(255,255,255,.36) 56%,transparent 78%);
}
.impulse__inner{position:relative;z-index:1;max-width:42rem}
.impulse__title{
  font-size:clamp(2.2rem,1.25rem + 3.9vw,4.2rem);
  font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink-txt);margin-bottom:1.4rem;
}
.impulse__lead{
  font-size:var(--t-lead);color:var(--ink-txt-dim);max-width:34ch;
  padding-left:1.2rem;position:relative;
}
.impulse__lead::before{
  content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:2px;
  background:linear-gradient(to bottom,var(--azure-500),var(--gold-500));
}
@media (max-width:820px){
  .impulse__media::after{background:linear-gradient(to bottom,rgba(255,255,255,.96) 34%,rgba(255,255,255,.62) 70%,rgba(255,255,255,.22))}
  .impulse{min-height:auto}
}

/* ---------- 17. COMISIONES ---------- */
.section--commissions{
  background:
    radial-gradient(60% 50% at 14% 8%,rgba(37,99,235,.12),transparent 60%),
    linear-gradient(to bottom,var(--ink-900),var(--ink-985));
}
.comm{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.5vw,1.6rem);margin-bottom:clamp(2.4rem,4vw,3.4rem);perspective:1300px}
.comm__card{
  position:relative;padding:9px;border-radius:var(--r-xl);text-align:center;
  background:linear-gradient(168deg,rgba(255,255,255,.1),rgba(255,255,255,.022));
  border:1px solid var(--line-2);box-shadow:var(--bezel),var(--lift-2);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s var(--ease);
}
.comm__card:hover{border-color:var(--line-gold);box-shadow:var(--bezel),var(--lift-3),0 0 40px -14px rgba(212,175,55,.6)}
.comm__card--top{border-color:var(--line-gold);box-shadow:var(--bezel),var(--lift-2),0 0 34px -14px rgba(212,175,55,.55)}
.comm__face{
  padding:clamp(1.5rem,1.1rem + 1vw,2.1rem) clamp(1.2rem,1rem + .8vw,1.7rem);
  border-radius:var(--r-lg);
  background:linear-gradient(165deg,var(--ink-870),var(--ink-985));
  box-shadow:var(--recess);
}
.comm__icon{
  position:relative;display:grid;place-items:center;width:66px;height:66px;border-radius:18px;
  margin:0 auto 1rem;color:var(--gold-200);
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  border:1px solid var(--line-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 26px -8px rgba(0,0,0,.6);
  transform:translateZ(26px);
}
.comm__icon svg{width:30px;height:30px}
.comm__card h3{
  font-family:var(--f-mono);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--txt-dim);margin-bottom:.4rem;padding-bottom:.65rem;position:relative;
  transform:translateZ(14px);
}
.comm__card h3::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:48px;height:1px;background:var(--line-gold)}
.comm__rate{
  font-family:var(--f-display);font-weight:800;
  font-size:clamp(2.7rem,1.9rem + 2.6vw,3.9rem);line-height:1;letter-spacing:-.05em;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin-block:.55rem .3rem;transform:translateZ(20px);
}
.comm__rate i{font-style:normal;font-size:.48em}
.comm__note{font-size:.83rem;color:var(--txt-dim);margin-bottom:1.3rem}
.comm__note b{color:var(--gold-300)}
.comm__table{font-size:.83rem;text-align:left;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--recess)}
.comm__table thead th{
  padding:.5rem .95rem;font-family:var(--f-mono);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;color:#fff;background:linear-gradient(90deg,#16305F,#0C1B3C);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.comm__table thead th:last-child{text-align:right}
.comm__table td{
  padding:.46rem .95rem;border-bottom:1px solid var(--line);
  color:var(--txt-dim);font-family:var(--f-mono);font-size:.77rem;font-variant-numeric:tabular-nums;
}
.comm__table td:last-child{text-align:right;font-weight:700;color:var(--green-400)}
.comm__table tbody tr:last-child td{border-bottom:0}
.comm__table td i{font-style:normal;font-size:.72em;opacity:.65;font-weight:400}
@media (max-width:900px){ .comm{grid-template-columns:1fr;max-width:440px;margin-inline:auto} }

/* Calculadora */
.calc{
  position:relative;padding:11px;border-radius:var(--r-xl);
  background:linear-gradient(168deg,rgba(255,255,255,.1),rgba(255,255,255,.022));
  border:1px solid var(--line-2);box-shadow:var(--bezel),var(--lift-3);
}
.calc__face{
  padding:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);border-radius:var(--r-lg);
  background:linear-gradient(150deg,var(--ink-800),var(--ink-985));
  box-shadow:var(--recess);position:relative;overflow:hidden;
}
.calc__face::before{
  content:"";position:absolute;top:-40%;right:-8%;width:50%;height:160%;
  background:radial-gradient(circle,rgba(37,99,235,.26),transparent 62%);
  filter:blur(34px);pointer-events:none;
}
.calc__head{display:flex;gap:1.1rem;align-items:center;margin-bottom:1.8rem;position:relative}
.calc__badge{
  width:58px;height:58px;flex:none;border-radius:16px;display:grid;place-items:center;
  color:var(--azure-300);
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  border:1px solid var(--line-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}
.calc__badge svg{width:26px;height:26px}
.calc__head h3{font-size:var(--t-h3);margin-bottom:.3rem}
.calc__head p{font-size:.9rem;color:var(--txt-dim);max-width:60ch}
.calc__form{display:grid;grid-template-columns:1fr 1fr auto;gap:1.1rem;align-items:end;position:relative}
.calc__field{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.calc__field label{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--txt-faint)}
.calc__out{
  display:flex;flex-direction:column;gap:.3rem;align-items:flex-end;
  padding:.85rem 1.4rem;border-radius:var(--r-md);
  background:linear-gradient(150deg,rgba(212,175,55,.24),rgba(212,175,55,.05));
  border:1px solid var(--line-gold);
  box-shadow:var(--bezel),0 0 28px -10px rgba(212,175,55,.8);
  min-width:min(220px,100%);
}
.calc__out-label{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-300)}
.calc__out-value{
  font-family:var(--f-display);font-weight:800;
  font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);line-height:1;
  letter-spacing:-.035em;font-variant-numeric:tabular-nums;
  background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.calc__out-value i{font-style:normal;font-size:.58em;opacity:.7}
.calc__out-value em{font-style:normal;font-size:.38em;letter-spacing:.12em;margin-left:.3em;opacity:.7;font-family:var(--f-mono)}
.calc__foot{
  display:flex;align-items:center;gap:.7rem;margin-top:1.7rem;
  padding-top:1.25rem;border-top:1px solid var(--line);
  font-size:.88rem;color:var(--txt-dim);position:relative;
}
.calc__foot svg{width:19px;height:19px;color:var(--gold-400);flex:none}
.calc__foot b{color:var(--txt)}
@media (max-width:880px){
  .calc__form{grid-template-columns:1fr}
  .calc__out{align-items:center;min-width:0}
  .calc__head{flex-direction:column;text-align:center}
}

/* Select */
.select{position:relative}
.select select{
  width:100%;appearance:none;padding:.82rem 2.7rem .82rem 1.05rem;
  border-radius:var(--r-md);border:1px solid var(--line-2);
  background:linear-gradient(168deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  box-shadow:var(--bezel);
  color:var(--txt);font-size:.92rem;font-weight:500;cursor:pointer;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.select select:hover{border-color:var(--line-gold)}
.select select option{background:var(--ink-800);color:var(--txt)}
.select svg{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--gold-400);pointer-events:none}

/* ---------- 18. METAS ---------- */
.section--goals{background:linear-gradient(to bottom,var(--ink-985),var(--ink-870))}
.goals{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,1.5vw,1.6rem);list-style:none;padding:0;
  margin-bottom:clamp(3rem,5vw,4.5rem);perspective:1300px;
}
.goal{
  --gc:#3B6FE0;
  position:relative;padding:9px;border-radius:var(--r-xl);
  background:linear-gradient(168deg,rgba(255,255,255,.1),rgba(255,255,255,.022));
  border:1px solid var(--line-2);box-shadow:var(--bezel),var(--lift-2);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s var(--ease);
}
.goal--2{--gc:var(--teal-400)}
.goal--3{--gc:var(--gold-500)}
.goal:hover{border-color:color-mix(in srgb,var(--gc) 50%,transparent);box-shadow:var(--bezel),var(--lift-3),0 0 40px -14px color-mix(in srgb,var(--gc) 70%,transparent)}
.goal__face{
  position:relative;overflow:hidden;border-radius:var(--r-lg);
  padding:clamp(1.5rem,1.2rem + 1vw,2.1rem);
  background:linear-gradient(165deg,var(--ink-870),var(--ink-985));
  box-shadow:var(--recess);
}
.goal__face::before{
  content:"";position:absolute;top:-30%;left:-20%;width:65%;height:90%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--gc) 36%,transparent),transparent 68%);
  filter:blur(20px);
}
.goal__index{
  position:relative;display:block;font-family:var(--f-display);font-weight:800;
  font-size:2.4rem;line-height:1;letter-spacing:-.06em;
  color:color-mix(in srgb,var(--gc) 55%,#fff);margin-bottom:.55rem;
  transform:translateZ(18px);
}
.goal__icon{
  position:absolute;top:clamp(1.5rem,1.2rem + 1vw,2.1rem);right:clamp(1.5rem,1.2rem + 1vw,2.1rem);
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;
  color:color-mix(in srgb,var(--gc) 62%,#fff);
  background:color-mix(in srgb,var(--gc) 15%,transparent);
  border:1px solid color-mix(in srgb,var(--gc) 36%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  transform:translateZ(24px);
}
.goal__icon svg{width:24px;height:24px}
.goal__tier{
  position:relative;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.19em;text-transform:uppercase;
  color:color-mix(in srgb,var(--gc) 50%,#fff);margin-bottom:.4rem;
}
.goal__amount{
  position:relative;font-family:var(--f-display);font-weight:800;
  font-size:clamp(2.5rem,1.85rem + 2.3vw,3.5rem);line-height:1;
  letter-spacing:-.05em;color:var(--txt);transform:translateZ(14px);
}
.goal__amount small{font-size:.48em;font-weight:700;margin-left:.05em;opacity:.8}
.goal__caption{
  position:relative;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--txt-faint);margin-top:.35rem;
}
.goal__rail{
  position:relative;height:6px;border-radius:3px;margin-block:1.3rem 1.1rem;
  background:rgba(0,0,0,.5);overflow:hidden;box-shadow:var(--recess);
}
.goal__rail span{
  display:block;height:100%;width:0;border-radius:3px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 38%,#fff),var(--gc));
  box-shadow:0 0 12px color-mix(in srgb,var(--gc) 80%,transparent);
  transition:width 1.4s var(--ease-out) .2s;
}
.goal.is-in .goal__rail span{width:var(--w)}
.goal__reward{
  position:relative;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;
  padding-top:1rem;border-top:1px solid var(--line);
  font-size:.87rem;color:var(--txt-dim);font-weight:600;
}
.goal__reward b{
  font-family:var(--f-display);font-size:1.55rem;font-weight:800;letter-spacing:-.035em;
  color:color-mix(in srgb,var(--gc) 42%,#fff);font-variant-numeric:tabular-nums;
}
.goal__reward span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-faint)}
@media (max-width:940px){ .goals{grid-template-columns:1fr;max-width:460px;margin-inline:auto} }

.goals__sub{
  display:flex;align-items:center;justify-content:center;gap:1.1rem;
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:2rem;font-weight:500;
}
.goals__sub::before,.goals__sub::after{content:"";height:1px;width:min(90px,12vw);background:linear-gradient(90deg,transparent,var(--gold-600))}
.goals__sub::after{background:linear-gradient(90deg,var(--gold-600),transparent)}

.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.5vw,1.6rem);list-style:none;padding:0}
.benefit{
  position:relative;padding:clamp(1.4rem,1.15rem + .9vw,1.9rem);padding-top:2.3rem;
  border-radius:var(--r-lg);
  background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  border:1px solid var(--line);box-shadow:var(--bezel);
  transition:border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease);
}
.benefit:hover{border-color:var(--line-gold);box-shadow:var(--bezel),0 0 30px -12px rgba(212,175,55,.6)}
.benefit__n{
  position:absolute;top:-15px;left:clamp(1.4rem,1.15rem + .9vw,1.9rem);
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  font-family:var(--f-mono);font-weight:700;font-size:.8rem;
  background:var(--grad-gold);color:var(--ink-950);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 18px rgba(212,175,55,.42);
}
.benefit__icon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  color:var(--gold-300);border:1px solid var(--line-gold);background:rgba(212,175,55,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);margin-bottom:.95rem;
}
.benefit__icon svg{width:21px;height:21px}
.benefit h4{font-size:1rem;margin-bottom:.5rem;color:var(--txt)}
.benefit p{font-size:.87rem;color:var(--txt-dim);line-height:1.65}
@media (max-width:900px){ .benefits{grid-template-columns:1fr} }

/* ---------- 19. FAQ ---------- */
.section--faq{background:linear-gradient(to bottom,var(--ink-870),var(--ink-900))}
.faq{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,4vw,4.5rem);align-items:start}
.faq .section__head{margin-bottom:0;position:sticky;top:calc(var(--header-h) + 2rem)}
.faq__list{display:flex;flex-direction:column;gap:.6rem}
.qa{
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  box-shadow:var(--bezel);
  transition:border-color .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease);
}
.qa[open]{
  border-color:var(--line-gold);
  background:linear-gradient(168deg,rgba(212,175,55,.09),rgba(212,175,55,.02));
  box-shadow:var(--bezel),0 0 28px -12px rgba(212,175,55,.6);
}
.qa summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.05rem 1.35rem;cursor:pointer;list-style:none;
  font-family:var(--f-display);font-size:.97rem;font-weight:600;color:var(--txt);
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--gold-200)}
.qa summary svg{width:18px;height:18px;flex:none;color:var(--gold-400);transition:transform .4s var(--ease)}
.qa[open] summary svg{transform:rotate(180deg)}
.qa__body{padding:0 1.35rem 1.3rem;font-size:.92rem;color:var(--txt-dim);line-height:1.7}
.qa__body ul{margin:.65rem 0 0;padding-left:1.05rem}
.qa__body li{margin-bottom:.32rem}
.qa__body b{color:var(--gold-200)}
.qa__body a{color:var(--gold-300);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){ .faq{grid-template-columns:1fr} .faq .section__head{position:static} }

/* ---------- 20. CONTACTO ---------- */
.section--contact{background:linear-gradient(to bottom,var(--ink-900),var(--ink-985))}
.contact__glow{
  position:absolute;bottom:-25%;left:50%;transform:translateX(-50%);
  width:min(1100px,110%);height:70%;
  background:radial-gradient(circle,rgba(212,175,55,.18),transparent 62%);
  filter:blur(50px);pointer-events:none;
}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.2rem,4vw,4.5rem);align-items:center;position:relative;z-index:1}
.contact .section__title{font-size:clamp(2rem,1.25rem + 3.1vw,3.5rem)}
.contact__lead{font-size:var(--t-lead);color:var(--txt-dim);max-width:44ch;margin-bottom:2.1rem}
.contact__info{list-style:none;padding:0;display:flex;flex-direction:column;gap:1rem}
.contact__info li{display:flex;gap:.9rem;align-items:center}
.contact__info span{
  width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;
  color:var(--gold-300);border:1px solid var(--line-gold);background:rgba(212,175,55,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.contact__info svg{width:20px;height:20px}
.contact__info b{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);display:block;margin-bottom:.15rem}
.contact__info div{font-size:.94rem;color:var(--txt);font-weight:500}
.contact__info a:hover{color:var(--gold-300)}

.form{
  padding:11px;border-radius:var(--r-xl);
  background:linear-gradient(168deg,rgba(255,255,255,.1),rgba(255,255,255,.022));
  border:1px solid var(--line-gold);box-shadow:var(--bezel),var(--lift-3);
}
.form__face{
  padding:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);border-radius:var(--r-lg);
  background:linear-gradient(165deg,var(--ink-870),var(--ink-985));
  box-shadow:var(--recess);
}
.form__title{font-size:var(--t-h3);margin-bottom:1.5rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem;min-width:0}
.field label{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--txt-faint)}
.field__opt{text-transform:none;letter-spacing:0;opacity:.7}
.field input,.field textarea{
  width:100%;padding:.82rem 1.05rem;border-radius:var(--r-md);
  border:1px solid var(--line-2);
  background:linear-gradient(168deg,rgba(0,0,0,.35),rgba(255,255,255,.02));
  box-shadow:var(--recess);
  color:var(--txt);font-size:.93rem;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.field textarea{resize:vertical;min-height:106px;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--txt-faint);opacity:.65}
.field input:hover,.field textarea:hover{border-color:var(--line-gold)}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--gold-500);
  box-shadow:var(--recess),0 0 0 3px rgba(212,175,55,.18);
}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{
  border-color:var(--red-400);box-shadow:var(--recess),0 0 0 3px rgba(240,101,111,.16);
}
.field__error{font-size:.76rem;color:var(--red-400);font-weight:500}
.field__error:empty{display:none}

.check{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer;margin-block:.35rem 1.3rem}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{
  width:22px;height:22px;flex:none;margin-top:1px;border-radius:6px;
  border:1px solid var(--line-2);
  background:linear-gradient(168deg,rgba(0,0,0,.35),rgba(255,255,255,.02));
  box-shadow:var(--recess);
  display:grid;place-items:center;color:transparent;transition:all .25s var(--ease);
}
.check__box svg{width:14px;height:14px}
.check:hover .check__box{border-color:var(--gold-500)}
.check input:checked + .check__box{
  background:var(--grad-gold);border-color:var(--gold-400);color:var(--ink-950);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
.check input:focus-visible + .check__box{outline:2px solid var(--gold-400);outline-offset:3px}
.check__text{font-size:.83rem;color:var(--txt-dim);line-height:1.55}
.form__status{margin-top:.95rem;font-size:.88rem;font-weight:500;text-align:center;color:var(--gold-300)}
.form__status.is-ok{color:var(--green-400)}
.form__status.is-err{color:var(--red-400)}
@media (max-width:960px){ .contact{grid-template-columns:1fr} }
@media (max-width:520px){ .form__row{grid-template-columns:1fr;gap:0} }

/* ---------- 21. FOOTER ---------- */
.site-footer{background:var(--ink-985);border-top:1px solid var(--line-gold);padding-top:clamp(3rem,5vw,4.5rem);position:relative}
.site-footer::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(600px,70%);height:1px;background:linear-gradient(90deg,transparent,var(--gold-400),transparent);
}
.site-footer__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(2rem,4vw,4rem);padding-bottom:clamp(2.4rem,4vw,3.4rem)}
.brand--footer .brand__mark{width:50px;height:50px}
.brand--footer .brand__name{font-size:1.65rem}
.site-footer__slogan{margin-top:1rem;font-family:var(--f-serif);font-size:1.05rem;color:var(--gold-300);font-style:italic}
.site-footer__pills{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:1rem}
.site-footer__pills span{
  padding:.28rem .75rem;border-radius:var(--r-pill);
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--azure-300);background:rgba(37,99,235,.11);border:1px solid rgba(37,99,235,.3);
}
.site-footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.4rem)}
.site-footer__nav h3{font-family:var(--f-mono);font-size:.64rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-200);margin-bottom:.95rem}
.site-footer__nav ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem}
.site-footer__nav a{font-size:.87rem;color:var(--txt-faint);transition:color .25s var(--ease),padding-left .25s var(--ease)}
.site-footer__nav a:hover{color:var(--gold-300);padding-left:5px}
.site-footer__legal{
  padding:1.4rem;border-radius:var(--r-md);
  background:rgba(255,255,255,.028);border:1px solid var(--line);
  box-shadow:var(--bezel);margin-bottom:1.7rem;
}
.site-footer__legal p{font-size:.77rem;color:var(--txt-faint);line-height:1.7}
.site-footer__legal b{color:var(--txt-dim)}
.site-footer__bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;padding-block:1.4rem;border-top:1px solid var(--line)}
.site-footer__bottom p{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.05em;color:var(--txt-faint)}
.site-footer__bottom ul{display:flex;flex-wrap:wrap;gap:1.3rem;list-style:none;padding:0}
.site-footer__bottom a{font-size:.77rem;color:var(--txt-faint)}
.site-footer__bottom a:hover{color:var(--gold-300)}
@media (max-width:860px){
  .site-footer__top{grid-template-columns:1fr}
  .site-footer__nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}

/* ---------- 22. VOLVER ARRIBA ---------- */
.to-top{
  position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);z-index:100;
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  color:var(--ink-950);background:var(--grad-gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 30px -8px rgba(212,175,55,.7);
  transform:translateY(14px) scale(.85);opacity:0;
  /* Sin .is-show el botón es invisible: también debe dejar de recibir clics y foco. */
  visibility:hidden;pointer-events:none;
  transition:transform .4s var(--ease-out),opacity .4s var(--ease-out),visibility 0s linear .4s;
}
.to-top.is-show{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.to-top:hover{transform:translateY(-3px)}
.to-top svg{width:19px;height:19px;transform:rotate(-45deg)}

/* ---------- 23. MOVIMIENTO REDUCIDO ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  .js .reveal{opacity:1;transform:none}
  .hero__media img,.hero__aurora,.ticker__track,.flow__wire::after,.pulse{animation:none}
  .goal .goal__rail span{width:var(--w)}
  .mv__card,.market,.plan,.comm__card,.goal{transform:none !important}
}

/* Sin puntero fino (táctil) no hay inclinación 3D ni imán */
@media (hover:none){
  .mv__card,.market,.plan,.comm__card,.goal{transform:none !important}
  .btn{transform:none !important}
}

/* ---------- 24. IMPRESIÓN ---------- */
@media print{
  .site-header,.nav,.to-top,.hero__ticker,.hero__scroll,.hero__hud,
  .scroll-progress,.section__deco,.flow__wire{display:none !important}
  body{background:#fff;color:#000}
  .section{padding-block:1.5rem;break-inside:avoid}
  .gold-ink,.blue-ink{-webkit-text-fill-color:#000;color:#000}
}

/* ---------- 25. COMPONENTES TRASLADADOS DEL DISEÑO LOCALHOST 5178 ---------- */

/* Sección 2: Documentos Institucionales Oficiales (Diseño Fiel a la Referencia) */
.legal__visual{
  min-width:0;
  perspective:1600px;
  position:relative;
  padding-top:24px;
}

.legal-docs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(0.75rem, 1.3vw, 1.25rem);
  align-items:stretch;
  transform-style:preserve-3d;
  transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  padding-bottom:10px;
}

.legal-doc{
  position:relative;
  min-width:0;
  min-height:390px;
  display:flex;
  flex-direction:column;
  outline:none;
  cursor:pointer;
  transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, filter 0.4s ease;
}

/* Medallón Circular Superior (Centrado y sobrepuesto en la parte superior) */
.legal-doc__badge{
  position:absolute;
  top:-22px;
  left:50%;
  transform:translateX(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #2563EB 0%, #1D4ED8 50%, #172554 100%);
  border:3px solid #ffffff;
  box-shadow:0 6px 18px rgba(0, 0, 0, 0.35), 0 0 12px rgba(37, 99, 235, 0.4);
  display:grid;
  place-items:center;
  z-index:10;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
}

.legal-doc:hover .legal-doc__badge{
  transform:translateX(-50%) scale(1.1);
  box-shadow:0 8px 24px rgba(37, 99, 235, 0.65), 0 0 18px rgba(59, 130, 246, 0.8);
}

.legal-doc__badge-icon{
  width:22px;
  height:22px;
  color:#ffffff;
  filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

.legal-doc__badge-text{
  font-family:var(--f-display);
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#ffffff;
  line-height:1;
  text-shadow:0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Hoja de Documento Blanca con Doble Margen Inset */
.legal-doc__sheet{
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
  padding:2.2rem 0.9rem 0.9rem;
  border-radius:18px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfd 55%, #f4f6f9 100%);
  border:1px solid rgba(255, 255, 255, 0.9);
  box-shadow:
    0 16px 36px -4px rgba(0, 0, 0, 0.45),
    0 2px 6px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 1);
  transition:all 0.4s ease;
}

/* Margen interior redondeado de certificado */
.legal-doc__sheet::before{
  content:"";
  position:absolute;
  inset:7px;
  border:1.5px solid #e2e8f0;
  border-radius:12px;
  pointer-events:none;
  transition:border-color 0.35s ease;
}

.legal-doc:hover .legal-doc__sheet{
  transform:translateY(-8px);
  box-shadow:
    0 26px 50px -6px rgba(0, 0, 0, 0.6),
    0 0 25px rgba(37, 99, 235, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 1);
}

.legal-doc:hover .legal-doc__sheet::before{
  border-color:rgba(37, 99, 235, 0.4);
}

/* Título de la Institución */
.legal-doc__title{
  font-family:var(--f-display);
  font-size:clamp(0.82rem, 0.72rem + 0.3vw, 0.98rem);
  font-weight:800;
  line-height:1.24;
  letter-spacing:0.04em;
  text-transform:uppercase;
  text-align:center;
  color:#0f274a;
  margin:0.25rem 0 0.85rem;
}

/* Contenedor del Sello Central */
.legal-doc__seal-box{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0.4rem 0.2rem;
  min-height:125px;
}

.legal-doc__seal-img{
  max-width:118px;
  max-height:118px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:contrast(1.05);
  transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.legal-doc:hover .legal-doc__seal-img{
  transform:scale(1.06);
}

/* Líneas de Contenido Placeholder */
.legal-doc__lines{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:0 0.5rem;
  margin:0.6rem 0 0.8rem;
}

.legal-doc__line{
  height:3.5px;
  border-radius:999px;
  background:#e2e8f0;
  display:block;
}

.legal-doc__line--full{
  width:100%;
}

.legal-doc__line--partial{
  width:55%;
}

/* Pie de Documento: Firma + Lacre de Listón Azul */
.legal-doc__footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:0.5rem;
  padding:0.2rem 0.4rem 0;
  margin-top:auto;
}

.legal-doc__sig-img{
  max-width:68px;
  height:auto;
  object-fit:contain;
  filter:contrast(1.1);
}

.legal-doc__ribbon-img{
  max-width:44px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(0, 30, 90, 0.35));
  transition:transform 0.3s ease;
}

.legal-doc:hover .legal-doc__ribbon-img{
  transform:rotate(8deg) scale(1.06);
}

.legal-docs__note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  margin-top:2.2rem;
  font-family:var(--f-mono);
  font-size:0.64rem;
  letter-spacing:0.06em;
  text-align:center;
  color:rgba(255, 255, 255, 0.65);
}

.legal-docs__note span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2563EB;
  box-shadow:0 0 0 5px rgba(37, 99, 235, 0.2);
}

@media (max-width:1080px) and (min-width:901px){
  .legal{grid-template-columns:0.95fr 1.05fr;gap:2rem}
  .legal-doc__sheet{padding:2rem 0.7rem 0.75rem}
  .legal-doc__title{font-size:0.8rem}
  .legal-doc__seal-img{max-width:100px;max-height:100px}
}
@media (max-width:900px){
  .legal-docs{max-width:700px;margin-inline:auto;transform:none}
}
@media (max-width:640px){
  .legal-docs{grid-template-columns:1fr;max-width:320px;gap:2.6rem;margin-top:10px}
  .legal-doc{min-height:360px}
  .legal-doc__sheet{padding:2.2rem 1.1rem 1rem}
  .legal-doc__seal-img{max-width:130px;max-height:130px}
}

/* Comisiones: parallax puro por zonas inspirado en la referencia. */
.comm{align-items:stretch;perspective:none}
.comm__card{
  --comm-accent:#2979FF;--comm-soft:#64D8FF;--card-rx:0deg;--card-ry:0deg;
  position:relative;min-width:0;padding:0;border:0;border-radius:22px;background:transparent;
  box-shadow:none;transform:none;transform-style:preserve-3d;isolation:isolate;
}
.comm__card--b{--comm-accent:#09C12A;--comm-soft:#8BFF9E}
.comm__card--c{--comm-accent:#BFFF00;--comm-soft:#E5FF91}
.comm__card::before{
  content:"";position:absolute;z-index:-1;left:9%;right:9%;bottom:-18px;height:46px;border-radius:50%;
  background:color-mix(in srgb,var(--comm-accent) 34%,transparent);filter:blur(24px);opacity:.42;
  transition:opacity .35s var(--ease),transform .45s var(--ease-out);
}
.comm__card:hover,.comm__card--top{border:0;box-shadow:none;transform:none}
.comm__card:hover::before{opacity:.72;transform:scale(1.05)}
.comm__face{
  position:relative;height:100%;min-height:520px;padding:clamp(1.45rem,1rem + 1vw,2rem);
  overflow:hidden;isolation:isolate;border:1px solid color-mix(in srgb,var(--comm-accent) 36%,rgba(255,255,255,.12));
  border-radius:22px;background:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px) 0 0/24px 24px,
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) 0 0/24px 24px,
    radial-gradient(circle at 50% -8%,color-mix(in srgb,var(--comm-accent) 22%,transparent),transparent 45%),
    linear-gradient(145deg,#1A1D26 0%,#0B0D13 68%,#07090E 100%);
  box-shadow:0 34px 70px -34px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.12);
  transform-origin:50% 50% 70px;transform-style:preserve-3d;
  transform:translateY(0) rotateX(var(--card-rx)) rotateY(var(--card-ry));
  transition:transform .42s cubic-bezier(.175,.885,.32,1.275),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.comm__face::before{
  content:"";position:absolute;z-index:0;inset:-45%;pointer-events:none;opacity:.42;
  background:radial-gradient(circle,color-mix(in srgb,var(--comm-accent) 28%,transparent),transparent 53%);
  transform:scale(1);transition:transform .42s cubic-bezier(.175,.885,.32,1.275),opacity .3s var(--ease);
}
.comm__face::after{
  content:"";position:absolute;z-index:1;left:1.3rem;right:1.3rem;top:0;height:3px;border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,transparent,var(--comm-accent),var(--comm-soft),transparent);
  box-shadow:0 0 20px color-mix(in srgb,var(--comm-accent) 55%,transparent);
}
.comm__card:hover .comm__face{
  transform:translateY(-8px) rotateX(var(--card-rx)) rotateY(var(--card-ry));
  border-color:color-mix(in srgb,var(--comm-accent) 68%,white 8%);
  box-shadow:0 46px 86px -40px rgba(0,0,0,.95),0 0 42px -24px var(--comm-accent),inset 0 1px 0 rgba(255,255,255,.16);
}
.comm__card:hover .comm__face::before{opacity:.72;transform:scale(1.08)}
.comm__face>*:not(.comm__trap-grid){position:relative;z-index:2}
.comm__eyeline{
  display:block;margin-bottom:1.05rem;font-family:var(--f-mono);font-size:.58rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;text-align:left;color:var(--comm-soft);transform:translateZ(34px);
}
.comm__icon{
  border-color:color-mix(in srgb,var(--comm-accent) 38%,transparent);color:var(--comm-accent);
  background:color-mix(in srgb,var(--comm-accent) 12%,transparent);box-shadow:0 14px 28px -20px var(--comm-accent);
  transform:translateZ(46px);
}
.comm__card h3{color:#FFF;transform:translateZ(36px)}
.comm__card h3::after{background:linear-gradient(90deg,transparent,var(--comm-accent),transparent)}
.comm__rate{
  color:var(--comm-soft);background:none;-webkit-text-fill-color:currentColor;text-shadow:0 0 28px color-mix(in srgb,var(--comm-accent) 30%,transparent);
  transform:translateZ(58px);
}
.comm__note{color:rgba(255,255,255,.64);transform:translateZ(32px)}
.comm__note b{color:var(--comm-soft)}
.comm__table{
  width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(5,7,12,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transform:translateZ(24px);
}
.comm__table thead th{background:color-mix(in srgb,var(--comm-accent) 10%,rgba(255,255,255,.02));color:rgba(255,255,255,.62)}
.comm__table td{color:rgba(255,255,255,.74);border-bottom-color:rgba(255,255,255,.07)}
.comm__table td:last-child{color:var(--comm-soft)}
.comm__trap-grid{
  position:absolute;z-index:8;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);
  overflow:hidden;border-radius:inherit;
}
.comm__trap{min-width:0;min-height:0}
.comm__card:has(.comm__trap:nth-child(5n + 1):hover){--card-ry:-12deg}
.comm__card:has(.comm__trap:nth-child(5n + 2):hover){--card-ry:-6deg}
.comm__card:has(.comm__trap:nth-child(5n + 3):hover){--card-ry:0deg}
.comm__card:has(.comm__trap:nth-child(5n + 4):hover){--card-ry:6deg}
.comm__card:has(.comm__trap:nth-child(5n + 5):hover){--card-ry:12deg}
.comm__card:has(.comm__trap:nth-child(-n + 5):hover){--card-rx:12deg}
.comm__card:has(.comm__trap:nth-child(n + 6):nth-child(-n + 10):hover){--card-rx:6deg}
.comm__card:has(.comm__trap:nth-child(n + 11):nth-child(-n + 15):hover){--card-rx:0deg}
.comm__card:has(.comm__trap:nth-child(n + 16):nth-child(-n + 20):hover){--card-rx:-6deg}
.comm__card:has(.comm__trap:nth-child(n + 21):hover){--card-rx:-12deg}

@media (max-width:960px){.comm__face{min-height:0}}
@media (hover:none){.comm__trap-grid{display:none}.comm__face,.comm__card:hover .comm__face{transform:none}}
@supports not selector(:has(*)){.comm__trap-grid{display:none}}
@media (prefers-reduced-motion:reduce){
  .comm__trap-grid{display:none}.comm__face,.comm__card:hover .comm__face{transform:none;transition:none}
}


/* ============================================================
   SECCIÓN 10: ÁUREO · ASISTENTE VIRTUAL IA 3D HOLOGRÁFICO v2.0
   ============================================================ */

.advisor-stage {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-top: 1rem;
}

.advisor-bot {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto -35px;
}

/* Píldora de estado en vivo */
.advisor-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.45rem 1.25rem;
  border-radius: 28px;
  background: rgba(10, 12, 28, 0.96);
  border: 1.5px solid rgba(0, 240, 255, 0.45);
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  margin-bottom: 1.1rem;
  backdrop-filter: blur(16px);
  user-select: none;
  transition: all 0.3s var(--ease);
}

.advisor-status-pill:hover {
  border-color: #00f0ff;
  box-shadow: 0 0 30px rgba(0, 240, 255, 0.5);
  transform: translateY(-2px);
}

.advisor-live-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #00f0ff;
  box-shadow: 0 0 14px #00f0ff;
  animation: liveDotPulse 1.6s ease-in-out infinite alternate;
}

@keyframes liveDotPulse {
  0% { transform: scale(0.85); opacity: 0.6; box-shadow: 0 0 4px #00f0ff; }
  100% { transform: scale(1.3); opacity: 1; box-shadow: 0 0 18px #00f0ff, 0 0 26px rgba(0, 240, 255, 0.8); }
}

.advisor-role {
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #e2e8f0;
  text-transform: uppercase;
}

/* Ecualizador de voz / espectro animado */
.advisor-wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 14px;
}

.advisor-wave span {
  display: inline-block;
  width: 2.5px;
  background: #00f0ff;
  border-radius: 2px;
  animation: wavePulse 1.2s ease-in-out infinite alternate;
  box-shadow: 0 0 8px #00f0ff;
}

.advisor-wave span:nth-child(1) { height: 4px; animation-delay: 0.1s; }
.advisor-wave span:nth-child(2) { height: 12px; animation-delay: 0.3s; }
.advisor-wave span:nth-child(3) { height: 7px; animation-delay: 0.2s; }
.advisor-wave span:nth-child(4) { height: 14px; animation-delay: 0.4s; }

.advisor-wave.is-active span {
  animation-duration: 0.6s;
  background: #f0cb79;
  box-shadow: 0 0 10px #f0cb79;
}

@keyframes wavePulse {
  0% { transform: scaleY(0.3); opacity: 0.4; }
  100% { transform: scaleY(1.35); opacity: 1; }
}

/* Burbuja de diálogo de Áureo con esquinas Cyber HUD */
.advisor-bot__bubble-wrap {
  position: relative;
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.8rem;
  z-index: 15;
}

.advisor-bot__bubble {
  position: relative;
  width: 100%;
  padding: 1.15rem 1.6rem;
  border-radius: 16px;
  background: rgba(12, 14, 28, 0.96);
  backdrop-filter: blur(24px);
  border: 1.5px solid rgba(0, 240, 255, 0.45);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.75), 0 0 38px rgba(0, 240, 255, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  color: #f1f5f9;
  font-family: var(--f-sans);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.advisor-bot__bubble strong {
  color: #00f0ff;
  font-weight: 700;
}

.advisor-bot__bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 10px 0;
  border-style: solid;
  border-color: rgba(12, 14, 28, 0.96) transparent transparent;
  z-index: 2;
}

.advisor-bot__bubble::before {
  content: "";
  position: absolute;
  top: calc(100% + 1.5px);
  left: 50%;
  transform: translateX(-50%);
  border-width: 11px 11px 0;
  border-style: solid;
  border-color: rgba(0, 240, 255, 0.45) transparent transparent;
  z-index: 1;
}

/* Píldoras de preguntas rápidas (Chips) */
.advisor-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
}

.advisor-chip {
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #cbd5e1;
  background: rgba(16, 18, 40, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 9px;
  padding: 0.45rem 0.9rem;
  cursor: pointer;
  transition: all 0.25s var(--ease);
  backdrop-filter: blur(10px);
  white-space: nowrap;
  user-select: none;
}

.advisor-chip:hover {
  color: #fff;
  border-color: #00f0ff;
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.25) 0%, rgba(16, 18, 40, 0.98) 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 240, 255, 0.28);
}

.advisor-chip:active {
  transform: translateY(0);
}

/* Contenedor WebGL 3D Real para el Robot Áureo */
.advisor-bot__avatar {
  position: relative;
  width: clamp(300px, 32vw, 400px);
  height: 380px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.advisor-3d-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: grab;
}

.advisor-3d-container:active {
  cursor: grabbing;
}

.advisor-3d-container canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  outline: none;
}

.advisor-avatar-glow {
  position: absolute;
  inset: -15px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(0, 240, 255, 0.28) 0%, rgba(212, 175, 55, 0.16) 48%, transparent 72%);
  filter: blur(24px);
  pointer-events: none;
  z-index: 1;
}

/* Estados de ánimo reactivos (Moods) */
.advisor-stage[data-mood="focus"] .advisor-bot__bubble {
  border-color: #00f0ff;
  box-shadow: 0 0 42px rgba(0, 240, 255, 0.4), 0 22px 50px rgba(0, 0, 0, 0.75);
}

.advisor-stage[data-mood="error"] .advisor-bot__bubble {
  border-color: #f43f5e;
  box-shadow: 0 0 42px rgba(244, 63, 94, 0.42), 0 22px 50px rgba(0, 0, 0, 0.75);
}

.advisor-stage[data-mood="error"] .advisor-bot__bubble::before {
  border-color: #f43f5e transparent transparent;
}

.advisor-stage[data-mood="success"] .advisor-bot__bubble {
  border-color: #10b981;
  box-shadow: 0 0 42px rgba(16, 185, 129, 0.42), 0 22px 50px rgba(0, 0, 0, 0.75);
}

.advisor-stage[data-mood="success"] .advisor-bot__bubble::before {
  border-color: #10b981 transparent transparent;
}

@media (max-width: 960px) {
  .advisor-stage {
    margin-top: 3.5rem;
  }
}

@media (max-width: 620px) {
  .advisor-stage {
    padding-top: 0.5rem;
  }
  .advisor-bot__bubble {
    font-size: 0.88rem;
    padding: 0.95rem 1.2rem;
  }
  .advisor-chip {
    font-size: 0.64rem;
    padding: 0.38rem 0.75rem;
  }
  .advisor-bot__avatar {
    width: 290px;
    height: 340px;
  }
}

/* ---------- 26. SECCIÓN 3 · RED DE MISIÓN Y VISIÓN ---------- */
.section--company{
  --company-pink:#FF4D6B;--company-violet:#8B5CF6;--company-blue:#4C8DFF;
  overflow:hidden;isolation:isolate;color:#F6F2FF;
  background:
    radial-gradient(ellipse at 82% 16%,rgba(139,92,246,.3),transparent 36%),
    radial-gradient(ellipse at 14% 78%,rgba(255,77,107,.2),transparent 34%),
    linear-gradient(145deg,#0C0019 0%,#15122F 48%,#070812 100%);
}
.section--company::before{
  content:"";position:absolute;z-index:-2;inset:0;pointer-events:none;opacity:.42;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(135deg,transparent 2%,#000 42%,transparent 94%);
}
.section--company .section__deco{
  z-index:-1;inset:0;width:100%;opacity:1;overflow:hidden;
  mask-image:none;-webkit-mask-image:none;
  background:
    radial-gradient(circle at 16% 72%,rgba(255,77,107,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 31% 61%,rgba(255,255,255,.7) 0 1px,transparent 2px),
    radial-gradient(circle at 48% 49%,rgba(139,92,246,.9) 0 2px,transparent 3px),
    radial-gradient(circle at 66% 37%,rgba(255,255,255,.66) 0 1px,transparent 2px),
    radial-gradient(circle at 84% 25%,rgba(76,141,255,.9) 0 2px,transparent 3px);
}
.section--company .section__deco img{display:none}
.section--company .section__deco::before{
  content:"";position:absolute;left:-12%;top:56%;width:128%;height:2px;transform:rotate(-22deg);
  background:linear-gradient(90deg,transparent,var(--company-pink) 20%,var(--company-violet) 52%,var(--company-blue) 82%,transparent);
  box-shadow:0 0 18px rgba(255,77,107,.35),0 0 34px rgba(139,92,246,.22);
}
.section--company .section__deco::after{
  content:"";position:absolute;left:3%;top:78%;width:9px;height:9px;border-radius:50%;
  background:#FFF;box-shadow:0 0 0 6px rgba(255,77,107,.16),0 0 26px 8px rgba(255,77,107,.52);
  animation:companyParticle 6.5s ease-in-out infinite;
}
@keyframes companyParticle{
  0%,10%{opacity:0;transform:translate3d(0,0,0) scale(.5)}
  20%{opacity:1}
  82%{opacity:1;transform:translate3d(92vw,-40vw,0) scale(1)}
  100%{opacity:0;transform:translate3d(105vw,-46vw,0) scale(.4)}
}
.section--company .container{position:relative;z-index:2}
.section--company .section__head{max-width:780px}
.section--company .eyebrow--dark{color:#B9A7E8}
.section--company .section__title{color:#FFF;text-shadow:0 10px 44px rgba(0,0,0,.26)}
.section--company .gold-ink{
  background:linear-gradient(100deg,#FF718A 0%,#D4AF37 48%,#8AB9FF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section--company .section__sub{color:#B8B4CC}
.section--company .section__sub strong{color:#FFF}
.section--company .mv{
  position:relative;grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(1.3rem,3vw,3rem);
  perspective:1300px;margin-bottom:clamp(2.8rem,5vw,4.5rem);
}
.section--company .mv::before{
  content:"";position:absolute;z-index:-1;left:44%;right:44%;top:50%;height:2px;
  background:linear-gradient(90deg,var(--company-pink),var(--company-blue));
  box-shadow:0 0 20px rgba(139,92,246,.8);transform:rotate(-7deg);
}
.section--company .mv__card{
  --node:var(--company-pink);min-height:330px;margin:0;padding:clamp(1.7rem,1.15rem + 1.8vw,2.8rem);
  color:#F8F5FF;border:1px solid color-mix(in srgb,var(--node) 36%,rgba(255,255,255,.12));
  border-radius:22px;background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/22px 22px,
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/22px 22px,
    radial-gradient(circle at 90% 4%,color-mix(in srgb,var(--node) 26%,transparent),transparent 34%),
    linear-gradient(145deg,rgba(39,31,67,.96),rgba(11,9,25,.94));
  box-shadow:0 32px 72px -36px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.12);
  transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);
  transition:transform .55s var(--ease-out),border-color .35s var(--ease),box-shadow .45s var(--ease-out);
}
.section--company .mv__card:nth-child(2){--node:var(--company-blue);margin-top:0}
.section--company .mv__card::before{
  content:"";position:absolute;left:1.2rem;right:1.2rem;top:0;bottom:auto;width:auto;height:3px;
  border-radius:0 0 8px 8px;background:linear-gradient(90deg,transparent,var(--node),#FFF,transparent);
  box-shadow:0 0 24px color-mix(in srgb,var(--node) 62%,transparent);
}
.section--company .mv__card::after{
  content:"";position:absolute;right:1.4rem;bottom:1.35rem;width:7px;height:7px;border-radius:50%;
  background:var(--node);box-shadow:0 0 0 7px color-mix(in srgb,var(--node) 12%,transparent),0 0 22px var(--node);
  animation:companyNode 2.2s ease-in-out infinite alternate;
}
.section--company .mv__card:hover{
  border-color:color-mix(in srgb,var(--node) 68%,white 10%);
  box-shadow:0 42px 84px -38px rgba(0,0,0,.98),0 0 46px -28px var(--node),inset 0 1px 0 rgba(255,255,255,.17);
}
@keyframes companyNode{to{opacity:.38;transform:scale(.72)}}
.section--company .mv__badge{
  width:62px;height:62px;color:#FFF;border-color:color-mix(in srgb,var(--node) 58%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--node) 72%,#241637),#11101E);
  box-shadow:0 15px 30px -18px var(--node),inset 0 1px 0 rgba(255,255,255,.32);
}
.section--company .mv__title{color:#FFF}
.section--company .mv__card p{color:#BDB8CF;font-size:.98rem;line-height:1.75}
.section--company .values{
  counter-reset:company-value;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.25rem);
  padding:0;overflow:visible;background:transparent;border-radius:0;box-shadow:none;
}
.section--company .values::after{display:none}
.section--company .value,
.section--company .value + .value,
.section--company .value:nth-child(2){
  --node:var(--company-pink);counter-increment:company-value;position:relative;min-width:0;min-height:158px;
  display:flex;align-items:flex-start;gap:.8rem;padding:1.15rem;border:1px solid color-mix(in srgb,var(--node) 28%,rgba(255,255,255,.1));
  border-radius:17px;background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/18px 18px,
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/18px 18px,
    linear-gradient(145deg,rgba(31,25,52,.94),rgba(8,8,18,.94));
  box-shadow:0 20px 46px -32px rgba(0,0,0,.9);transition:transform .35s var(--ease-out),border-color .3s var(--ease),box-shadow .35s var(--ease);
}
.section--company .value:nth-child(2){--node:var(--company-violet)}
.section--company .value:nth-child(3){--node:var(--company-blue)}
.section--company .value:nth-child(4){--node:#D4AF37}
.section--company .value::before{
  content:"0" counter(company-value);position:absolute;top:.7rem;right:.75rem;font-family:var(--f-mono);
  font-size:.5rem;letter-spacing:.12em;color:color-mix(in srgb,var(--node) 62%,white 10%);
}
.section--company .value::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:17px 17px 0 0;
  background:linear-gradient(90deg,transparent,var(--node),transparent);opacity:.85;
}
.section--company .value:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--node) 58%,white 8%);box-shadow:0 28px 58px -34px var(--node)}
.section--company .value__icon{
  width:42px;height:42px;color:var(--node);border-color:color-mix(in srgb,var(--node) 35%,transparent);
  background:color-mix(in srgb,var(--node) 10%,transparent);box-shadow:0 13px 24px -19px var(--node);
}
.section--company .value h4{min-height:0;color:#FFF;font-size:.62rem;line-height:1.4}
.section--company .value p{color:#9F9AAD;font-size:.82rem;line-height:1.55}

@media (max-width:900px){
  .section--company .mv{grid-template-columns:1fr}.section--company .mv::before{display:none}
  .section--company .mv__card{min-height:0}.section--company .values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section--company .section__deco::before{top:48%;transform:rotate(-14deg)}
}
@media (max-width:560px){
  .section--company .values{grid-template-columns:1fr}
  .section--company .value,.section--company .value + .value,.section--company .value:nth-child(2){min-height:0;padding:1rem}
  .section--company .mv__card{padding:1.45rem}.section--company .section__deco::after{animation-duration:5.4s}
}
@media (prefers-reduced-motion:reduce){
  .section--company .section__deco::after,.section--company .mv__card::after{animation:none}
}

/* ---------- 27. SECCIÓN 3 · MOTOR DE PROCESO NEÓN ---------- */
#proceso{
  --engine-cyan:#00f0ff;
  --engine-violet:#7b61ff;
  --engine-bg:#0a0a12;
  --engine-panel:#12121e;
  --engine-line:#2a2a44;
  overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 18% 20%,rgba(0,240,255,.055),transparent 27%),
    radial-gradient(circle at 84% 76%,rgba(123,97,255,.09),transparent 30%),
    #080810;
}
#proceso::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.22;
  background-image:
    linear-gradient(rgba(0,240,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,240,255,.055) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 88%,transparent);
}
#proceso .section__head{position:relative;z-index:3;max-width:850px}
#proceso .section__title{color:#fff}
#proceso .gold-ink{
  background:linear-gradient(96deg,var(--engine-cyan),#81f8ff 42%,#a892ff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
#proceso .section__sub{color:#9c9caf}

/* ============================================================
   SECCIÓN 3 · AUREA PROCESS ENGINE (FLUJO ABIERTO & ALTA LEGIBILIDAD)
   ============================================================ */

:root {
  --verde: #10b981;
  --verde-suave: rgba(16, 185, 129, 0.18);
  --azul: #22d3ee;
  --azul-suave: rgba(34, 211, 238, 0.18);
  --ambar: #f59e0b;
  --ambar-suave: rgba(245, 158, 11, 0.18);
  --purpura: #a855f7;
  --purpura-suave: rgba(168, 85, 247, 0.18);
  --oro: #f0cb79;
  --oro-suave: rgba(240, 203, 121, 0.18);
  --rojo: #ef4444;
  --rojo-suave: rgba(239, 68, 68, 0.18);
}

/* Selector de pasos superior */
.process-step-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin: 0 auto 3rem;
  max-width: 1200px;
  width: 100%;
}

.step-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.3rem;
  font-family: var(--f-mono);
  font-size: clamp(0.72rem, 1.2vw, 0.84rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9ca3af;
  background: rgba(18, 18, 36, 0.9);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.25s var(--ease);
  backdrop-filter: blur(14px);
  white-space: nowrap;
}

.step-nav-btn strong {
  color: #22d3ee;
  font-weight: 800;
}

.step-nav-btn:hover {
  color: #fff;
  border-color: rgba(34, 211, 238, 0.6);
  background: rgba(34, 211, 238, 0.12);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(34, 211, 238, 0.22);
}

.step-nav-btn.is-active {
  color: #fff;
  border-color: #22d3ee;
  background: linear-gradient(135deg, rgba(34, 211, 238, 0.28) 0%, rgba(18, 18, 38, 0.98) 100%);
  box-shadow: 0 0 28px rgba(34, 211, 238, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* CONTENEDOR ABIERTO DEL FLUJO (SIN CAJA NI VENTANA) */
.process-flow-container {
  position: relative;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.8rem 3.4rem;
  padding: 1.2rem 2.8rem 3.8rem;
}

/* Posicionamiento ordenado natural 1-6 (Fila 1: 01-03, Fila 2: 04-06) en escritorio */
@media (min-width: 992px) {
  .process-flow-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 5.8rem 3.2rem;
  }
  .process-flow-container .nodo[data-nodo="1"] { grid-column: 1; grid-row: 1; }
  .process-flow-container .nodo[data-nodo="2"] { grid-column: 2; grid-row: 1; }
  .process-flow-container .nodo[data-nodo="3"] { grid-column: 3; grid-row: 1; }
  .process-flow-container .nodo[data-nodo="4"] { grid-column: 1; grid-row: 2; }
  .process-flow-container .nodo[data-nodo="5"] { grid-column: 2; grid-row: 2; }
  .process-flow-container .nodo[data-nodo="6"] { grid-column: 3; grid-row: 2; }
}

/* Capa SVG de conexiones */
.process-flow__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 5;
}

/* Trazos de conexión con degradado y partículas */
.conexion-base {
  fill: none;
  stroke: #17182f;
  stroke-width: 4;
  stroke-linecap: round;
}

.conexion-flujo {
  fill: none;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-dasharray: 9 7;
  filter: url(#aurea-resplandor);
  animation: aureaFlujoDash 1.2s linear infinite;
}

@keyframes aureaFlujoDash {
  to {
    stroke-dashoffset: -16;
  }
}

.conexion-particula {
  fill: #ffffff;
  filter: url(#aurea-resplandor);
}

/* ============================================================
   TARJETAS DE NODO ABIERTAS (.nodo) - ALTA LEGIBILIDAD
   ============================================================ */

.nodo {
  position: relative;
  width: 100%;
  min-height: 190px;
  background: rgba(14, 15, 30, 0.94);
  backdrop-filter: blur(20px);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  cursor: pointer;
  z-index: 10;
  font-family: var(--f-sans);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.nodo:hover {
  transform: translateY(-5px);
  border-color: rgba(34, 211, 238, 0.6);
  box-shadow: 0 14px 36px rgba(34, 211, 238, 0.25), 0 28px 60px rgba(0, 0, 0, 0.75);
  z-index: 20;
}

.nodo.is-active {
  border-color: #22d3ee;
  box-shadow: 0 0 40px rgba(34, 211, 238, 0.4), 0 28px 60px rgba(0, 0, 0, 0.8);
  transform: translateY(-3px);
}

.nodo__cabecera {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 18px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nodo__icono {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 12px currentColor;
}

.nodo__titulo {
  font-family: var(--f-mono);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
}

.nodo__cuerpo {
  padding: 16px 18px;
  font-size: 0.92rem;
  color: #cbd5e1;
  line-height: 1.65;
  flex-grow: 1;
}

.nodo__cuerpo strong {
  color: #fff;
  font-weight: 700;
}

.nodo__salidas {
  padding: 10px 18px 14px;
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.15);
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}

.nodo__salida {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--f-mono);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  position: relative;
}

.puerto {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #070814;
  border: 2.5px solid #22d3ee;
  box-shadow: 0 0 12px #22d3ee;
  display: inline-block;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.puerto:hover {
  transform: scale(1.35);
  box-shadow: 0 0 18px #22d3ee;
}


.puerto--entrada-top {
  position: absolute;
  left: 32px;
  top: -7px;
  transform: none;
  z-index: 15;
}

.puerto--entrada {
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 15;
}

/* ============================================================
   RESPONSIVE ADAPTATIONS
   ============================================================ */

/* TABLETS (768px a 991px) - Orden natural de izquierda a derecha */
@media (max-width: 991px) and (min-width: 768px) {
  .process-flow-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.6rem 2.5rem;
    padding: 1rem 0 2.5rem;
  }
  .process-flow-container .nodo[data-nodo="1"] { grid-column: 1; grid-row: 1; }
  .process-flow-container .nodo[data-nodo="2"] { grid-column: 2; grid-row: 1; }
  .process-flow-container .nodo[data-nodo="3"] { grid-column: 1; grid-row: 2; }
  .process-flow-container .nodo[data-nodo="4"] { grid-column: 2; grid-row: 2; }
  .process-flow-container .nodo[data-nodo="5"] { grid-column: 1; grid-row: 3; }
  .process-flow-container .nodo[data-nodo="6"] { grid-column: 2; grid-row: 3; }
  
  .nodo__titulo {
    font-size: 0.84rem;
  }
  .nodo__cuerpo {
    font-size: 0.88rem;
  }
}

/* MÓVILES (<= 767px) */
@media (max-width: 767px) {
  .process-step-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 0.2rem 0.5rem 0.8rem;
    margin-bottom: 2rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .process-step-nav::-webkit-scrollbar {
    display: none;
  }
  .step-nav-btn {
    padding: 0.55rem 0.95rem;
    font-size: 0.72rem;
  }
  .process-flow-container {
    grid-template-columns: 1fr;
    gap: 3.4rem;
    padding: 0.5rem 0 2rem;
  }
  .process-flow-container .nodo {
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: 100%;
  }
  .nodo__titulo {
    font-size: 0.82rem;
  }
  .nodo__cuerpo {
    font-size: 0.86rem;
    padding: 14px 16px;
  }
  .nodo__cabecera {
    padding: 11px 15px;
  }
  .nodo__salidas {
    padding: 9px 15px 12px;
  }
}


/* ============================================================
   TOOLTIP REDES SOCIALES (CODEPEN MWrMdOa)
   ============================================================ */

.social-tooltip-wrapper {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
  margin-top: 1.25rem;
}

.social-tooltip-wrapper .icon {
  position: relative;
  background-color: #ffffff;
  border-radius: 50%;
  padding: 10px;
  margin: 6px;
  width: 44px;
  height: 44px;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  color: #1a1a2e;
  text-decoration: none;
  transition: all 0.28s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.social-tooltip-wrapper .icon:hover {
  transform: translateY(-3px) scale(1.08);
}

.social-tooltip-wrapper .tooltip {
  position: absolute;
  top: 0;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--f-sans, 'Inter', sans-serif);
  letter-spacing: 0.02em;
  background-color: #ffffff;
  color: #ffffff;
  padding: 5px 10px;
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  z-index: 50;
}

.social-tooltip-wrapper .tooltip::before {
  position: absolute;
  content: "";
  height: 8px;
  width: 8px;
  background-color: #ffffff;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.social-tooltip-wrapper .icon:hover .tooltip {
  top: -42px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.social-tooltip-wrapper .icon:hover span,
.social-tooltip-wrapper .icon:hover .tooltip {
  text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.15);
}

/* Colores de marca en hover con efecto elástico */
.social-tooltip-wrapper .instagram:hover,
.social-tooltip-wrapper .instagram:hover .tooltip,
.social-tooltip-wrapper .instagram:hover .tooltip::before {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(225, 48, 108, 0.45);
}

.social-tooltip-wrapper .whatsapp:hover,
.social-tooltip-wrapper .whatsapp:hover .tooltip,
.social-tooltip-wrapper .whatsapp:hover .tooltip::before {
  background: #25d366;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(37, 211, 102, 0.45);
}

.social-tooltip-wrapper .telegram:hover,
.social-tooltip-wrapper .telegram:hover .tooltip,
.social-tooltip-wrapper .telegram:hover .tooltip::before {
  background: #229ed9;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(34, 158, 217, 0.45);
}

.social-tooltip-wrapper .youtube:hover,
.social-tooltip-wrapper .youtube:hover .tooltip,
.social-tooltip-wrapper .youtube:hover .tooltip::before {
  background: #de463b;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(222, 70, 59, 0.45);
}

.social-tooltip-wrapper .facebook:hover,
.social-tooltip-wrapper .facebook:hover .tooltip,
.social-tooltip-wrapper .facebook:hover .tooltip::before {
  background: #1877f2;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(24, 119, 242, 0.45);
}


.social-tooltip-wrapper .xtwitter:hover,
.social-tooltip-wrapper .xtwitter:hover .tooltip,
.social-tooltip-wrapper .xtwitter:hover .tooltip::before {
  background: #000000;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 10px 22px rgba(255, 255, 255, 0.2);
}

.social-tooltip-wrapper .tiktok:hover,
.social-tooltip-wrapper .tiktok:hover .tooltip,
.social-tooltip-wrapper .tiktok:hover .tooltip::before {
  background: #000000;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(0, 240, 255, 0.35);
}


/* ═══════ SPLINE 3D ROBOT ═══════ */
.advisor-3d-container {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
}

.spline-canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  transition: opacity .8s ease;
  border-radius: 18px;
}

.spline-canvas.is-loaded {
  opacity: 1;
}

.spline-loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  z-index: 5;
  background: rgba(4, 9, 26, 0.6);
  border-radius: 18px;
  transition: opacity .5s ease, visibility .5s ease;
}

.spline-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.spline-loader__spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0, 240, 255, 0.2);
  border-top-color: var(--c-accent, #00f0ff);
  border-radius: 50%;
  animation: spline-spin 0.8s linear infinite;
}

@keyframes spline-spin {
  to { transform: rotate(360deg); }
}

.spline-loader__text {
  font-family: var(--f-mono, 'JetBrains Mono', monospace);
  font-size: 0.72rem;
  color: var(--c-accent, #00f0ff);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}


/* ══════════════════════════════════════════════════════════════
   SELECTOR DE IDIOMA ES / EN (Junto a Backoffice)
   ══════════════════════════════════════════════════════════════ */
.nav__lang {
  display: inline-flex;
  align-items: center;
  margin-right: .45rem;
}

.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  padding: .28rem .38rem;
  background: linear-gradient(165deg, rgba(14, 24, 48, 0.85), rgba(4, 9, 26, 0.9));
  border: 1px solid var(--line-gold);
  border-radius: var(--r-sm);
  box-shadow: var(--bezel), 0 2px 8px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease), transform .2s var(--ease);
}

.lang-switch:hover {
  border-color: var(--gold-400);
  box-shadow: var(--bezel), 0 0 14px rgba(212, 175, 55, 0.22);
}

.lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: var(--f-mono);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--txt-dim);
  padding: .28rem .52rem;
  border-radius: 4px;
  line-height: 1;
  transition: all .25s var(--ease);
  user-select: none;
}

.lang-btn:hover {
  color: var(--gold-100);
  background: rgba(212, 175, 55, 0.1);
}

.lang-btn.is-active {
  color: #04091a;
  background: linear-gradient(135deg, #f6e07a, #d4af37);
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.45);
  font-weight: 700;
}

.lang-switch__divider {
  font-family: var(--f-mono);
  font-size: .65rem;
  font-weight: 400;
  color: var(--gold-400);
  opacity: .45;
  user-select: none;
  line-height: 1;
  padding: 0 .05rem;
}

@media (max-width: 1120px) {
  .nav__lang {
    order: -1;
    width: 100%;
    margin: 0 0 .5rem 0;
  }
  .lang-switch {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    padding: .35rem .6rem;
  }
  .lang-btn {
    flex: 1;
    text-align: center;
    padding: .6rem;
    font-size: .76rem;
  }
}
