:root{
    --blobA:#F2B199; --blobB:#F7C4A0; --linC:#F2B199; --linD:#F6C6A8;
    --ax:12%; --ay:18%; --bx:86%; --by:66%;
    --ink:#15171A; --muted:#4a4f57;
    --turq:#8FE8C0;   /* turquesa de marca */
    --accent:#67CBD3; /* cyan acento (nodos, botones) */
    /* tema adaptativo (los pinta el JS por escena) */
    --fg:#E9F1F5; --fg2:#9DB5C4;
    --surf:rgba(255,255,255,.05); --surfBrd:rgba(255,255,255,.12);
    --chipBg:rgba(255,255,255,.06); --chipBrd:rgba(255,255,255,.14);
  }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased}

  /* velo negro de la intro (se desvanece revelando el pastel) */
  .veil{position:fixed;inset:0;z-index:-1;background:#05060a;pointer-events:none}

  /* firma sutil de la intro: el impacto pertenece al Hero */
  .introtitle{position:fixed;inset:0;z-index:6;display:none;place-content:center;
    text-align:center;pointer-events:none;color:rgba(238,246,248,.72);opacity:0;padding:0 24px}
  .introtitle .it-word{display:block;font-size:clamp(20px,2.25vw,38px);font-weight:200;
    line-height:1;letter-spacing:.24em;white-space:nowrap;
    font-family:"Helvetica Neue",'Sora',Arial,sans-serif;text-shadow:0 0 34px rgba(103,203,211,.12)}
  .introtitle .it-word em{font-style:normal;font-weight:200;color:rgba(143,232,192,.78)}

  /* ---------- Fondo global único ---------- */
  .bg{position:fixed; inset:0; z-index:-2; background:#02040A}
  .bg .stage{position:absolute;inset:0;opacity:0;will-change:opacity}
  .stage.s1{opacity:1;background:linear-gradient(180deg,#050B24 0%,#071A48 58%,#0A2E63 86%,#08BDE8 145%)}
  .stage.s2{background:linear-gradient(180deg,#071A48 0%,#0B3760 38%,#0B8299 70%,#67CBD3 100%)}
  .stage.s3{background:linear-gradient(180deg,#67CBD3 0%,#BFDCD4 35%,#E8F2EC 68%,#F6F5F3 100%)}
  .stage.s4{background:radial-gradient(circle at 70% 30%,#FFFF8D 0%,#C1F4C5 30%,#67CBD3 62%,#F6F5F3 100%)}
  .stage.s5{background:radial-gradient(circle at 58% 48%,#F2B199 0%,#F6C6A8 42%,#FFFF8D 74%,#C1F4C5 112%)}
  .stage.s6{background:linear-gradient(160deg,#F2B199 0%,#F6C6A8 24%,#67CBD3 64%,#0B8299 78%,#071A48 100%)}
  .stage.s7{background:radial-gradient(circle at 50% 45%,#0EB5C2 0%,#07334B 18%,#071A48 42%,#050B18 75%,#02040A 100%)}
  /* grano en su propia capa (nunca repinta con el gradiente) */
  .grain{content:"";position:fixed;inset:0;z-index:-1;opacity:.04;pointer-events:none;
    transform:translateZ(0);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:20;
    background:linear-gradient(90deg,rgba(21,23,26,.15),rgba(21,23,26,.55))}
  .travel-orb{position:fixed;left:0;top:0;z-index:12;width:0;height:0;border-radius:50%;opacity:0;pointer-events:none;will-change:left,top,width,height,opacity,transform;
    background:radial-gradient(circle at 34% 28%,#e8ffff 0%,#8fe8df 17%,#42c5d2 45%,#147a9b 72%,#06334f 100%);
    box-shadow:inset -12px -16px 30px rgba(3,35,62,.26),inset 8px 8px 20px rgba(255,255,255,.28),0 20px 65px rgba(14,181,194,.42)}
  .travel-orb::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(255,255,255,.18);transform:rotate(-22deg)}

  /* ---------- Hero pinneado ---------- */
  .hero{position:relative;height:640vh}          /* 4 fases + solidificar en orbe */
  .hero__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
  canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

  .track{position:relative;z-index:2;text-align:center;max-width:780px;padding:0 24px;pointer-events:none;
    transition:opacity .6s ease}
  body.intro .track,body.intro .scrollhint{opacity:0!important}
  .step{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);
    width:min(780px,92vw);opacity:0;transition:opacity .55s ease, transform .55s ease}
  .step.is-active{opacity:1;transform:translate(-50%,-50%)}
  .eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
  .step h1{font-size:clamp(30px,5.4vw,60px);line-height:1.04;margin:0 0 14px;letter-spacing:-.025em;font-weight:600}
  .step p{color:var(--muted);font-size:clamp(15px,1.7vw,19px);margin:0 auto;max-width:560px}

  .scrollhint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;
    color:var(--muted);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
    display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.8}
  .scrollhint span{width:1px;height:32px;background:linear-gradient(var(--muted),transparent);
    animation:pulse 1.8s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:.25;transform:scaleY(.6)}50%{opacity:.9;transform:scaleY(1)}}

  /* ---------- Contenido ---------- */
  section.content{min-height:100vh;display:grid;place-items:center;padding:96px 24px}
  .wrap{width:min(980px,92vw)}
  .kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
  .lead{font-size:clamp(24px,3.4vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0 0 40px;max-width:16ch}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
  .card{background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.5);
    border-radius:20px;padding:28px}
  .card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.01em}
  .card p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
  /* ---------- Platform Journey: vídeo sticky + progreso editorial ---------- */
  .platform{display:block;padding:110px 24px 140px;--platform-progress:0}
  .platform .wrap{max-width:1000px;margin:0 auto}
  .platform .lead{margin:0 0 14px;max-width:20ch}
  .platform-sub{color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.5;
    max-width:56ch;margin:0 0 30px}
  .platform-journey{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px}
  .platform-copy{position:relative}
  .platform-copy::before,.platform-copy::after{content:"";position:absolute;left:17px;top:229px;bottom:calc(205vh - 229px);width:2px;border-radius:2px}
  .platform-copy::before{background:rgba(255,255,255,.22)}
  .platform-copy::after{bottom:auto;height:calc((100% - 205vh)*var(--platform-progress));background:linear-gradient(#F2B199,#F7A57F);box-shadow:0 0 16px rgba(242,177,153,.42)}
  .layer{position:relative;min-height:140vh;padding:64px 0 0 64px;display:flex;align-items:flex-start;opacity:.34;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
  .layer[data-product="core"]{min-height:180vh}
  .layer[data-product="assistant"]{min-height:230vh}
  .layer[data-product="suite"]{min-height:205vh}
  .layer.is-active{opacity:1;transform:none}
  .node{position:absolute;left:0;top:50%;transform:translate(0,-50%);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.58);box-shadow:0 0 0 7px rgba(255,255,255,.08);color:var(--fg);font-size:10px;font-weight:700;letter-spacing:.08em;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s ease,color .4s ease}
  .layer.is-past .node,.layer.is-active .node{background:#F2B199;border-color:#F9D2C3;box-shadow:0 0 0 7px rgba(242,177,153,.18),0 0 24px rgba(242,177,153,.45)}
  .layer.is-active .node{transform:translate(0,-50%) scale(1.12);color:#10202a}
  .layer .node{top:229px}
  .layer__panel{position:sticky;top:64px;width:100%;min-height:330px;display:flex;flex-direction:column;justify-content:center;padding:32px 34px;background:var(--surf);border:1px solid var(--surfBrd);border-radius:22px;box-shadow:0 22px 65px rgba(4,16,28,.08)}
  .layer__top{display:flex;align-items:center;gap:14px;margin-bottom:4px}
  .verb{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--ink);
    background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.6);padding:5px 13px;border-radius:999px}
  .surface{margin-left:auto;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
  .layer__name{margin:14px 0 12px;font-size:clamp(32px,3.4vw,44px);letter-spacing:-.025em;font-weight:600;line-height:1.02}
  .layer__desc{margin:0 0 22px;color:var(--muted);font-size:17px;line-height:1.58;max-width:62ch}
  .chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
  .chips li{font-size:14px;color:var(--ink);background:rgba(255,255,255,.4);
    border:1px solid rgba(255,255,255,.55);padding:7px 13px;border-radius:999px}
  .platform-visual{position:sticky;top:64px;height:auto;display:block;align-self:start;margin-top:64px}
  .video-stage{position:relative;width:100%;aspect-ratio:1000/562;isolation:isolate}
  .video-stage::after{content:"";position:absolute;left:6%;right:6%;bottom:2%;height:34%;z-index:-1;border-radius:50%;background:rgba(4,16,28,.24);filter:blur(26px)}
  .screen-target{position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);pointer-events:none;z-index:6}
  .platform-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transform:translateZ(0);will-change:transform}
  .video-label{position:absolute;z-index:5;left:20px;bottom:18px;padding:7px 12px;border-radius:999px;color:#fff;background:rgba(5,10,18,.48);border:1px solid rgba(255,255,255,.18);font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .35s ease}
  .triad{margin:60px 0 0;display:flex;align-items:center;justify-content:center;gap:18px;
    font-size:clamp(17px,2.2vw,22px);font-weight:600}
  .triad i{color:var(--muted);font-style:normal}
  /* reveal por scroll (independiente del hero) */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media (max-width:760px){
    .platform{padding:100px 20px 120px}.platform-journey{display:flex;flex-direction:column;gap:0}.platform-copy{order:2}.platform-copy::before,.platform-copy::after{display:none}
    .platform-visual{order:1;display:block;position:sticky;top:12px;height:auto;z-index:8;margin:0 0 26px}.video-stage::after{bottom:4%;height:26%;filter:blur(16px)}
    .layer,.layer:first-child,.layer:last-child,.layer[data-product]{display:block;min-height:66vh;padding:20vh 0 12vh;opacity:.34;transform:none}.layer.is-active{opacity:1}
    .node{display:none}.layer__panel{position:relative;top:auto;padding:0}.video-label{left:12px;bottom:10px}
  }
  @media (min-width:761px) and (max-width:980px){.platform-journey{grid-template-columns:1fr 1fr;gap:28px}.layer{padding-left:52px}.layer__panel{padding:26px 24px}.platform-copy::before,.platform-copy::after{left:17px}}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;transition:none} }

  /* ---------- 03 · Control & Evidence + 04 · CTA ---------- */
  .content.control,.content.cta{display:block;min-height:auto}
  .content.control{padding:150px 24px;position:relative;isolation:isolate}
  .content.control::before,.content.cta::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
  .content.control::before{background:linear-gradient(180deg,rgba(242,177,153,0) 0%,rgba(242,177,153,.12) 25%,rgba(103,203,211,.13) 58%,rgba(7,26,72,.24) 100%)}
  .content.cta{position:relative;isolation:isolate}
  .content.cta::before{background:linear-gradient(180deg,rgba(7,26,72,.22) 0%,rgba(5,11,24,.16) 54%,rgba(2,4,10,.05) 100%)}
  .lead.big{font-size:clamp(30px,5.4vw,64px);line-height:1.02;letter-spacing:-.03em;margin:0 0 18px;max-width:15ch}
  .control .wrap,.cta .wrap{max-width:1000px;margin:0 auto}
  .governance-story{position:relative;height:285vh;margin:70px 0 0}
  .governance-story__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
  .governance-story__track{display:flex;width:100%;will-change:transform}
  .governance-beat{flex:0 0 100%;min-width:0;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.44);padding:72px 0}
  .governance-beat__inner{width:100%;display:grid;grid-template-columns:110px minmax(0,1fr);gap:36px;align-items:start}
  .governance-beat__index{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--fg2);padding-top:12px}
  .governance-beat h3{margin:0;font-size:clamp(38px,6.2vw,78px);line-height:.98;letter-spacing:-.04em;font-weight:600;max-width:13ch}
  .governance-beat p{grid-column:2;margin:20px 0 0;max-width:48ch;color:var(--fg2);font-size:17px;line-height:1.6}
  .governance-beat h3{color:#0b0f14}.governance-beat:nth-child(even) h3{color:#ffffff}.governance-beat p,.governance-beat .governance-beat__index{color:rgba(23,40,60,.74)}
  .governance-story .reveal{opacity:1;transform:none}
  .suite-regulatory{height:250vh;margin:-30vh 0 0;color:#f4f7f8}
  .suite-regulatory__sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
  .suite-regulatory__label{position:absolute;top:clamp(32px,7vh,72px);left:0;z-index:2;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(233,241,245,.7)}
  .reg-journey__viewport{width:100%;overflow:hidden}
  .reg-journey{display:flex;width:100%;will-change:transform}
  .reg-step{order:4;flex:0 0 100%;min-width:0;border-top:1px solid rgba(255,255,255,.44);padding:72px 0}.reg-step:nth-child(2){order:3}.reg-step:nth-child(3){order:2}.reg-step:nth-child(4){order:1}
  .reg-step__inner{display:grid;grid-template-columns:110px minmax(0,1fr);gap:36px;align-items:start}
  .reg-step span{padding-top:12px;color:rgba(233,241,245,.72);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.reg-step strong{display:block;max-width:13ch;font-size:clamp(38px,6.2vw,78px);font-weight:600;line-height:.98;letter-spacing:-.04em;color:#ffffff}.reg-step:nth-child(2) strong,.reg-step:nth-child(4) strong{color:#0b0f14}.reg-step p{grid-column:2;margin:20px 0 0;max-width:48ch;color:rgba(233,241,245,.76);font-size:17px;line-height:1.6}
  .suite-summary-scroll{position:relative;height:190vh;margin:-35vh 0 40px}
  .suite-summary-sticky{position:sticky;top:0;min-height:100vh;display:grid;place-items:center}
  .suite-summary{width:100%;margin:0;padding:34px 36px;color:#f4f7f8;border-radius:24px;background:rgba(5,18,34,.30);border:1px solid rgba(255,255,255,.28);}
  .suite-summary__intro{margin:0 0 22px}
  .suite-summary__intro .kicker{display:block;margin:0 0 10px}
  .suite-summary__intro h3{margin:0;max-width:18ch;font-size:clamp(26px,3.6vw,42px);line-height:1.03;letter-spacing:-.03em;color:#f4f7f8}
  .suite-summary__head{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:end}.suite-summary__head h3{margin:0;max-width:14ch;font-size:clamp(28px,4vw,46px);line-height:1;letter-spacing:-.035em}.suite-summary__head p{margin:0;color:rgba(244,247,248,.75);font-size:15px;line-height:1.55}
  .summary-flow{display:flex;align-items:center;gap:10px;margin:26px 0 0;padding:15px 18px;border-radius:14px;background:rgba(5,18,34,.22);border:1px solid rgba(255,255,255,.14);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#79e1e8}
  .summary-flow span{opacity:.32;transition:opacity .45s ease,text-shadow .45s ease}
  .summary-flow span.on{opacity:1;text-shadow:0 0 18px rgba(121,225,232,.55)}
  .summary-flow i{height:1px;flex:1;position:relative;overflow:hidden;background:rgba(121,225,232,.14)}
  .summary-flow i::after{content:"";position:absolute;inset:0;background:#79e1e8;transform:scaleX(var(--fill,0));transform-origin:left}
  .regulatory-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.reg-check{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;color:rgba(244,247,248,.82);border-radius:12px;background:rgba(5,18,34,.18);font-size:12px;line-height:1.4;transition:opacity .5s ease,transform .5s ease}.reg-check::before{content:'✓';flex:0 0 auto;color:#79e1e8;font-weight:800}.reg-context{margin:20px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:1fr 1fr;gap:34px}.reg-context>div{transition:opacity .5s ease,transform .5s ease}.reg-context h4{margin:0 0 6px;color:#f4f7f8;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.reg-context p{margin:0;color:rgba(244,247,248,.7);line-height:1.5;font-size:12px}
  @media (max-width:820px){.suite-summary__head,.reg-context{grid-template-columns:1fr;gap:18px}.regulatory-checks{grid-template-columns:1fr 1fr}.summary-flow{overflow-x:auto}.summary-flow i{min-width:28px}}
  @media (max-width:640px){.governance-story{height:auto}.governance-story__sticky{position:relative;height:auto;overflow:visible}.governance-story__track{display:block;transform:none!important}.governance-beat{padding:70px 0}.governance-beat__inner{grid-template-columns:1fr;gap:12px}.governance-beat p{grid-column:1}.suite-regulatory{height:auto;margin:40px 0 70px}.suite-regulatory__sticky{position:relative;height:auto;overflow:visible}.suite-regulatory__label{position:relative;top:auto;margin-bottom:30px}.reg-journey__viewport{overflow:visible}.reg-journey{display:block;transform:none!important}.reg-step{padding:54px 0}.reg-step__inner{grid-template-columns:1fr;gap:12px}.reg-step p{grid-column:1}.suite-summary-scroll{height:auto;margin:0}.suite-summary-sticky{position:relative;min-height:auto}.suite-summary{padding:24px 20px}.summary-flow{font-size:10px}.regulatory-checks{grid-template-columns:1fr}}

  /* momento Evidence */
  .evidence-story{height:230vh;position:relative;margin-top:0}
  .evidence-story__sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
  .evidence-intro{text-align:center}
  .record{max-width:460px;margin:40px auto 0;text-align:left;border-radius:20px;padding:22px 24px;
    background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.55);
    }
  .control .record{color:#f1f6f7;background:rgba(5,18,34,.27);border-color:rgba(255,255,255,.30)}
  .record__head{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;letter-spacing:.03em;margin-bottom:12px}
  .record__dot{width:10px;height:10px;border-radius:50%;background:#15171A}
  .record__fields{list-style:none;margin:0;padding:0}
  .record__fields li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;
    border-top:1px solid rgba(21,23,26,.08);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
    opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}
  .record__fields li b{color:#15171A;font-size:13px}
  .control .record__fields li,.control .record__id span{color:rgba(233,241,245,.70)}
  .control .record__fields li b{color:#79e1e8}
  .record.in .record__fields li{opacity:1;transform:none}
  .record.in .record__fields li:nth-child(1){transition-delay:.04s}
  .record.in .record__fields li:nth-child(2){transition-delay:.10s}
  .record.in .record__fields li:nth-child(3){transition-delay:.16s}
  .record.in .record__fields li:nth-child(4){transition-delay:.22s}
  .record.in .record__fields li:nth-child(5){transition-delay:.28s}
  .record.in .record__fields li:nth-child(6){transition-delay:.34s}
  .record.in .record__fields li:nth-child(7){transition-delay:.40s}
  .record.in .record__fields li:nth-child(8){transition-delay:.46s}
  .record.in .record__fields li:nth-child(9){transition-delay:.52s}
  .record__id{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;
    border-top:1px solid rgba(21,23,26,.14)}
  .record__id span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .record__id b{font-family:"Menlo","SF Mono",ui-monospace,monospace;font-size:14px;color:#15171A;letter-spacing:.02em}
  .evi-statement{text-align:left}
  .evi-statement .lead.big{margin:0 0 14px}
  .evidence-progress{width:100%;height:2px;margin-top:30px;background:rgba(255,255,255,.16);overflow:hidden}.evidence-progress i{display:block;width:100%;height:100%;background:#79e1e8;transform:scaleX(0);transform-origin:left;will-change:transform}
  @media(max-width:700px){.evidence-story{height:auto;margin:70px 0}.evidence-story__sticky{position:relative;height:auto;grid-template-columns:1fr;gap:44px}.evi-statement{text-align:center}.evi-statement .lead.big{margin-left:auto;margin-right:auto}.record__fields li{opacity:1;transform:none}.evidence-progress{display:none}}

  /* línea de entornos regulados (solo tipografía) */
  .regline{max-width:860px;margin:72px auto 0;text-align:center}
  .regline__label{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
  .regline__list{display:block;font-size:clamp(13px,1.6vw,16px);color:var(--ink);opacity:.72;line-height:1.8}

  /* 04 · CTA — cierre del bucle */
  .content.cta{padding:170px 24px;text-align:center}
  .cta .wrap{display:flex;flex-direction:column;align-items:center;max-width:780px}
  .core-glyph{width:66px;height:66px;border-radius:50%;margin-bottom:30px;
    background:radial-gradient(circle at 38% 34%, #fff, rgba(255,255,255,.2) 58%, transparent 72%);
    box-shadow:0 0 0 1px rgba(21,23,26,.1), 0 12px 46px rgba(21,23,26,.14)}
  .powered{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:4px 0 16px}
  .cta .lead.big{max-width:18ch;margin-left:auto;margin-right:auto}
  .cta__actions{margin:30px 0 0;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap}
  .btn--lg{padding:18px 36px;font-size:16px}
  .access-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid rgba(255,255,255,.26);border-radius:26px;color:#e9f1f5;background:rgba(5,18,34,.94);box-shadow:0 36px 120px rgba(2,4,10,.48);backdrop-filter:blur(26px)}
  .access-dialog::backdrop{background:rgba(2,4,10,.58);backdrop-filter:blur(8px)}
  .access-form{padding:34px}.access-form__head{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:28px}.access-form h3{margin:4px 0 8px;font-size:clamp(28px,5vw,44px);letter-spacing:-.035em}.access-form__intro{margin:0;color:#9db5c4;line-height:1.5}.dialog-close{border:0;background:rgba(255,255,255,.08);color:#fff;width:38px;height:38px;border-radius:50%;font-size:22px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field--wide{grid-column:1/-1}.form-field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9db5c4}.form-field input,.form-field textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:13px 14px;color:#fff;background:rgba(255,255,255,.06);font:inherit;outline:none}.form-field input:focus,.form-field textarea:focus{border-color:#67CBD3;box-shadow:0 0 0 3px rgba(103,203,211,.12)}.form-field textarea{min-height:110px;resize:vertical}.access-form__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.form-note{font-size:12px;line-height:1.4;color:#9db5c4;max-width:30ch}.form-status{min-height:20px;margin:14px 0 0;color:#8FE8C0;font-size:13px}
  @media(max-width:560px){.access-form{padding:24px}.form-grid{grid-template-columns:1fr}.form-field--wide{grid-column:auto}.access-form__foot{align-items:stretch;flex-direction:column}.access-form__foot .btn{width:100%;text-align:center;border:0}}

  .site-footer{position:relative;padding:80px max(24px,calc((100vw - 1120px)/2)) 28px;color:#e9f1f5;background:linear-gradient(180deg,rgba(2,8,24,0) 0%,rgba(2,8,24,.55) 220px,rgba(2,8,24,.72) 100%)}
  .footer-main{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:48px;padding-bottom:64px}.footer-brand__name{font-size:22px;font-weight:300;letter-spacing:.04em}.footer-brand__name span{color:#8fe8c0}.footer-brand p{max-width:28ch;margin:16px 0 0;color:#9db5c4;font-size:13px;line-height:1.65}.footer-col h3{margin:3px 0 18px;color:#e9f1f5;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.footer-col a{display:block;width:max-content;max-width:100%;margin:0 0 11px;color:#9db5c4;text-decoration:none;font-size:13px;line-height:1.4;transition:color .25s ease,transform .25s ease}.footer-col a:hover{color:#8fe8c0;transform:translateX(3px)}
  .footer-specialist{display:flex;flex-wrap:wrap;gap:9px;padding:24px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}.footer-specialist a{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#9db5c4;text-decoration:none;font-size:11px;transition:.25s ease}.footer-specialist a:hover{color:#e9f1f5;border-color:rgba(121,225,232,.5)}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:26px;color:#7890a2;font-size:11px;letter-spacing:.04em}.footer-bottom__links{display:flex;flex-wrap:wrap;gap:22px}.footer-bottom a{color:#9db5c4;text-decoration:none}.footer-bottom a:hover{color:#8fe8c0}
  @media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1/-1}.footer-main{gap:38px 28px}}
  @media(max-width:560px){.site-footer{padding-top:62px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}}
  .btn{display:inline-block;padding:14px 28px;border:0;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer;
    text-decoration:none;font-family:inherit;font-size:15px;font-weight:600;line-height:1;transition:transform .35s ease,box-shadow .35s ease,filter .35s ease}
  .btn:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 16px 42px rgba(103,203,211,.30)}
  .btn.btn--ghost{background:none;color:var(--fg);border:1px solid rgba(255,255,255,.30);box-shadow:none;font-weight:500;letter-spacing:.01em}
  .btn.btn--ghost:hover{transform:translateY(-2px);filter:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.6);box-shadow:0 12px 30px rgba(4,16,28,.25)}

  @media (prefers-reduced-motion: reduce){ .scrollhint span{animation:none} }

  /* ---------- Cookie consent ---------- */
  .cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:none;
    background:rgba(5,18,34,.92);border:1px solid rgba(255,255,255,.16);border-radius:16px;
    box-shadow:0 20px 60px rgba(2,6,14,.5);}
  .cookie-consent.is-open{display:block;animation:cookieIn .4s ease}
  @keyframes cookieIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .cookie-consent__inner{max-width:1000px;margin:0 auto;padding:18px 22px;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .cookie-consent__text{margin:0;color:#C7D6E0;font-size:14px;line-height:1.55;max-width:64ch}
  .cookie-consent__text a{color:#8FE8C0}
  .cookie-consent__actions{display:flex;gap:10px;flex-shrink:0}
  .cookie-consent__btn{padding:11px 22px;border-radius:999px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .25s ease,filter .25s ease,background .25s ease,border-color .25s ease}
  .cookie-consent__btn--accept{background:linear-gradient(110deg,#8FE8C0,#67CBD3 55%,#F2B199 120%);color:#04121f}
  .cookie-consent__btn--accept:hover{transform:translateY(-2px);filter:saturate(1.08)}
  .cookie-consent__btn--ghost{background:none;color:#E9F1F5;border-color:rgba(255,255,255,.28)}
  .cookie-consent__btn--ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.55)}
  @media(max-width:560px){.cookie-consent__inner{flex-direction:column;align-items:stretch;gap:14px}.cookie-consent__actions{justify-content:stretch}.cookie-consent__btn{flex:1}}

  /* ============ Platform intro: 3 capas + botón + journey plegado ============ */
  .intro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(1120px,94vw);margin:6px auto 30px;text-align:left}
  .introcard{background:var(--surf);border:1px solid var(--surfBrd);border-radius:22px;padding:26px 24px;display:flex;flex-direction:column;box-shadow:0 22px 65px rgba(4,16,28,.08)}
  .introcard .layer__name{font-size:clamp(24px,2.3vw,30px);margin:12px 0 10px}
  .introcard .layer__desc{font-size:15px;line-height:1.55;margin:0 0 18px}
  .intro-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin:2px 0 6px}
  .intro-cta.is-done{display:none}
  .btn--intro span{display:inline-block;transition:transform .3s ease}
  .btn--intro:hover span{transform:translateX(4px)}
  .intro-cta__hint{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg2)}
  .journey-collapse[hidden]{display:none}
  .journey-collapse{width:100%;animation:journeyIn .6s ease both}
  @keyframes journeyIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  @media(max-width:900px){.intro-cards{grid-template-columns:1fr;width:min(560px,94vw)}}

  /* ============ TEMA ADAPTATIVO (solo test-bg2) ============ */
  body{color:var(--fg)}
  .step h1,.lead,.layer__name,.card h3,.verb,.record__head,.gate__approve,
  .evi-statement h3{color:var(--fg)}
  .step p,.eyebrow,.kicker,.platform-sub,.layer__desc,.card p,.principle p,.principle h4,
  .principle .terms,.record__fields li,.regline__list,.regline__label,.scrollhint,
  .surface,.record__id span,.powered{color:var(--fg2)}
  .card,.layer__panel,.record,.gate{background:var(--surf);border-color:var(--surfBrd);box-shadow:none}
  .chips li,.verb,.gate__chips span{background:var(--chipBg);border-color:var(--chipBrd);color:var(--fg)}
  .record__fields li{border-top-color:var(--surfBrd)}
  .record__id{border-top-color:var(--surfBrd)}
  .record__fields li b,.record__id b,.record__dot{color:var(--accent)}
  .node,.fnode,.fnode.ok{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 6px rgba(103,203,211,.16)}
  .layer__rail::before,.flow-step::before,.gate::before{
    background:linear-gradient(rgba(103,203,211,.45),rgba(103,203,211,.08))}
  .progress{background:linear-gradient(90deg,rgba(103,203,211,.4),rgba(103,203,211,.95))}
  .btn{background:linear-gradient(110deg,#8FE8C0 0%,#67CBD3 48%,#F2B199 115%);color:#04121f;box-shadow:0 10px 34px rgba(103,203,211,.22)}
  .core-glyph{background:radial-gradient(circle at 38% 34%, #c7f7f0, rgba(103,203,211,.28) 58%, transparent 72%);
    box-shadow:0 0 0 1px rgba(103,203,211,.25), 0 12px 46px rgba(14,181,194,.28)}

