/* ============================================================
   Nexo · Home web — estilos
   Tokens derivados de colors_and_type.css · 5 actos en scroll
   ============================================================ */

:root{
  --vanta:#0A0A0A; --paper:#F7F6F3; --white:#FFFFFF;
  --blue:#1A3A8F; --blue-deep:#0F2860; --blue-light:#4A7AD8;
  --gold:#F5B800; --ink:#0F0F0F; --ink2:#6A655A; --ink3:#747066;
  --border:#E6E4DE; --border-dark:#DAD7CF;
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-sans:'Inter',sans-serif;
  --font-mono:'Geist Mono',monospace;
  /* ── Tweakable knobs ── */
  --glow-mult:1;      /* Emergencia del insight · escala los glows dorados (Estado B) */
  --pad-scale:1;      /* Ritmo editorial · escala el padding vertical de secciones */
  --display-scale:1;  /* Ritmo editorial · escala los titulares grandes */
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6;}
a{color:inherit;text-decoration:none;}
em{font-style:italic;}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px;}

.eyebrow{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;}
.display{font-family:var(--font-display);font-weight:800;letter-spacing:-0.035em;line-height:1.0;}
.display-700{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;line-height:1.1;}
.mono{font-family:var(--font-mono);}

/* ── Botones ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:15px;border-radius:6px;padding:13px 24px;border:1px solid transparent;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,transform 180ms cubic-bezier(0.16,1,0.3,1),box-shadow 180ms ease;}
.btn-gold{background:var(--gold);color:var(--vanta);}
.btn-gold:hover{background:#FFC833;transform:translateY(-1px);box-shadow:0 6px 22px -6px rgba(245,184,0,0.55);}
.btn-blue{background:var(--blue);color:#fff;}
.btn-blue:hover{background:var(--blue-deep);}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:rgba(15,15,15,0.22);}
.btn-ghost-dark:hover{border-color:rgba(15,15,15,0.45);}
.btn-ghost-light{background:transparent;color:var(--ink);border-color:var(--border);}
.btn-ghost-light:hover{background:#F0F0F2;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:50;height:68px;display:flex;align-items:center;background:rgba(10,10,10,0);transition:background 300ms ease,backdrop-filter 300ms ease;}
nav.scrolled{background:rgba(255,255,255,0.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
nav .brand{display:flex;align-items:center;gap:9px;}
nav .wm{font-family:var(--font-display);font-weight:800;letter-spacing:-0.035em;font-size:22px;color:var(--ink);}
nav .links{display:flex;align-items:center;gap:32px;}
nav .links a{font-size:14px;font-weight:500;color:var(--ink2);transition:color 150ms ease;}
nav .links a:hover{color:var(--ink);}

/* ── Secciones base ── */
section{position:relative;overflow:hidden;}
.sec-dark{background:var(--paper);color:var(--ink);}
.sec-paper{background:var(--paper);color:var(--ink);}
.pad{padding:calc(140px * var(--pad-scale)) 0;}
.noise{position:absolute;inset:0;pointer-events:none;}
/* Estado A — profundidad fría, sin núcleo */
.estado-a-grad{position:absolute;inset:0;background:radial-gradient(58% 64% at 34% 34%,rgba(74,122,216,0.15) 0%,transparent 70%);}
/* Estado B — el insight emerge (glow dorado quieto) */
.estado-b-grad{position:absolute;inset:0;background:radial-gradient(58% 64% at 34% 34%,rgba(74,122,216,0.12) 0%,transparent 70%);}
.estado-b-glow{position:absolute;inset:0;opacity:var(--glow-mult);transition:opacity 400ms cubic-bezier(0.16,1,0.3,1);}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;padding:68px 0 24px;}
.hero .wrap{display:grid;grid-template-columns:1fr 0.94fr;gap:24px;align-items:center;width:100%;}
.hero h1{font-size:calc(clamp(40px, 6.2vw, 78px) * var(--display-scale));color:var(--ink);margin:28px 0 28px;text-wrap:balance;}
.hero .lede{font-size:clamp(20px, 2.4vw, 26px);color:var(--ink2);line-height:1.4;margin-bottom:40px;}
.hero .cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hero-sym{display:flex;align-items:center;justify-content:center;overflow:visible;}
.hero-sym canvas{margin-left:-10%;max-width:900px;}

/* ── Reveal on scroll ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 700ms cubic-bezier(0.16,1,0.3,1),transform 700ms cubic-bezier(0.16,1,0.3,1);}
.reveal.in{opacity:1;transform:none;}

/* ── Entrada escalonada del hero al cargar (solo desplazamiento — nunca oculta el texto) ── */
@keyframes heroIn{from{transform:translateY(20px);}to{transform:none;}}
@keyframes heroSymIn{from{transform:scale(0.965);}to{transform:none;}}
.hero-copy>*{animation:heroIn 760ms cubic-bezier(0.16,1,0.3,1) backwards;}
.hero-copy>.eyebrow{animation-delay:80ms;}
.hero-copy>h1{animation-delay:200ms;}
.hero-copy>.lede{animation-delay:360ms;}
.hero-copy>.cta-row{animation-delay:500ms;}
.hero-sym{animation:heroSymIn 1100ms cubic-bezier(0.16,1,0.3,1) 320ms backwards;}
[data-motion="quieto"] .hero-copy>*,[data-motion="quieto"] .hero-sym{animation:none;}

/* ── Tensión ── */
.tension h2{font-size:clamp(34px, 5vw, 60px);color:var(--ink);margin-bottom:28px;text-wrap:balance;}
.tension .body{font-size:26px;color:var(--ink2);line-height:1.5;max-width:880px;}
.tension .kicker{font-family:var(--font-mono);font-size:17px;color:var(--blue);letter-spacing:0.03em;margin-top:44px;}

/* ── Diagnóstico ── */
.diag h2{font-size:clamp(32px, 4.4vw, 52px);margin-bottom:56px;max-width:780px;text-wrap:balance;}
.enemy-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.enemy{border:1px solid var(--border);border-radius:12px;padding:40px;background:var(--white);}
.enemy .tag{font-family:var(--font-mono);font-size:13px;color:var(--ink3);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:18px;}
.enemy h3{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-0.02em;margin-bottom:14px;}
.enemy p{font-size:18px;color:var(--ink2);line-height:1.55;}
.gap-line{display:flex;align-items:center;gap:20px;margin-top:48px;}
.gap-line .ln{height:1px;flex:1;background:rgba(245,184,0,0.4);}
.gap-line .txt{font-family:var(--font-mono);font-size:18px;color:#B8941F;letter-spacing:0.03em;white-space:nowrap;}

/* ── Método ── */
.metodo .eyebrow{color:#8A6D00;}
.metodo h2{font-size:clamp(36px, 5.2vw, 64px);color:var(--ink);margin:24px 0 28px;text-wrap:balance;}
.metodo .lede{font-size:24px;color:var(--ink2);line-height:1.55;max-width:880px;}
.metodo .flow{display:flex;align-items:center;gap:40px;margin-top:80px;flex-wrap:wrap;justify-content:center;}
.metodo .flow .step{text-align:center;flex-shrink:0;}
.metodo .flow .num{font-family:var(--font-mono);font-size:64px;font-weight:500;line-height:1;}
.metodo .flow .num.dim{color:var(--ink3);}
.metodo .flow .num.gold{color:#8A6D00;}
.metodo .flow .lbl{font-family:var(--font-mono);font-size:14px;letter-spacing:0.08em;text-transform:uppercase;margin-top:10px;color:var(--ink2);}
.metodo .flow .arrow{font-family:var(--font-display);font-size:40px;color:var(--ink3);}
.metodo .stat{font-family:var(--font-mono);font-size:16px;color:var(--blue);letter-spacing:0.03em;margin-top:48px;}

/* ── Qué ve Nexo ── */
.ve h2{font-size:clamp(34px, 4.6vw, 56px);margin-bottom:18px;max-width:900px;text-wrap:balance;}
.ve .sub{font-size:20px;color:var(--ink2);margin-bottom:56px;}
.pat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pat{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:32px;box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.pat .tag{font-family:var(--font-mono);font-size:13px;color:#B8941F;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:16px;}
.pat .ph{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--ink);line-height:1.2;letter-spacing:-0.015em;}

/* ── Acompañamiento ── */
.acomp .eyebrow{color:#8A6D00;}
.acomp h2{font-size:52px;color:var(--ink);margin:24px 0 24px;max-width:900px;}
.acomp .lede{font-size:22px;color:var(--ink2);line-height:1.5;max-width:880px;margin-bottom:64px;}
.acomp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.acomp-step{border:1px solid var(--border-dark);border-radius:12px;padding:36px;background:var(--white);}
.acomp-step .n{font-family:var(--font-mono);font-size:22px;font-weight:500;color:#8A6D00;letter-spacing:0.06em;}
.acomp-step h3{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ink);margin:16px 0 10px;letter-spacing:-0.015em;}
.acomp-step p{font-size:17px;color:var(--ink2);line-height:1.5;}

/* ── Cierre / CTA ── */
.cierre{min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;}
.cierre .inner{display:flex;flex-direction:column;align-items:center;gap:36px;z-index:2;position:relative;}
.cierre h2{font-size:calc(clamp(44px, 7vw, 88px) * var(--display-scale));color:var(--ink);text-wrap:balance;}
.cierre .sub{font-size:24px;color:var(--ink2);}
.cierre .cta-row{display:flex;align-items:center;gap:20px;margin-top:8px;flex-wrap:wrap;justify-content:center;}
.cierre .contact{font-family:var(--font-mono);font-size:16px;color:var(--ink2);letter-spacing:0.03em;}

/* ── Footer ── */
footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--border-dark);padding:64px 0 48px;}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap;}
footer .brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
footer .wm{font-family:var(--font-display);font-weight:800;letter-spacing:-0.035em;font-size:24px;}
footer .tagline{font-size:14px;color:var(--ink3);max-width:280px;line-height:1.5;}
footer .col h4{font-family:var(--font-mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:16px;}
footer .col a{display:block;font-size:14px;color:#44444B;margin-bottom:10px;transition:color 150ms ease;}
footer .col a:hover{color:var(--ink);}
footer .legal{width:100%;margin-top:48px;padding-top:24px;border-top:1px solid var(--border-dark);font-family:var(--font-mono);font-size:12px;color:var(--ink3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.yellow-bar-fixed{height:3px;background:var(--gold);}

/* ── Animación núcleo (1.7 / 3s) ── */
@keyframes nexoPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@keyframes nexoPulseRing{0%{transform:scale(1);opacity:0.55;}100%{transform:scale(2.2);opacity:0;}}
.nucleus{transform-box:fill-box;transform-origin:center;animation:nexoPulse 2.8s ease-in-out infinite;}
.ring{transform-box:fill-box;transform-origin:center;animation:nexoPulseRing 2.8s ease-out infinite;}
/* Movimiento · quieto: sin pulso · vivo: pulso más rápido */
[data-motion="quieto"] .nucleus,[data-motion="quieto"] .ring{animation:none;}
[data-motion="quieto"] .reveal{transition:none;}
[data-motion="vivo"] .nucleus{animation-duration:1.9s;}
[data-motion="vivo"] .ring{animation-duration:1.9s;}
@media (prefers-reduced-motion:reduce){.nucleus,.ring{animation:none;}.reveal{opacity:1;transform:none;transition:none;}.hero-copy>*,.hero-sym{animation:none;opacity:1;transform:none;}}

/* ============================================================
   PIEZAS NUEVAS · ciclo completo · plataforma · ramas
   ============================================================ */

/* ── Ciclo completo (reemplaza a "Cómo trabajamos") ── */
.ciclo .eyebrow{color:#8A6D00;}
.ciclo h2{font-size:52px;color:var(--ink);margin:24px 0 24px;max-width:980px;}
.ciclo .lede{font-size:22px;color:var(--ink2);line-height:1.5;max-width:900px;margin-bottom:24px;}
.fases{margin-top:40px;}
.fase{display:grid;grid-template-columns:320px 1fr;gap:48px;padding:48px 0;border-top:1px solid var(--border-dark);}
.fase-head .n{font-family:var(--font-mono);font-size:15px;font-weight:500;color:#8A6D00;letter-spacing:0.14em;text-transform:uppercase;}
.fase-head h3{font-family:var(--font-display);font-weight:700;font-size:32px;color:var(--ink);margin:14px 0 14px;letter-spacing:-0.02em;line-height:1.05;}
.fase-head .frame{font-size:17px;color:var(--ink2);line-height:1.5;max-width:300px;}
.fase-head .frame em{color:#44444B;font-style:normal;}
.fase-stages{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start;}
.stage{border:1px solid var(--border-dark);border-radius:11px;padding:20px 22px;background:var(--white);transition:border-color 200ms ease;}
.stage:hover{border-color:var(--border-dark);}
.stage.key{border-color:rgba(245,184,0,0.5);background:rgba(245,184,0,0.05);}
.stage .st-name{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-0.01em;margin-bottom:6px;}
.stage.key .st-name{color:#8A6D00;}
.stage .st-note{font-size:14px;color:var(--ink2);line-height:1.45;}

/* ── Plataforma (mock del tablero de trabajo) ── */
.plat .eyebrow{color:#8A6D00;}
.plat h2{font-size:56px;color:var(--ink);margin:24px 0 24px;max-width:900px;}
.plat .lede{font-size:22px;color:var(--ink2);line-height:1.55;max-width:880px;margin-bottom:14px;}
.plat .note{font-family:var(--font-mono);font-size:12px;color:var(--ink3);letter-spacing:0.04em;margin-bottom:48px;}
.plat-stage{position:relative;}

/* Marco de ventana */
.pf-frame{position:relative;z-index:2;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(16,18,24,0.3),0 0 0 1px var(--border);background:#FAFBFC;max-width:1120px;margin:0 auto;}
.pf-bar{display:flex;align-items:center;gap:14px;padding:13px 18px;background:#EEF0F3;border-bottom:1px solid #E2E5EA;}
.pf-dots{display:flex;gap:7px;}
.pf-dots span{width:11px;height:11px;border-radius:50%;}
.pf-dots span:nth-child(1){background:#F0625A;}
.pf-dots span:nth-child(2){background:#F5BD4F;}
.pf-dots span:nth-child(3){background:#5CC55F;}
.pf-url{flex:1;background:#fff;border:1px solid #E2E5EA;border-radius:7px;padding:6px 14px;font-family:var(--font-mono);font-size:12.5px;color:#8A8F99;text-align:center;}
.pf-app{display:grid;grid-template-columns:208px 1fr;min-height:560px;}

/* Sidebar */
.pf-side{background:#FFFFFF;border-right:1px solid #E6E8ED;padding:20px 14px;display:flex;flex-direction:column;gap:4px;}
.pf-side .pf-logo{display:flex;align-items:center;gap:9px;padding:4px 8px 18px;}
.pf-side .pf-logo .wm{font-family:var(--font-display);font-weight:800;letter-spacing:-0.03em;font-size:19px;color:#171A1F;}
.pf-nav{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:#6B7280;}
.pf-nav svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor;}
.pf-nav.active{background:rgba(26,58,143,0.09);color:#23489E;}
.pf-side .pf-divider{height:1px;background:#E6E8ED;margin:10px 8px;}
.pf-side .pf-sec{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#9AA0AB;padding:4px 12px 6px;}

/* Main */
.pf-main{background:#F6F7F9;padding:24px 26px;overflow:hidden;}
.pf-crumb{font-size:11.5px;color:#9AA0AB;margin-bottom:6px;}
.pf-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.pf-title{font-family:var(--font-display);font-weight:700;font-size:23px;color:#171A1F;letter-spacing:-0.02em;}
.pf-desc{font-size:13px;color:#6B7280;margin-top:3px;max-width:420px;line-height:1.45;}
.pf-actions{display:flex;gap:8px;flex-wrap:wrap;}
.pf-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:8px;padding:8px 13px;border:1px solid #DDE0E6;background:#fff;color:#3A3F4A;}
.pf-btn svg{width:14px;height:14px;stroke:currentColor;}
.pf-btn.primary{background:#23489E;border-color:#23489E;color:#fff;}
.pf-btn.sel{font-family:var(--font-mono);color:#3A3F4A;}

.pf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.pf-kpi{background:#fff;border:1px solid #E6E8ED;border-radius:12px;padding:15px 16px;box-shadow:0 1px 2px rgba(0,0,0,0.03);}
.pf-kpi .k-label{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#9AA0AB;margin-bottom:7px;}
.pf-kpi .k-val{font-family:var(--font-display);font-size:25px;font-weight:700;color:#171A1F;line-height:1;font-variant-numeric:tabular-nums;}
.pf-kpi .k-val.amber{color:#C77D14;}
.pf-kpi .k-sub{font-size:10.5px;color:#9AA0AB;margin-top:4px;}
.pf-kpi.clickable{cursor:default;}

.pf-tabs{display:inline-flex;gap:3px;background:#E9EBEF;border-radius:10px;padding:3px;margin-bottom:16px;}
.pf-tab{font-size:12.5px;font-weight:600;color:#737884;padding:6px 22px;border-radius:7px;}
.pf-tab.active{background:#fff;color:#171A1F;box-shadow:0 1px 2px rgba(0,0,0,0.06);}

.pf-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start;}
.pf-col{border:1.5px solid #E6E8ED;border-radius:12px;background:#FBFBFC;}
.pf-col.proc{border-color:#F1DFB8;}
.pf-col.done{border-color:#C9E9D2;}
.pf-col-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;border-radius:10px 10px 0 0;background:#EFF1F4;font-size:12px;font-weight:700;color:#3A3F4A;white-space:nowrap;}
.pf-col.proc .pf-col-h{background:#FCF4E2;}
.pf-col.done .pf-col-h{background:#E7F5EC;}
.pf-col-h .cnt{color:#9AA0AB;font-variant-numeric:tabular-nums;}
.pf-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;}
.pf-card{background:#fff;border:1px solid #E6E8ED;border-radius:11px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.pf-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;}
.pf-src{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700;letter-spacing:0.01em;}
.pf-src.cumpl{background:#DCE8FD;color:#1F49B6;}
.pf-src.diag{background:#EAE3FB;color:#6B34C9;}
.pf-src.ats{background:#FCE0E0;color:#C42B2B;}
.pf-prio{border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700;text-transform:capitalize;}
.pf-prio.alta{background:#FCE0E0;color:#C42B2B;}
.pf-prio.media{background:#FCEFCE;color:#A9760E;}
.pf-prio.baja{background:#ECEEF1;color:#737884;}
.pf-card-title{font-size:13px;font-weight:600;color:#23262C;line-height:1.35;margin-bottom:9px;}
.pf-card-meta{font-size:11px;color:#8A8F99;line-height:1.5;}
.pf-cancel{display:flex;align-items:center;gap:8px;margin-top:12px;border:1px solid #E6E8ED;border-radius:11px;background:#fff;padding:10px 14px;font-size:12px;color:#9AA0AB;font-weight:500;}
.pf-cancel .cnt{margin-left:auto;font-weight:700;}

/* ── Banda de otras ramas ── */
.ramas{text-align:center;}
.ramas .eyebrow{color:var(--blue);}
.ramas h2{font-size:48px;margin:18px 0 18px;letter-spacing:-0.03em;font-family:var(--font-display);font-weight:800;line-height:1.05;}
.ramas .sub{font-size:19px;color:var(--ink2);max-width:680px;margin:0 auto 40px;line-height:1.5;}
.ramas-chips{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.rama{border:1px solid var(--border);border-radius:10px;padding:22px 30px;background:var(--white);min-width:200px;}
.rama .r-name{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-0.015em;margin-bottom:5px;}
.rama .r-state{font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);}
.rama.live .r-name{color:var(--blue);}
.rama.live .r-state{color:#B8941F;}

/* ── Cadena · De la norma al movimiento (cómo funciona) ── */
.cadena .lede{margin-bottom:8px;}
.cadena-flow{position:relative;margin-top:64px;}
.cadena-line{position:absolute;top:14px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,rgba(74,122,216,0.45),rgba(74,122,216,0.45) 38%,rgba(245,184,0,0.65) 50%,rgba(74,122,216,0.45) 62%,rgba(74,122,216,0.45));}
.cadena-steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:30px;}
.cstep{display:flex;flex-direction:column;align-items:center;text-align:center;}
.cnode{width:16px;height:16px;border-radius:50%;background:var(--blue-light);box-shadow:0 0 0 5px rgba(74,122,216,0.12);margin-bottom:20px;flex-shrink:0;}
.cstep.nucleo .cnode{width:26px;height:26px;margin-top:-5px;margin-bottom:15px;background:var(--gold);box-shadow:0 0 0 6px rgba(245,184,0,0.16),0 0 34px rgba(245,184,0,0.45);}
.cnum{font-family:var(--font-mono);font-size:12px;color:var(--ink3);letter-spacing:0.08em;margin-bottom:12px;}
.cstep.nucleo .cnum{color:#8A6D00;}
.ctitle{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ink);letter-spacing:-0.015em;line-height:1.22;margin-bottom:10px;text-wrap:balance;}
.cbody{font-size:14px;color:var(--ink2);line-height:1.55;}
.cadena-brackets{position:relative;display:grid;grid-template-columns:3fr 2fr;gap:14px;margin-top:34px;}
.cadena-brackets .br{padding-top:9px;border-top:1px solid rgba(74,122,216,0.32);}
.cadena-brackets .br.car{border-top-color:rgba(245,184,0,0.3);}
.cadena-brackets .br .bl{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);}
.cadena-brackets .br.car .bl{color:rgba(245,184,0,0.85);}
.cadena-close{margin-top:52px;font-family:var(--font-display);font-weight:700;font-size:25px;color:var(--ink);letter-spacing:-0.02em;line-height:1.3;text-wrap:balance;}
.cadena-close .gold{color:#8A6D00;}
@media(max-width:900px){
  .cadena-line{display:none;}
  .cadena-steps{grid-template-columns:1fr;gap:0;}
  .cstep{flex-direction:row;align-items:flex-start;text-align:left;gap:18px;padding:20px 0;border-bottom:1px solid var(--border-dark);}
  .cstep .cnode{margin:6px 0 0;}
  .cstep.nucleo .cnode{margin:3px 0 0;}
  .cstep>div.cbodywrap{flex:1;}
  .cnum{margin-bottom:6px;}
  .cadena-brackets{grid-template-columns:1fr 1fr;}
  .cadena-close{font-size:21px;}
}

/* ── Responsive ── */
@media(max-width:1040px){
  .hero{min-height:auto;padding:120px 0 72px;}
  .hero .wrap{grid-template-columns:1fr;gap:36px;}
  .hero-copy{max-width:720px;}
  .hero-sym{order:2;justify-content:flex-start;}
  .hero-sym canvas{margin-left:-4%;max-width:560px;}
}
@media(max-width:900px){
  .ciclo h2{font-size:34px;}
  .fase{grid-template-columns:1fr;gap:20px;padding:32px 0;}
  .fase-head .frame{max-width:none;}
  .fase-stages{grid-template-columns:1fr;}
  .plat h2{font-size:36px;}
  .pf-app{grid-template-columns:1fr;}
  .pf-side{flex-direction:row;flex-wrap:wrap;gap:6px;min-height:0;}
  .pf-side .pf-divider,.pf-side .pf-sec,.pf-side .pf-logo{display:none;}
  .pf-board{grid-template-columns:1fr;}
  .pf-kpis{grid-template-columns:1fr 1fr;}
  .ramas h2{font-size:32px;}
  .ramas-chips{flex-direction:column;align-items:center;}
  .wrap{padding:0 28px;}
  .pad{padding:88px 0;}
  .hero .wrap{grid-template-columns:1fr;gap:32px;}
  .hero-sym{order:2;}
  .hero-sym canvas{width:100%;max-width:440px;margin-left:-4%;}
  .hero h1{font-size:40px;}
  .hero .lede{font-size:20px;}
  .tension h2{font-size:38px;}
  .tension .body{font-size:20px;}
  .diag h2{font-size:34px;}
  .enemy-grid{grid-template-columns:1fr;}
  .gap-line .txt{font-size:14px;white-space:normal;}
  .metodo h2{font-size:40px;}
  .metodo .flow{gap:20px;}
  .metodo .flow .num{font-size:44px;}
  .ve h2{font-size:36px;}
  .pat-grid{grid-template-columns:1fr;}
  .acomp h2{font-size:34px;}
  .acomp-grid{grid-template-columns:1fr;}
  .cierre h2{font-size:48px;}
  footer .wrap{flex-direction:column;}
}
