/* ============================================================
   Sisteco — Home ICM (portado de claude.ai/design, 2026-07)
   Diseño: docs/impl-plans/2026-07-01-home-icm-handoff-diseno.md
   Fuentes self-hosted (Ley 21.719 — sin CDNs de fuentes).
   ============================================================ */

  :root{
    --ink:#111111; --bg:#0c0c0c; --panel:#191919; --panel2:#1f1f1f;
    --lime:#c5ed36; --lime-dim:#9bbd28; --lime-hover:#d4f55a;
    --fg:#f4f3ee; --warm:#efebe2; --mut:#9aa0a6; --mut2:#c9c6bf;
    --demoted:#6b6b6b; --line:#2a2a2a; --line2:#39431a; --limebg:#15170d;
    --h:'Space Grotesk',system-ui,sans-serif; --b:'Hanken Grotesk',system-ui,sans-serif;
    --maxw:1120px;
  }
  /* Fuentes self-hosted (variable woff2) + Nasalization solo para el wordmark del logo */
  @font-face{font-family:'Space Grotesk';src:url("../assets/fonts/SpaceGrotesk-Variable.woff2") format('woff2');font-weight:300 700;font-display:swap}
  @font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/HankenGrotesk-Variable.woff2") format('woff2');font-weight:100 900;font-display:swap}
  @font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/HankenGrotesk-Italic-Variable.woff2") format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
  @font-face{font-family:'Nasalization';src:url("../assets/logos/Nasalization Rg.otf") format('opentype');font-weight:400;font-display:swap}
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  .skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--lime);color:var(--ink);font-family:var(--h);font-weight:700;padding:10px 18px;border-radius:0 0 8px 0}
  .skip-link:focus{left:0}
  body{background:var(--bg);color:var(--fg);font-family:var(--b);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4,.kick,.logo,.btn,.eyebrow{font-family:var(--h)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .lime{color:var(--lime)}
  .kick{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--lime);font-size:13px;letter-spacing:.22em;text-transform:uppercase}
  .kick i{font-size:17px}
  .kick.dim{color:var(--mut)}
  .rule{width:64px;height:4px;background:var(--lime);border-radius:2px;margin:22px 0}

  /* BUTTONS: neobrutalist (de hub-felipe) adaptado a oscuro */
  .btn{display:inline-flex;align-items:center;gap:9px;background:var(--lime);color:var(--ink);font-weight:700;font-size:15px;letter-spacing:.4px;
    padding:14px 26px;border:2.5px solid var(--lime);cursor:pointer;border-radius:0;box-shadow:4px 4px 0 var(--lime-dim);
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
  .btn i{font-size:18px}
  .btn:hover{background:var(--lime-hover);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--lime-dim)}
  .btn.ghost{background:transparent;color:var(--fg);border-color:var(--fg);box-shadow:none}
  .btn.ghost:hover{background:var(--fg);color:var(--ink);transform:translate(-1px,-1px)}

  /* FONDO AMBIENTAL (portado de la página publicada: animated-bg + grid-pattern-overlay) */
  .animated-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(ellipse 55% 45% at 22% 28%,rgba(197,237,54,.055),transparent 70%);
    animation:bgFloat 24s ease-in-out infinite alternate}
  @keyframes bgFloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(5%,4%) scale(1.07)}}
  .grid-pattern-overlay{position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:linear-gradient(rgba(244,243,238,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(244,243,238,.055) 1px,transparent 1px);
    background-size:60px 60px}
  @media(prefers-reduced-motion:reduce){.animated-bg{animation:none}}

  /* NAV (misma estructura/animación que la página publicada, tema oscuro) */
  header.nav{position:sticky;top:0;z-index:50;background:rgba(12,12,12,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);transition:background .3s ease,box-shadow .3s ease}
  header.nav.scrolled{background:rgba(12,12,12,.96);box-shadow:0 10px 30px rgba(0,0,0,.5)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{display:flex;align-items:center;gap:10px}
  .logo img{display:block;width:28px;height:28px}
  .logo .logo-word{font-family:'Nasalization','Space Grotesk',sans-serif;font-size:19px;letter-spacing:.03em;color:var(--fg)}
  .nav-links{display:flex;gap:2px;align-items:center}
  .nav-links a:not(.btn){position:relative;font-family:var(--h);font-weight:500;font-size:14px;color:var(--mut);letter-spacing:.02em;
    padding:8px 14px;border-radius:100px;transition:background .18s ease,color .18s ease}
  .nav-links a:not(.btn)::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--lime);
    transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.16,1,.3,1)}
  .nav-links a:not(.btn):hover{color:var(--fg);background:rgba(255,255,255,.07)}
  .nav-links a:not(.btn):hover::after{transform:scaleX(1)}
  .nav-links a.btn{background:var(--lime);color:#111;font-size:13px;padding:10px 20px;margin-left:10px;
    border-radius:100px;border:none;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
  .nav-links a.btn:hover{background:var(--lime-hover);transform:translateY(-2px);box-shadow:0 8px 25px rgba(197,237,54,.3)}
  @keyframes navIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
  .navbar-item{animation:navIn .55s cubic-bezier(.16,1,.3,1) both}
  .nav-links .navbar-item:nth-child(1){animation-delay:.08s}
  .nav-links .navbar-item:nth-child(2){animation-delay:.14s}
  .nav-links .navbar-item:nth-child(3){animation-delay:.2s}
  .nav-links .navbar-item:nth-child(4){animation-delay:.26s}
  .nav-links .navbar-item:nth-child(5){animation-delay:.32s}
  .nav-links .navbar-item:nth-child(6){animation-delay:.4s}
  .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .hamburger span{display:block;width:22px;height:2px;border-radius:2px;background:var(--fg);transition:transform .25s ease,opacity .2s ease}
  .hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-mobile{display:none;flex-direction:column;padding:8px 24px 18px;background:rgba(12,12,12,.97);border-bottom:1px solid var(--line)}
  .nav-mobile a{font-family:var(--h);font-weight:500;font-size:15px;color:var(--fg);padding:11px 0;border-bottom:1px solid var(--line)}
  .nav-mobile a:last-child{border-bottom:0}
  header.nav.open .nav-mobile{display:flex}
  @media(max-width:900px){.nav-links a:not(.btn){display:none}.hamburger{display:flex}}
  @media(min-width:901px){.nav-mobile{display:none !important}}
  @media(prefers-reduced-motion:reduce){.navbar-item{animation:none}}

  section{padding:84px 0}
  .sec-head{max-width:820px}
  h2{font-weight:700;font-size:clamp(28px,4.4vw,46px);line-height:1.05;letter-spacing:-.01em;margin-top:14px}
  h2 .lime{color:var(--lime)}
  .lead{font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--mut2);margin-top:18px;max-width:700px}

  /* base reveal (GSAP toggles .is-in; CSS fallback ensures visible if JS off) */
  .reveal{opacity:0;transform:translateY(26px)}
  .reveal.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
  .no-js .reveal{opacity:1;transform:none}

  /* HERO */
  .hero{padding:104px 0 78px;position:relative;overflow:hidden}
  /* Globo de nodos (portado del hero de la landing anterior, js/globe.js) */
  .hero-globe{position:absolute;top:50%;right:-150px;transform:translateY(-50%);width:640px;height:640px;pointer-events:none;z-index:0;
    -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 76%);mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 76%)}
  .hero-globe canvas{width:100%;height:100%;display:block}
  @media(max-width:1200px){.hero-globe{right:-300px;opacity:.55}}
  @media(max-width:760px){.hero-globe{display:none}}
  .hero::after{content:"";position:absolute;right:-180px;top:-120px;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(197,237,54,.11),transparent 70%);pointer-events:none}
  .hero .wrap{position:relative;z-index:1}
  .hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-weight:600;font-size:12px;
    letter-spacing:.18em;text-transform:uppercase;padding:5px 12px}
  .hero .eyebrow i{font-size:15px}
  .hero h1{font-weight:700;font-size:clamp(30px,4.6vw,48px);line-height:1.08;letter-spacing:-.02em;margin-top:22px;max-width:15ch;color:var(--mut2)}
  .hero h1 .hero-h1-lime{display:block;color:var(--lime);font-size:clamp(40px,7vw,74px);line-height:1;letter-spacing:-.02em;margin-top:14px}
  .hero h1 .word{display:inline-block;white-space:pre}
  .hero .sub{font-size:clamp(17px,2.3vw,21px);color:var(--mut2);max-width:640px;margin:26px 0 34px;line-height:1.5}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap}
  .trust{margin-top:30px;font-family:var(--h);font-size:13px;letter-spacing:.06em;color:var(--demoted);text-transform:uppercase}

  /* PROBLEMA band */
  .problem{background:var(--ink)}
  .problem .lead{color:var(--mut2);max-width:660px}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px 24px}
  .card .ico{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--limebg);border-radius:10px;color:var(--lime);font-size:24px}
  .card h3{font-family:var(--h);font-weight:600;font-size:20px;margin:16px 0 10px;color:var(--fg)}
  .card p{font-size:15.5px;line-height:1.5;color:var(--mut)}
  @media(max-width:820px){.cards{grid-template-columns:1fr}}

  /* RIESGOS / costo de no actuar */
  .risks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
  .risk{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0;overflow:hidden;
    transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .22s ease}
  .risk:hover{transform:translateY(-6px);border-color:var(--line2);
    box-shadow:-12px -12px 28px -6px rgba(197,237,54,.22),0 18px 40px rgba(0,0,0,.45)}
  .risk .rhead{display:flex;align-items:center;gap:12px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
  .risk .rhead i{font-size:26px;color:var(--lime)}
  .risk .rhead .rlab{font-family:var(--h);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
  .risk .rbody{padding:20px 24px 26px}
  .risk .rbody p{font-size:15.5px;line-height:1.5;color:var(--mut2)}
  .risk.answer{background:var(--limebg);border-color:var(--line2)}
  .risk.answer .rhead i{color:var(--lime)}
  .risk.answer .rhead .rlab{color:var(--lime)}
  .risk.answer .rbody p{color:var(--fg)}
  @media(max-width:820px){.risks{grid-template-columns:1fr}}

  /* SIN / CON */
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}
  .col{border-radius:10px;padding:30px 28px;border:1px solid var(--line)}
  .col.sin{background:#161616;opacity:0;transform:translateX(-40px)}
  .col.con{background:var(--limebg);border-color:var(--line2);opacity:0;transform:translateX(40px)}
  .col.sin.is-in,.col.con.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
  .no-js .col.sin,.no-js .col.con{opacity:1;transform:none}
  .col .tag{display:flex;align-items:center;gap:9px;font-family:var(--h);font-weight:700;font-size:15px;letter-spacing:.18em;text-transform:uppercase}
  .col .tag i{font-size:20px}
  .col.sin .tag{color:var(--demoted)} .col.con .tag{color:var(--lime)}
  .col ul{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:14px}
  .col li{font-size:15.5px;line-height:1.45;padding-left:26px;position:relative}
  .col.sin li{color:var(--demoted)} .col.con li{color:var(--mut2)}
  .col li::before{position:absolute;left:0;top:0;font-family:var(--h);font-weight:700}
  .col.sin li::before{content:'\00d7';color:var(--demoted)}
  .col.con li::before{content:'\2022';color:var(--lime)}
  .col li b{color:var(--fg);font-weight:600}
  @media(max-width:820px){.cols{grid-template-columns:1fr}.col.sin,.col.con{transform:translateY(26px)}}

  /* TOKENS */
  .tokens{background:var(--ink)}
  .tok{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;margin-top:38px;align-items:center}
  .stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:34px 30px}
  .bar{display:flex;align-items:center;gap:16px;margin-bottom:20px}
  .bar .lab{font-size:14px;color:var(--mut);width:120px;font-family:var(--h);letter-spacing:.03em}
  .bar .track{flex:1;height:22px;border-radius:5px;position:relative;background:#222;overflow:hidden}
  .bar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;width:0;transition:width 1.1s cubic-bezier(.22,.61,.36,1)}
  .bar.big .fill{background:var(--demoted)} .bar.small .fill{background:var(--lime)}
  .bar.big.run .fill{width:100%} .bar.small.run .fill{width:16%}
  .no-js .bar.big .fill{width:100%}.no-js .bar.small .fill{width:16%}
  .bar .val{font-family:var(--h);font-weight:700;font-size:16px}
  .bar.big .val{color:var(--mut2)} .bar.small .val{color:var(--lime)}
  .pill{display:inline-block;font-family:var(--h);font-weight:600;font-size:13px;color:var(--lime);
    border:1px solid var(--line2);background:var(--limebg);border-radius:99px;padding:8px 16px;letter-spacing:.04em;margin-top:8px}
  .three{display:flex;flex-direction:column;gap:20px}
  .three .row3{display:flex;gap:13px;align-items:flex-start}
  .three .row3 i{font-size:24px;color:var(--lime);flex:none;margin-top:2px}
  .three h3{font-family:var(--h);font-weight:700;font-size:19px;color:var(--lime)}
  .three p{font-size:15px;line-height:1.45;color:var(--mut);margin-top:5px}
  .cite{font-size:13px;color:var(--demoted);font-style:italic;margin-top:30px}
  @media(max-width:820px){.tok{grid-template-columns:1fr;gap:28px}}

  /* AGNOSTICO */
  .flow{display:flex;align-items:stretch;gap:14px;margin-top:34px;flex-wrap:wrap}
  .fbox{flex:1;min-width:200px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px 24px;display:flex;flex-direction:column;gap:8px;position:relative}
  .fbox i{font-size:26px;color:var(--mut)}
  .fbox.lime{background:var(--limebg);border-color:var(--line2)}
  .fbox.lime i{color:var(--lime)}
  .fbox .ft{font-family:var(--h);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
  .fbox.lime .ft{color:var(--lime)}
  .fbox .fm{font-family:var(--h);font-weight:700;font-size:22px;color:var(--fg)}
  .fbox.lime .fm{color:var(--lime)}
  .farrow{display:flex;align-items:center;color:var(--demoted);font-size:26px}
  @media(max-width:820px){.farrow{transform:rotate(90deg);justify-content:center;width:100%}}
  .casebox{display:flex;align-items:flex-start;gap:24px;margin-top:28px;background:var(--panel);
    border:1px solid var(--line);border-left:5px solid var(--lime);border-radius:10px;padding:22px 28px}
  .casebox .ctag{display:flex;align-items:center;gap:9px;font-family:var(--h);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);flex:none;width:150px;line-height:1.4;padding-top:3px}
  .casebox .ctag i{font-size:22px}
  .casebox p{font-size:15.5px;line-height:1.5;color:var(--mut2)}
  .casebox p b{color:var(--fg);font-weight:700}
  .casebox .src{font-size:12.5px;font-style:italic;color:var(--demoted);margin-top:10px}
  @media(max-width:820px){.casebox{flex-direction:column;gap:10px}.casebox .ctag{width:auto}}

  /* SERVICIOS: 3 pilares */
  .services{background:var(--ink)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
  .svc{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px 26px 28px;overflow:hidden;
    transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .22s ease}
  .svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
  .svc:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:-12px -12px 28px -6px rgba(197,237,54,.2),0 18px 44px rgba(0,0,0,.5)}
  .svc:hover::before{transform:scaleX(1)}
  .svc .num{font-family:var(--h);font-weight:700;font-size:13px;color:var(--demoted);letter-spacing:.16em}
  .svc .ico{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--limebg);border-radius:12px;color:var(--lime);font-size:28px;margin:14px 0 16px}
  .svc h3{font-family:var(--h);font-weight:700;font-size:21px;color:var(--fg);margin-bottom:6px}
  .svc .stag{font-family:var(--h);font-size:12px;color:var(--lime);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
  .svc>p{font-size:14.5px;line-height:1.5;color:var(--mut);margin-bottom:16px}
  .svc ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  .svc li{font-size:14px;line-height:1.4;color:var(--mut2);padding-left:22px;position:relative}
  .svc li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;background:var(--lime);border-radius:2px}
  @media(max-width:900px){.svc-grid{grid-template-columns:1fr}}

  /* PROCESO / timeline */
  .steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}
  .steps::before{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--line)}
  .steps .prog{position:absolute;top:0;left:0;height:2px;background:var(--lime);width:0}
  .step{padding-top:22px;position:relative}
  .step::before{content:"";position:absolute;top:-5px;left:0;width:11px;height:11px;border-radius:50%;background:var(--panel);border:2px solid var(--line);transition:background .3s,border-color .3s}
  .step.lit::before{background:var(--lime);border-color:var(--lime)}
  .step .n{font-family:var(--h);font-weight:700;color:var(--lime);font-size:30px}
  .step .wk{font-family:var(--h);font-weight:600;color:var(--mut);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:8px 0 12px}
  .step h3{font-family:var(--h);font-weight:600;font-size:17px;color:var(--fg);margin-bottom:10px}
  .step p{font-size:14.5px;line-height:1.45;color:var(--mut)}
  @media(max-width:820px){.steps{grid-template-columns:1fr 1fr}.steps::before,.steps .prog{display:none}.step::before{display:none}}
  @media(max-width:520px){.steps{grid-template-columns:1fr}}

  /* RECIBES */
  .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
  .mod{border-radius:10px;padding:28px 26px;border:1px solid var(--line);background:var(--panel)}
  .mod.guar{background:var(--limebg);border-color:var(--line2)}
  .mod .ico{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line2);background:#141a09;border-radius:10px;color:var(--lime);font-size:24px;margin-bottom:16px}
  .mod .t{font-family:var(--h);font-weight:700;font-size:20px;color:var(--fg);margin-bottom:6px}
  .mod .sub{font-family:var(--h);font-size:12px;color:var(--lime);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
  .mod p{font-size:14.5px;line-height:1.5;color:var(--mut)}
  .mod .q{font-size:14.5px;color:var(--mut2);font-style:italic;margin-top:16px;border-left:2px solid var(--lime);padding-left:14px}
  .mod .conf{font-size:12px;color:var(--demoted);margin-top:14px}
  @media(max-width:820px){.mods{grid-template-columns:1fr}}

  /* RESPALDO */
  .respaldo{background:var(--ink)}
  .proof-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
  .proof-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px 24px}
  .proof-item .ico{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--limebg);border-radius:10px;color:var(--lime);font-size:23px;margin-bottom:16px}
  .proof-item h3{font-family:var(--h);font-weight:600;font-size:17px;color:var(--lime);margin-bottom:10px}
  .proof-item p{font-size:14.5px;line-height:1.5;color:var(--mut)}
  @media(max-width:820px){.proof-list{grid-template-columns:1fr}}

  /* CTA / FORM */
  .cta-sec{background:linear-gradient(180deg,var(--bg),var(--ink))}
  .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:18px;align-items:start}
  .big-q{margin-top:0;font-family:var(--h);font-weight:700;font-size:clamp(28px,4vw,42px);line-height:1.06;color:var(--fg)}
  .cta-sec .lead{margin-top:20px}
  .cta-list{display:flex;flex-direction:column;gap:14px;margin-top:26px}
  .cta-list .row{display:flex;gap:13px;align-items:flex-start}
  .cta-list .row i{color:var(--lime);font-size:20px;flex:none;margin-top:2px}
  .cta-list p{font-size:16px;line-height:1.4;color:var(--mut2)}
  .formcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px 30px}
  .formcard h3{font-family:var(--h);font-weight:700;font-size:21px;color:var(--fg);margin-bottom:6px}
  .formcard .fdesc{font-size:14.5px;color:var(--mut);margin-bottom:22px}
  .formcard label{display:block;font-family:var(--h);font-size:13px;color:var(--mut2);margin:14px 0 6px;letter-spacing:.02em}
  .formcard input[type=text],.formcard input[type=email],.formcard textarea{
    width:100%;background:#141414;border:1px solid var(--line);border-radius:6px;color:var(--fg);
    font-family:var(--b);font-size:15px;padding:12px 14px}
  .formcard textarea{resize:vertical;min-height:74px}
  .formcard input:focus,.formcard textarea:focus{outline:none;border-color:var(--lime)}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--mut);margin:18px 0}
  .consent input{margin-top:3px;accent-color:var(--lime)}
  .consent a{color:var(--lime);text-decoration:underline}
  .formcard .btn{width:100%;justify-content:center;text-align:center;margin-top:4px}
  .form-msg{font-size:13.5px;margin-top:12px;display:none}
  .micro{font-size:12.5px;color:var(--demoted);margin-top:14px;text-align:center}
  .alt-cal{font-size:14px;color:var(--mut);margin-top:18px}
  .alt-cal a{color:var(--lime);text-decoration:underline}
  @media(max-width:820px){.cta-grid{grid-template-columns:1fr;gap:34px}}

  /* FAQ */
  .faq{display:grid;grid-template-columns:1fr;gap:0;margin-top:34px;max-width:840px}
  details{border-bottom:1px solid var(--line);padding:0}
  summary{list-style:none;cursor:pointer;font-family:var(--h);font-weight:600;font-size:17px;color:var(--fg);
    padding:22px 36px 22px 0;position:relative}
  summary::-webkit-details-marker{display:none}
  summary::after{content:'+';position:absolute;right:4px;top:20px;color:var(--lime);font-size:24px;font-weight:700;transition:transform .2s}
  details[open] summary::after{content:'\2212'}
  details p{font-size:15.5px;line-height:1.55;color:var(--mut);padding:0 0 22px}

  /* FOOTER */
  footer{border-top:1px solid var(--line);padding:44px 0;font-size:14px;color:var(--mut)}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px}
  footer .logo svg{height:26px}
  footer a{text-decoration:underline}
  footer .legal{font-size:12.5px;color:var(--demoted);max-width:420px}

  /* PROGRESO DE SCROLL: barra fina fija + riel de puntos por sección (portado del pedido de unificar el grid) */
  .scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--lime);z-index:70;
    box-shadow:0 0 8px rgba(197,237,54,.6);transition:width .08s linear}
  .section-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:60;
    display:flex;flex-direction:column;align-items:center;gap:15px;pointer-events:auto}
  .section-rail a{display:flex;align-items:center;gap:10px;position:relative}
  .section-rail .dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:1px solid var(--demoted);
    transition:background .25s ease,border-color .25s ease,transform .25s ease}
  .section-rail a.active .dot{background:var(--lime);border-color:var(--lime);transform:scale(1.5)}
  .section-rail .rlabel{position:absolute;right:20px;white-space:nowrap;font-family:var(--h);font-size:11.5px;
    letter-spacing:.06em;text-transform:uppercase;color:var(--mut2);background:rgba(20,20,20,.92);
    border:1px solid var(--line);border-radius:6px;padding:5px 10px;opacity:0;transform:translateX(6px);
    transition:opacity .18s ease,transform .18s ease;pointer-events:none}
  .section-rail a:hover .rlabel,.section-rail a.active .rlabel{opacity:1;transform:none}
  .section-rail a.active .rlabel{color:var(--lime);border-color:var(--line2)}
  @media(max-width:1300px){.section-rail{display:none}}
  @media(prefers-reduced-motion:reduce){.scroll-progress{transition:none}.section-rail .dot{transition:none}}

  /* COOKIE */
  .cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;background:var(--panel2);border:1px solid var(--line);
    border-radius:10px;padding:16px 20px;display:none;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;box-shadow:0 8px 40px rgba(0,0,0,.6)}
  .cookie.show{display:flex}
  .cookie p{font-size:13.5px;color:var(--mut2);max-width:640px}
  .cookie .row{display:flex;gap:10px}
  .cookie .btn{font-size:13px;padding:10px 18px}

  /* ===== Micro-fx Animista (Parte A de la regla) — CSS generado en animista.net, licencia FreeBSD ===== */
  /* tracking-in-expand: kickers de sección */
  @keyframes tracking-in-expand{0%{letter-spacing:-.1em;opacity:0}40%{opacity:.6}100%{letter-spacing:.22em;opacity:1}}
  .kick.reveal{transform:none}
  .kick.reveal.is-in{transition:none;animation:tracking-in-expand .7s cubic-bezier(.215,.61,.355,1) both}
  /* focus-in-expand: subtítulo del hero + cita del paper (un uso por vista) */
  @keyframes focus-in-expand{0%{filter:blur(9px);opacity:0}100%{filter:blur(0);opacity:1}}
  .fx-focus.reveal{transform:none}
  .fx-focus.reveal.is-in{transition:none;animation:focus-in-expand .8s cubic-bezier(.25,.46,.45,.94) both}
  /* slide-in-blurred-top: titulares de las bandas oscuras (problema, agnóstico). Máx 2 usos */
  @keyframes slide-in-blurred-top{0%{transform:translateY(-56px) scaleY(1.4);transform-origin:50% 0;filter:blur(10px);opacity:0}100%{transform:translateY(0) scaleY(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}
  .fx-slideblur.reveal{transform:none}
  .fx-slideblur.reveal.is-in{transition:none;animation:slide-in-blurred-top .65s cubic-bezier(.23,1.02,.32,1) both}
  /* scale-up-center: panel de barras de tokens */
  @keyframes scale-up-center{0%{transform:scale(.92);opacity:0}100%{transform:scale(1);opacity:1}}
  .stat.reveal{transform:none}
  .stat.reveal.is-in{transition:none;animation:scale-up-center .5s cubic-bezier(.25,.46,.45,.94) both}
  /* text-pop-up-top: valores de las barras de tokens */
  @keyframes text-pop-up-top{0%{transform:translateY(10px);opacity:0;text-shadow:none}100%{transform:translateY(0);opacity:1;text-shadow:0 2px 0 rgba(0,0,0,.35),0 4px 10px rgba(0,0,0,.4)}}
  .bar.run .val{animation:text-pop-up-top .5s cubic-bezier(.25,.46,.45,.94) .35s both}
  /* puff-in-center: callout del caso Fortune 500 */
  @keyframes puff-in-center{0%{transform:scale(1.4);filter:blur(3px);opacity:0}100%{transform:scale(1);filter:blur(0);opacity:1}}
  .casebox.reveal{transform:none}
  .casebox.reveal.is-in{transition:none;animation:puff-in-center .6s cubic-bezier(.47,0,.745,.715) both}
  /* roll-in-blurred-left (atenuado): pasos del flujo Hoy → Mañana → Tu sistema */
  @keyframes roll-in-blurred-left{0%{transform:translateX(-120px) rotate(-8deg);filter:blur(8px);opacity:0}100%{transform:translateX(0) rotate(0);filter:blur(0);opacity:1}}
  .flow .fbox.reveal{transform:none}
  .flow .fbox.reveal.is-in{transition:none;animation:roll-in-blurred-left .6s cubic-bezier(.23,1.02,.32,1) both}
  .flow .fbox.reveal.is-in:nth-child(3){animation-delay:.09s}
  .flow .fbox.reveal.is-in:nth-child(5){animation-delay:.18s}
  /* shadow-drop-tl (validada por Felipe): sombra lime tenue que cae desde arriba-izq en cards de riesgos y servicios */
  @keyframes shadow-drop-tl{0%{box-shadow:0 0 0 0 rgba(197,237,54,0)}100%{box-shadow:-8px -8px 20px -6px rgba(197,237,54,.12)}}
  .risk,.svc{box-shadow:-8px -8px 20px -6px rgba(197,237,54,.12)}
  .risk.is-in,.svc.is-in{animation:shadow-drop-tl .6s cubic-bezier(.25,.46,.45,.94)}
  /* flicker-in-1: nodos del timeline al encenderse */
  @keyframes flicker-in-1{0%,10%,10.2%,20%,20.6%,30%,30.6%,45%,55.1%,57%,60.1%,65%,75.1%,77%,85.1%,86%{opacity:0}10.1%,20.1%,30.1%,30.5%,45.1%,50%,55%,57.1%,60%,65.1%,75%,77.1%,85%,86.1%,100%{opacity:1}}
  .step.lit::before{animation:flicker-in-1 .55s linear both}
  /* pulsate-fwd: punto lime "en vivo" de la línea de confianza del hero (micro-loop discreto, no en botones) */
  @keyframes pulsate-fwd{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
  .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-right:10px;animation:pulsate-fwd 2.4s ease-in-out infinite}

  /* BENEFICIOS (contenido McKinsey + benchmarks) */
  .bnf-list{display:flex;flex-direction:column;gap:22px;margin-top:44px}
  .bnf{display:grid;grid-template-columns:290px 1fr;gap:38px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:34px 36px}
  .bnf-n{font-family:var(--h);font-weight:700;font-size:14px;color:var(--lime);letter-spacing:.16em}
  .bnf h3{font-family:var(--h);font-weight:700;font-size:22px;line-height:1.25;color:var(--fg);margin-top:10px}
  .bnf-body p{font-size:15.5px;line-height:1.55;color:var(--mut2)}
  .bnf-body p+p{margin-top:12px}
  .bnf-body p b{color:var(--fg);font-weight:600}
  .bnf-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
  .bnf-stat{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line2);background:var(--limebg);border-radius:8px;padding:10px 16px;min-width:120px}
  .bnf-stat .v{font-family:var(--h);font-weight:700;font-size:20px;color:var(--lime);white-space:nowrap}
  .bnf-stat .k{font-size:12px;line-height:1.35;color:var(--mut);max-width:200px}
  .src-chip{display:inline-flex;align-items:center;gap:8px;margin-top:20px;border:1px solid var(--line);background:#141414;border-radius:99px;padding:6px 15px;font-family:var(--h);font-size:12px;letter-spacing:.04em;color:var(--demoted)}
  .src-chip i{font-size:14px;color:var(--mut)}
  .bnf-note{font-size:13px;color:var(--demoted);margin-top:26px;max-width:760px}
  @media(max-width:860px){.bnf{grid-template-columns:1fr;gap:14px;padding:28px 24px}}

  /* DIAGRAMAS DEL SISTEMA (estilo de nodos de la landing anterior: bento-flow / micro-diagram) */
  .diag{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px 30px;margin-top:26px}
  .diag-head{display:flex;align-items:baseline;gap:16px;margin-bottom:28px;flex-wrap:wrap}
  .diag-n{font-family:var(--h);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
  .diag-head h3{font-family:var(--h);font-weight:700;font-size:21px;color:var(--fg)}
  .diag-cap{font-size:14px;line-height:1.5;color:var(--mut);margin-top:24px;max-width:760px}
  .dflow{display:flex;align-items:flex-start;gap:0}
  .dnode{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;flex:0 0 auto;width:170px}
  .dnode .dico{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--limebg);border-radius:14px;color:var(--lime);font-size:28px}
  .dnode.ck .dico{background:var(--lime);border-color:var(--lime);color:var(--ink)}
  .dnode .dk{font-family:var(--h);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
  .dnode .dt{font-family:var(--h);font-weight:600;font-size:14.5px;line-height:1.35;color:var(--fg);max-width:160px}
  .dconn{flex:1;min-width:34px;height:2px;background:var(--line);position:relative;align-self:flex-start;margin-top:28px}
  .dconn::after{content:"";position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(197,237,54,.7);animation:dflow-dot 2.6s linear infinite}
  @keyframes dflow-dot{0%{left:0;opacity:0}14%{opacity:1}86%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
  @media(max-width:860px){
    .dflow{flex-direction:column;align-items:center;gap:0}
    .dnode{width:auto;max-width:260px}
    .dconn{flex:none;width:2px;height:36px;margin:10px 0;align-self:center}
    .dconn::after{animation:dflow-dot-v 2.2s linear infinite;top:0;left:-3px}
    @keyframes dflow-dot-v{0%{top:0;opacity:0}14%{opacity:1}86%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}
  }
  .dgrid2{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
  @media(max-width:860px){.dgrid2{grid-template-columns:1fr;gap:26px}}
  /* min-width:0 evita que el min-content del árbol (filas nowrap) estire la columna
     y desborde el viewport en móvil; el árbol scrollea horizontal si no cabe */
  .dgrid2>*{min-width:0}
  .dtree{background:#141414;border:1px solid var(--line);border-radius:10px;padding:20px 22px;font-family:var(--h);font-size:14.5px;overflow-x:auto}
  .drow{display:flex;align-items:center;gap:9px;color:var(--fg);padding:5px 0;white-space:nowrap}
  .drow i{font-size:17px;color:var(--lime);flex:none}
  .drow.off{color:var(--demoted);opacity:.55}
  .drow.off i{color:var(--demoted)}
  .drow.indent1{padding-left:26px}.drow.indent2{padding-left:52px}
  .dbadge{font-family:var(--h);font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--lime);padding:2px 7px;border-radius:3px;margin-left:8px}
  .dside{display:flex;flex-direction:column;gap:18px}
  .dstep{display:flex;gap:14px;align-items:flex-start}
  .dsn{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--limebg);border:1px solid var(--line2);color:var(--lime);font-family:var(--h);font-weight:700;font-size:13px;margin-top:2px}
  .dstep p{font-size:15px;line-height:1.5;color:var(--mut2)}
  .dstep b{color:var(--fg)}
  /* Iconos SVG a medida en service-cards */
  .svc .ico svg{display:block}

  /* QUOTE FUNDADOR */
  .founder-quote{position:relative;max-width:840px;margin-top:42px;padding:36px 40px 32px 56px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:10px}
  .founder-quote-mark{position:absolute;left:18px;top:26px;font-size:30px;color:var(--lime-dim)}
  .founder-quote-text{font-family:var(--h);font-weight:500;font-size:clamp(18px,2.4vw,24px);line-height:1.5;color:var(--fg)}
  .founder-quote-attr{display:flex;align-items:baseline;gap:10px;margin-top:22px}
  .fq-name{font-family:var(--h);font-weight:700;font-size:15px;color:var(--lime)}
  .fq-role{font-size:14px;color:var(--mut)}
  @media(max-width:600px){.founder-quote{padding:30px 22px 26px 30px}.founder-quote-mark{left:12px;top:20px;font-size:24px}}

  @media(prefers-reduced-motion:reduce){
    *{scroll-behavior:auto !important}
    .reveal,.col.sin,.col.con{opacity:1 !important;transform:none !important;transition:none !important}
    .bar .fill{transition:none !important}
    .hero h1 .word{opacity:1 !important;transform:none !important}
    .kick.reveal.is-in,.fx-focus.reveal.is-in,.fx-slideblur.reveal.is-in,.stat.reveal.is-in,.casebox.reveal.is-in,
    .flow .fbox.reveal.is-in,.risk.is-in,.svc.is-in,.bar.run .val,.step.lit::before,.live-dot{animation:none !important}
    .dconn::after{animation:none !important;opacity:.9}
  }
