/* ============================================================
   ENG-IAM — main.css
   ============================================================ */

/* ---------- FUENTES (self-hosted, Ley 29733) ---------- */
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-600.woff2') format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-800.woff2') format('woff2');font-weight:800;font-display:swap;}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-900.woff2') format('woff2');font-weight:900;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/jbmono-400.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/jbmono-600.woff2') format('woff2');font-weight:600;font-display:swap;}

/* ---------- TOKENS ---------- */
:root{
  --brand-gold:#C08820;--brand-slate:#586068;
  --gold:#D4A84B;--gold-light:#EDD9A3;--gold-dim:#7A6028;
  --teal:#00B4D8;--teal-dim:#004A6E;--cyber:#00E5FF;
  --bg-void:#000206;--bg-base:#020810;--bg-dark:#040D18;--bg-panel:#081520;--bg-panel-hover:#0B1C2A;
  --txt-high:#EEF3F9;--txt-mid:#6B8399;--txt-low:#344860;
  --font-display:'Inter',-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono','Cascadia Code','Consolas',monospace;
  --fs-hero:clamp(2.6rem,7vw,5.5rem);--fs-h2:clamp(1.9rem,4vw,3rem);--fs-h3:clamp(1.25rem,2.2vw,1.6rem);
  --fs-body:clamp(.95rem,1.1vw,1.06rem);--fs-small:.84rem;--fs-label:.69rem;
  --space-section:clamp(5rem,12vh,9rem);--space-block:clamp(2rem,4vh,3.5rem);
  --container-max:1240px;--container-pad:clamp(1.25rem,4vw,3rem);
  --radius-card:14px;--radius-btn:8px;--radius-pill:999px;
  --border-subtle:1px solid rgba(20,40,60,.8);--border-gold:1px solid rgba(212,168,75,.25);
  --shadow-gold:0 6px 24px rgba(212,168,75,.25);
  --ease-premium:cubic-bezier(.16,1,.3,1);--ease-hover:cubic-bezier(.25,.46,.45,.94);
}

/* ---------- BASE ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lenis{scroll-behavior:auto;}
body{background:var(--bg-base);color:var(--txt-high);font-family:var(--font-display);
  font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
.mono{font-family:var(--font-mono);}
.small{font-size:var(--fs-small);}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);}
.container.narrow{max-width:860px;}
::selection{background:rgba(212,168,75,.35);}

/* ---------- TIPOS COMUNES ---------- */
.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.1rem;}
.label-lg{font-size:.84rem;letter-spacing:.2em;font-weight:700;}
.h2{font-size:var(--fs-h2);font-weight:800;letter-spacing:-.015em;line-height:1.12;max-width:21ch;margin-bottom:var(--space-block);}
.lead{color:var(--txt-mid);max-width:62ch;margin-bottom:1.5rem;}
.lead em{color:var(--gold);font-style:normal;}
.statement{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600;line-height:1.5;text-align:center;
  max-width:48ch;margin:var(--space-block) auto 0;text-wrap:balance;}
.statement::before{content:"";display:block;width:56px;height:2px;margin:0 auto 1.5rem;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.statement em{color:var(--gold);font-style:normal;}
.footnote{font-size:var(--fs-small);color:var(--txt-low);max-width:72ch;margin-top:var(--space-block);}
.metodo-arc{display:flex;align-items:center;gap:clamp(.8rem,2.5vw,2rem);flex-wrap:nowrap;margin-bottom:var(--space-block);}
.metodo-arc .h2{margin-bottom:0;max-width:none;flex:1 1 0;}
.arc-sep{flex:0 0 auto;display:flex;align-items:center;gap:.4rem;color:var(--teal);}
.arc-line{display:block;width:clamp(14px,3vw,48px);height:2px;background:linear-gradient(90deg,var(--gold-dim),var(--teal));}
.arc-arrow{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1;animation:arcSlide 1.9s ease-in-out infinite;}
@keyframes arcSlide{0%,100%{transform:translateX(-5px);opacity:.6}50%{transform:translateX(5px);opacity:1}}
.arc-f2{flex:1 1 0;max-width:none;font-size:var(--fs-h2);font-weight:800;line-height:1.12;letter-spacing:-.015em;
  background:linear-gradient(135deg,#8fe8f7,var(--teal) 55%,var(--cyber));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
@media (max-width:720px){.metodo-arc{flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:1rem;}.metodo-arc .h2,.arc-f2{flex:1 1 auto;}.arc-sep{align-self:center;transform:rotate(90deg);}}
.h2:has(+ .fase-arc-sm){margin-bottom:.9rem;}
.fase-arc-sm{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.6rem);flex-wrap:nowrap;margin:0 0 var(--space-block);}
.fase-arc-sm .arc-f1,.fase-arc-sm .arc-f2{flex:1 1 0;max-width:none;margin:0;font-weight:800;line-height:1.15;letter-spacing:-.01em;font-size:clamp(1.1rem,2.1vw,1.6rem);}
.fase-arc-sm .arc-f1{color:var(--txt-high);}
@media (max-width:720px){.fase-arc-sm{flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:.6rem;}.fase-arc-sm .arc-sep{align-self:center;transform:rotate(90deg);}}
.sello{font-size:var(--fs-label);letter-spacing:.06em;color:var(--txt-low);margin-top:1.2rem;}

/* ---------- BOTONES ---------- */
.btn{display:inline-block;padding:.85rem 1.9rem;border-radius:var(--radius-btn);font-weight:700;font-size:.85rem;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;
  transition:transform .18s var(--ease-hover),box-shadow .18s var(--ease-hover);}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#04141F;box-shadow:var(--shadow-gold);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,168,75,.4);}
.btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold-dim);}
.btn-ghost:hover{border-color:var(--gold);transform:translateY(-2px);}

/* ---------- INTRO SPLASH ---------- */
.intro{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:radial-gradient(ellipse at 30% 40%,rgba(212,168,75,.04),transparent 50%),
             radial-gradient(ellipse at 70% 60%,rgba(0,180,216,.03),transparent 50%),
             radial-gradient(ellipse at center,#040D18,#000206 80%);
  transition:opacity .9s ease,transform .9s ease;}
.intro.out{opacity:0;transform:scale(1.03);pointer-events:none;}
.intro[hidden]{display:none;}
.intro canvas{position:absolute;inset:0;width:100%;height:100%;}
.intro-content{position:relative;z-index:2;text-align:center;padding:20px;animation:introIn 1.3s var(--ease-premium);}
@keyframes introIn{from{opacity:0;transform:translateY(36px) scale(.94);}to{opacity:1;transform:none;}}
.intro-logo{position:relative;width:132px;height:132px;margin:0 auto 26px;}
.intro-logo img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain;
  filter:drop-shadow(0 0 30px rgba(212,168,75,.4));}
.intro-ring{position:absolute;border-radius:50%;border:1.5px solid var(--gold);opacity:.35;animation:spin 12s linear infinite;}
.intro-ring.r1{inset:8px;}
.intro-ring.r2{inset:-6px;border-color:var(--teal);opacity:.2;animation:spin 18s linear infinite reverse;}
.intro-ring.r3{inset:-20px;border-color:var(--cyber);opacity:.08;border-style:dashed;animation:spin 25s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.intro-title{font-size:46px;font-weight:900;letter-spacing:-.02em;
  background:linear-gradient(135deg,#FFF,var(--gold-light) 40%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.intro-sub{font-size:12px;letter-spacing:.45em;text-transform:uppercase;color:var(--txt-mid);margin:2px 0 10px;}
.intro-tag{font-size:14px;color:var(--gold);font-weight:600;letter-spacing:.08em;margin-bottom:4px;}
.intro-claim{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(212,168,75,.78);font-weight:600;margin:1px 0 3px;}
.intro-stats{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin:18px 0;padding:16px 0;
  border-top:1px solid rgba(212,168,75,.1);border-bottom:1px solid rgba(212,168,75,.1);}
.intro-stats b{display:block;font-size:28px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;}
.intro-stats span{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-low);}
.intro-loader{width:250px;max-width:78vw;height:2px;background:var(--bg-panel);margin:0 auto 9px;border-radius:2px;overflow:hidden;}
.intro-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--cyber),var(--teal));
  animation:fill 3.6s var(--ease-hover) forwards;}
@keyframes fill{25%{width:35%}55%{width:65%}85%{width:90%}100%{width:100%}}
.intro-feed{font-size:10px;color:var(--txt-low);letter-spacing:.08em;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{50%{opacity:1}0%,100%{opacity:.5}}
.intro-skip{margin-top:22px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-low);}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;gap:2rem;
  padding:.9rem var(--container-pad);transition:background .3s,backdrop-filter .3s,box-shadow .3s;}
.nav.scrolled{background:rgba(2,8,16,.82);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(20,40,60,.6);}
.nav-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;}
.nav-brand sup{font-size:.5em;color:var(--txt-mid);}
.brand-col{display:flex;flex-direction:column;line-height:1.15;}
.brand-word{font-weight:900;font-size:1.22rem;letter-spacing:.02em;color:var(--txt-high);}
.brand-tag{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.13em;text-transform:uppercase;color:var(--txt-mid);margin-top:.22rem;}
.nav-links{display:flex;gap:1.25rem;margin-left:auto;}
.nav-links a{font-size:.82rem;font-weight:600;color:var(--txt-mid);text-decoration:none;transition:color .15s;}
.nav-links a:hover,.nav-links a.active{color:var(--txt-high);}
.nav-cta{padding:.6rem 1.2rem;font-size:.72rem;}
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:30px;height:24px;position:relative;}
.nav-burger span{position:absolute;left:0;width:100%;height:2px;background:var(--txt-high);transition:.25s;}
.nav-burger span:nth-child(1){top:2px}.nav-burger span:nth-child(2){top:11px}.nav-burger span:nth-child(3){top:20px}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(ellipse at 20% 50%,rgba(0,77,110,.06),transparent 55%),
             radial-gradient(ellipse at 80% 20%,rgba(212,168,75,.05),transparent 50%),var(--bg-void);}
.hero-bg{position:absolute;inset:0;}
.hero-img{position:absolute;inset:0;}
.hero-img img{width:100%;height:100%;object-fit:cover;opacity:.85;}
/* overlay: protege legibilidad del titular (izquierda) y funde con el fondo base (abajo) */
.hero-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(0,2,6,.78) 0%,rgba(0,2,6,.42) 45%,rgba(0,2,6,.12) 78%,rgba(0,2,6,.3) 100%),
             linear-gradient(to bottom,rgba(0,2,6,.28) 0%,transparent 28%,transparent 64%,var(--bg-base) 99%);}
.hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;}
.hero-inner{position:relative;z-index:2;padding-top:4.6rem;padding-bottom:2.4rem;}
.hero-title{font-size:clamp(2.3rem,5.7vw,4.5rem);font-weight:900;letter-spacing:-.022em;line-height:1.06;max-width:18ch;
  margin-bottom:.9rem;
  background:linear-gradient(135deg,#FFF 30%,var(--gold-light) 70%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* SplitText envuelve cada linea en divs: re-aplicar el gradiente por linea
   (sin esto, las lineas no heredan el clip y el texto queda transparente) */
.hero-title div{background:linear-gradient(135deg,#FFF 30%,var(--gold-light) 70%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{color:var(--txt-mid);font-size:clamp(1rem,1.4vw,1.18rem);max-width:56ch;margin-bottom:2.2rem;}

/* ===== FORMULA DEL HERO: SAP PM + PI System + Riesgo = ENG-IAM ===== */
.formula{display:flex;align-items:stretch;gap:clamp(.45rem,1vw,.85rem);flex-wrap:wrap;margin:.3rem 0 .55rem;}
.chip{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.28rem;
  background:rgba(8,21,32,.72);border:var(--border-subtle);border-radius:12px;
  padding:.6rem .85rem;min-width:118px;backdrop-filter:blur(8px);
  transition:transform .25s var(--ease-hover),border-color .25s,box-shadow .25s;}
.chip:hover{transform:translateY(-3px);border-color:rgba(0,180,216,.45);}
.formula .chip:not(.chip-result){flex:1 1 0;min-width:120px;}
.chip svg{width:22px;height:22px;color:var(--teal);}
.chip-name{font-weight:800;font-size:.98rem;letter-spacing:.01em;color:var(--txt-high);}
.chip-name sup{font-size:.5em;color:var(--txt-mid);}
.chip-desc{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.03em;text-transform:uppercase;color:var(--txt-mid);}
.chip-desc .chip-hi{font-size:1.32em;font-weight:800;letter-spacing:.04em;color:var(--gold);text-shadow:0 0 10px rgba(212,168,75,.35);}
.f-op{align-self:center;font-family:var(--font-mono);font-weight:600;color:var(--gold-dim);
  font-size:clamp(1.3rem,2vw,1.7rem);padding:0 .1rem;}
.f-eq{color:var(--gold);text-shadow:0 0 14px rgba(212,168,75,.5);}
.chip-result{position:relative;border-color:rgba(212,168,75,.4);align-items:flex-start;
  background:linear-gradient(135deg,rgba(212,168,75,.12),rgba(8,21,32,.8));
  box-shadow:0 0 34px rgba(212,168,75,.16);overflow:visible;}
.chip-result:hover{border-color:var(--gold);box-shadow:0 0 44px rgba(212,168,75,.3);}
.chip-result img{position:absolute;top:-14px;right:-12px;width:46px;height:46px;
  filter:drop-shadow(0 0 12px rgba(212,168,75,.55));animation:logoGlow 2.6s ease-in-out infinite;}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 9px rgba(212,168,75,.45));}50%{filter:drop-shadow(0 0 24px rgba(212,168,75,1));}}
.chip-result .chip-name{font-size:1.15rem;
  background:linear-gradient(135deg,#FFF,var(--gold-light) 50%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.chip-result .chip-desc{color:#bfa468;}
.result-rings{position:absolute;top:-14px;right:-12px;width:46px;height:46px;pointer-events:none;}
.result-rings i{position:absolute;inset:-6px;border:1px solid var(--gold);border-radius:50%;opacity:.4;
  animation:spin 11s linear infinite;}
.result-rings i:nth-child(2){inset:-13px;border-color:var(--cyber);opacity:.16;border-style:dashed;
  animation:spin 19s linear infinite reverse;}
.formula-out{font-size:.86rem;line-height:1.5;letter-spacing:.07em;color:var(--gold);margin-bottom:.7rem;}
.formula-terms{display:block;margin-top:.3rem;font-size:.58rem;letter-spacing:.08em;color:var(--txt-low);
  text-decoration:underline dotted;text-underline-offset:3px;}
.formula-terms:hover{color:var(--txt-mid);}
.hero-line{font-family:var(--font-mono);font-size:clamp(.74rem,1.05vw,.86rem);line-height:1.5;letter-spacing:.04em;color:var(--txt-high);margin-bottom:.5rem;}
.hero-line .hl{color:var(--gold);font-weight:700;}
.hero-pulse{animation:heroPulse 2.6s ease-in-out infinite;}
@keyframes heroPulse{0%,100%{opacity:.95}50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.hero-pulse{animation:none;opacity:1;}}

/* ===== MARCO NORMATIVO (cards) ===== */
.normas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.75rem;margin-top:var(--space-block);}
.ngroup{display:contents;}
.ngroup-title{grid-column:1/-1;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin:1.5rem 0 .15rem;}
.ngroup:first-child .ngroup-title{margin-top:.2rem;}
.ncards{display:contents;}
.ncard{background:var(--bg-panel);border:var(--border-subtle);border-radius:10px;padding:.65rem .85rem;
  transition:border-color .2s,transform .2s;}
.ncard:hover{border-color:rgba(212,168,75,.4);transform:translateY(-2px);}
.ncard b{display:block;font-size:.82rem;font-weight:700;color:var(--txt-high);letter-spacing:.01em;}
.ncard span{font-size:.63rem;color:var(--txt-mid);line-height:1.45;display:block;margin-top:.15rem;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.hero-ctas .btn{flex:1 1 0;text-align:center;white-space:nowrap;}
.hero-micro{font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-low);}
.hero-scrollhint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);width:1px;height:56px;
  background:rgba(107,131,153,.25);overflow:hidden;}
.hero-scrollhint span{position:absolute;top:-40%;width:100%;height:40%;background:var(--gold);animation:drop 2.2s var(--ease-premium) infinite;}
@keyframes drop{to{top:110%;}}

/* ---------- SECCIONES ---------- */
.section{padding:var(--space-section) 0;position:relative;}
.section-alt{background:var(--bg-dark);}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}

/* cards */
.card{background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-card);
  padding:1.75rem;transition:transform .25s var(--ease-hover),border-color .25s,background .25s;}
.card:hover{transform:translateY(-4px);border-color:rgba(212,168,75,.35);background:var(--bg-panel-hover);}
.card h3{font-size:var(--fs-h3);font-weight:700;margin:.4rem 0 .7rem;letter-spacing:-.01em;}
.card p{color:var(--txt-mid);font-size:.95rem;}
.card-num{display:block;font-size:.8rem;color:var(--gold-dim);margin-bottom:.8rem;}
.card-kicker{font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.card-foot{margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(20,40,60,.6);
  font-size:.72rem;letter-spacing:.08em;color:var(--txt-low) !important;text-transform:uppercase;}
.card-tall{display:flex;flex-direction:column;}
.card-tall p:nth-of-type(2){flex:1;}

/* fase 2 */
.fase2{margin-top:1.4rem;background:linear-gradient(135deg,rgba(212,168,75,.07),rgba(0,180,216,.05));
  border:var(--border-gold);border-radius:var(--radius-card);padding:2rem;}
.fase2 p{color:var(--txt-mid);max-width:88ch;}
.fase2-claim{margin-top:1rem;color:var(--gold) !important;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;}

/* timeline */
.f2-destacada{margin-top:1.6rem;border:1px solid rgba(212,168,75,.5);box-shadow:0 0 40px rgba(212,168,75,.12);}
.f2-title{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:800;letter-spacing:-.01em;margin:.5rem 0 .8rem;
  background:linear-gradient(135deg,#FFF,var(--gold-light) 55%,var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.tl-track{height:2px;background:rgba(20,40,60,.8);border-radius:2px;margin-bottom:2.2rem;overflow:hidden;}
.tl-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--cyber));border-radius:2px;}
.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:step;}
.tl-step{position:relative;background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-card);padding:1.75rem;}
.tl-step h3{font-size:1.05rem;font-weight:700;margin:.9rem 0 .6rem;}
.tl-step p{color:var(--txt-mid);font-size:.9rem;}
.tl-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--gold-dim);color:var(--gold);font-size:1rem;font-weight:600;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem 1.4rem;margin-top:var(--space-block);}
.stat b{display:block;font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:600;color:var(--gold);
  font-variant-numeric:tabular-nums;line-height:1;margin-bottom:.45rem;}
.stat span{font-size:var(--fs-small);color:var(--txt-mid);}
.fases-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:stretch;margin-top:var(--space-block);}
.fase-col-head{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:1.7rem;}
.fase-col--f1 .fase-col-head{color:var(--gold);}
.fase-col--f2 .fase-col-head{color:var(--teal);}
.fase-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.9rem 1.4rem;}
.fase-sep{width:1px;align-self:stretch;background:linear-gradient(180deg,transparent 5%,var(--gold-dim) 38%,var(--teal) 62%,transparent 95%);}
.fase-col--f2 .stat b{background:linear-gradient(135deg,#8fe8f7,var(--teal) 55%,var(--cyber));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
@media (max-width:720px){.fases-grid{grid-template-columns:1fr;gap:2rem;}.fase-sep{height:1px;width:auto;background:linear-gradient(90deg,transparent,var(--gold-dim),var(--teal),transparent);}.fase-stats{gap:1.6rem 1rem;}}

/* normas */
.normas{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-block);}
.normas span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--txt-mid);
  border:var(--border-subtle);border-radius:var(--radius-pill);padding:.45rem 1rem;transition:color .2s,border-color .2s;}
.normas span:hover{color:var(--gold);border-color:var(--gold-dim);}

/* ===== MISSION CONTROL (recreacion de la consola) ===== */
.mc{background:#02060C;border:var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 1px rgba(0,229,255,.04);margin-top:var(--space-block);}
.mc-bar{display:flex;align-items:center;gap:1rem;padding:.7rem 1.2rem;background:rgba(8,21,32,.9);
  border-bottom:1px solid rgba(20,40,60,.7);}
.mc-dot{width:9px;height:9px;border-radius:50%;background:var(--txt-low);transition:background .3s,box-shadow .3s;}
.mc-dot.run{background:#10B981;box-shadow:0 0 10px rgba(16,185,129,.8);animation:pulse 1.4s ease-in-out infinite;}
.mc-dot.done{background:var(--gold);box-shadow:0 0 10px rgba(212,168,75,.8);}
.mc-title{font-size:.66rem;letter-spacing:.16em;color:var(--txt-mid);}
.mc-progress{margin-left:auto;font-size:.66rem;color:var(--gold);letter-spacing:.1em;}
.mc-clock{font-size:.66rem;color:var(--txt-low);letter-spacing:.1em;}
.mc-body{display:grid;grid-template-columns:300px 1fr;min-height:470px;}
.mc-engines{padding:1rem;border-right:1px solid rgba(20,40,60,.55);display:flex;flex-direction:column;gap:.45rem;}
.mc-eng{display:flex;align-items:center;gap:.65rem;padding:.5rem .7rem;border-radius:8px;
  border:1px solid transparent;opacity:.38;transition:opacity .3s,border-color .3s,background .3s;}
.mc-eng.active{opacity:1;background:rgba(8,21,32,.9);border-color:var(--eng-c,#00B4D8);}
.mc-eng.done{opacity:.85;}
.mc-eng.done .mc-eng-state{color:#10B981;}
.mc-eng-num{font-family:var(--font-mono);font-size:.62rem;color:var(--eng-c,#00B4D8);width:18px;}
.mc-eng-name{font-size:.78rem;font-weight:600;color:var(--txt-high);flex:1;line-height:1.25;}
.mc-eng-state{font-family:var(--font-mono);font-size:.6rem;color:var(--txt-low);letter-spacing:.08em;}
.mc-eng.active .mc-eng-state{color:var(--eng-c,#00B4D8);animation:pulse 1.2s ease-in-out infinite;}
.mc-log-wrap{position:relative;display:flex;flex-direction:column;}
.mc-log{flex:1;padding:1rem 1.3rem;font-family:var(--font-mono);font-size:.74rem;line-height:1.85;
  overflow-y:auto;max-height:470px;scrollbar-width:thin;scrollbar-color:var(--bg-panel) transparent;}
.mc-log .l-default{color:var(--txt-mid);}
.mc-log .l-info{color:var(--teal);}
.mc-log .l-success{color:#10B981;}
.mc-log .l-kpi{color:var(--gold);}
.mc-log .l-command{color:#8B5CF6;}
.mc-log .l-separator{color:var(--txt-low);}
.mc-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:.45rem;text-align:center;background:rgba(2,6,12,.95);backdrop-filter:blur(5px);padding:1.1rem 1.3rem;
  overflow-y:auto;animation:appFade .6s ease-out;}
@keyframes appFade{from{opacity:0}to{opacity:1}}
.mc-done.hidden{display:none;}
.mc-done-title{font-family:var(--font-mono);font-size:1.05rem;letter-spacing:.2em;color:#10B981;font-weight:600;}
.mc-done-sub{font-size:.85rem;color:var(--txt-mid);max-width:46ch;margin-bottom:.5rem;}
.mc-banners{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;width:100%;max-width:760px;}
.mc-banner{font-size:.88rem;color:var(--txt-mid);background:rgba(8,21,32,.95);border:var(--border-subtle);
  border-radius:10px;padding:.55rem 1rem;display:flex;flex-direction:column;gap:.1rem;line-height:1.4;justify-content:center;}
.mc-banner b{color:var(--txt-high);}
.mc-banner span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;color:var(--txt-low);text-transform:uppercase;}
.mc-banner.gold{border-color:rgba(212,168,75,.35);background:linear-gradient(135deg,rgba(212,168,75,.1),rgba(8,21,32,.95));}
.mc-banner.gold b{color:var(--gold);}
.mc-fam{font-size:.56rem;letter-spacing:.18em;color:var(--txt-low);text-transform:uppercase;margin-top:.3rem;}
.mc-kpis{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin:.15rem 0 .25rem;}
.mc-kpi{display:flex;flex-direction:column;gap:.15rem;background:rgba(8,21,32,.95);border:var(--border-subtle);
  border-radius:10px;padding:.7rem 1rem;min-width:150px;text-align:left;position:relative;overflow:hidden;}
.mc-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
.mc-kpi.crit::before{background:#EF4444;}
.mc-kpi.warn::before{background:#F59E0B;}
.mc-kpi.ok::before{background:#10B981;}
.mc-kpi .k-name{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;color:var(--txt-mid);}
.mc-kpi b{font-size:1.45rem;font-weight:800;color:var(--txt-high);font-variant-numeric:tabular-nums;line-height:1.1;}
.mc-kpi.crit b{color:#EF4444;}
.mc-kpi.warn b{color:#F59E0B;}
.mc-kpi .k-meta{font-family:var(--font-mono);font-size:.55rem;color:var(--txt-low);letter-spacing:.04em;}
.mc-synth{font-size:.56rem;letter-spacing:.1em;color:var(--txt-low);text-transform:uppercase;}
.mc-foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.7rem 1.2rem;
  border-top:1px solid rgba(20,40,60,.7);background:rgba(8,21,32,.55);}
.mc-replay{background:transparent;border:1px solid var(--gold-dim);color:var(--gold);border-radius:var(--radius-btn);
  padding:.5rem 1.1rem;font-size:.68rem;letter-spacing:.12em;cursor:pointer;transition:border-color .2s,transform .15s;}
.mc-replay:hover{border-color:var(--gold);transform:translateY(-1px);}
.mc-note{margin-left:auto;font-size:.58rem;letter-spacing:.06em;color:var(--txt-low);text-transform:uppercase;}

/* ===== EL CAMBIO EN 10 DIAS (antes / despues) ===== */
.cambio-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:stretch;}
.cambio-col{background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-card);padding:1.6rem;}
.cambio-col.dia10{border-color:rgba(212,168,75,.4);background:linear-gradient(135deg,rgba(212,168,75,.08),var(--bg-panel));}
.cambio-head{font-size:.66rem;letter-spacing:.16em;margin-bottom:1rem;color:var(--txt-mid);}
.cambio-col.dia10 .cambio-head{color:var(--gold);}
.cambio-col ul{list-style:none;display:grid;gap:.65rem;}
.cambio-col li{color:var(--txt-mid);font-size:.92rem;padding-left:1.4rem;position:relative;}
.cambio-col.hoy li::before{content:'×';position:absolute;left:0;color:#EF4444;opacity:.7;font-weight:700;}
.cambio-col.dia10 li::before{content:'';position:absolute;left:0;top:.42em;width:11px;height:6px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);}
.cambio-arrow{align-self:center;font-size:2.2rem;color:var(--gold);text-shadow:0 0 18px rgba(212,168,75,.5);}

/* seccion con imagen */
.section-img{overflow:hidden;}
.section-img-bg{position:absolute;inset:0;opacity:.16;}
.section-img-bg img{width:100%;height:100%;object-fit:cover;}
.section-img .container{position:relative;z-index:2;}
.checks{list-style:none;display:grid;gap:.85rem;max-width:64ch;}
.checks li{padding-left:1.9rem;position:relative;color:var(--txt-mid);}
.checks li::before{content:'';position:absolute;left:0;top:.42em;width:14px;height:8px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);}

/* contacto */
.section-cta{background:radial-gradient(ellipse at 50% 0%,rgba(212,168,75,.06),transparent 55%),var(--bg-dark);}
.form{display:grid;gap:1.1rem;margin:var(--space-block) 0 1.6rem;text-align:left;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.form label{display:grid;gap:.4rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-mid);}
.form input,.form textarea{background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-btn);
  color:var(--txt-high);padding:.85rem 1rem;font:inherit;font-size:.95rem;transition:border-color .2s;}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold-dim);}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-note{font-size:.78rem;color:var(--txt-low);}
.form-note a{color:var(--txt-mid);}
.consent{display:flex !important;flex-direction:row !important;align-items:flex-start;gap:.6rem !important;
  font-size:.78rem !important;text-transform:none !important;letter-spacing:0 !important;line-height:1.5;}
.consent input{width:15px;height:15px;margin-top:.15rem;accent-color:#D4A84B;flex-shrink:0;}
.consent a{color:var(--txt-mid);}
.form-status{font-size:.8rem;color:var(--gold);min-height:1.2em;}
.dispo{display:flex;align-items:center;gap:.55rem;justify-content:center;font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--txt-mid);margin-bottom:.4rem;}
.dispo .dot{width:8px;height:8px;border-radius:50%;background:#10B981;box-shadow:0 0 10px rgba(16,185,129,.7);
  animation:pulse 2s ease-in-out infinite;}
.alt-contact{text-align:center;color:var(--gold);font-size:.85rem;letter-spacing:.04em;}

/* footer */
.footer{border-top:var(--border-subtle);background:var(--bg-void);padding-top:3.5rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;}
.footer-grid p{color:var(--txt-mid);font-size:.9rem;margin-top:.9rem;max-width:34ch;}
.footer-logo{width:200px;filter:brightness(1.5);}
.footer-grid nav,.footer-grid div:last-child{display:grid;gap:.55rem;align-content:start;}
.footer-grid a{color:var(--txt-mid);text-decoration:none;font-size:.88rem;transition:color .15s;}
.footer-grid a:hover{color:var(--gold);}
.footer-legal{border-top:1px solid rgba(20,40,60,.5);padding-top:1rem;}
.footer-legal p{font-size:.62rem;line-height:1.6;color:var(--txt-low);max-width:100%;}
.footer-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(20,40,60,.5);
  margin-top:1rem;padding-top:1.1rem;padding-bottom:1.3rem;font-size:.68rem;letter-spacing:.1em;color:var(--txt-low);}

/* ---------- REVEALS (estados los pone GSAP; sin JS todo es visible) ---------- */
.reveal{will-change:transform,opacity;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1020px){
  .grid-3,.timeline{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .mc-body{grid-template-columns:1fr;min-height:0;}
  .mc-engines{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(20,40,60,.55);gap:.35rem;}
  .mc-eng{padding:.35rem .5rem;}
  .mc-eng-name{display:none;}
  .mc-eng-state{display:none;}
  .mc-log{max-height:280px;font-size:.66rem;}
  .mc-note{margin-left:0;}
  .mc-banners{grid-template-columns:1fr;}
  .cambio-grid{grid-template-columns:1fr;}
  .cambio-arrow{transform:rotate(90deg);justify-self:center;}
  .formula{flex-direction:column;align-items:stretch;gap:.45rem;}
  .formula .chip:not(.chip-result){flex:0 0 auto;min-width:0;}
  .chip{flex-direction:row;align-items:center;gap:.7rem;padding:.8rem 1rem;}
  .chip-desc{margin-left:auto;text-align:right;}
  .f-op{align-self:center;padding:0;line-height:.7;}
  .chip-result img,.result-rings{top:50%;right:10px;transform:translateY(-50%);width:38px;height:38px;}
  .chip-result .chip-desc{margin-right:46px;}
  .formula-out{font-size:.66rem;}
  .hero-ctas{flex-direction:column;gap:.7rem;}
  .hero-ctas .btn{flex:0 0 auto;width:100%;text-align:center;}
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:block;margin-left:auto;}
  .nav.open .nav-links{display:grid;position:absolute;top:100%;left:0;right:0;background:rgba(2,8,16,.97);
    padding:1.4rem var(--container-pad) 2rem;gap:1.1rem;}
  .grid-2,.grid-3,.timeline,.form-row{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;gap:1.8rem 1rem;}
  .footer-grid{grid-template-columns:1fr;gap:1.8rem;}
  .footer-bar{justify-content:center;text-align:center;}
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
  .hero-scrollhint{display:none;}
}

/* ---------- CANALES DE CONTACTO (mailto / teléfono) ---------- */
.alt-contact a{color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s;}
.alt-contact a:hover{border-bottom-color:var(--gold);}
.alt-contact .alt-sep{color:var(--txt-low);margin:0 .45rem;}
.footer-contact a{color:var(--txt-mid);text-decoration:none;transition:color .15s;}
.footer-contact a:hover{color:var(--gold);}

/* ============ PLATAFORMA EN ACCION — video (30-jun-2026) ============ */
.plataforma-video{max-width:1060px;margin:2.6rem auto 0;border:1px solid rgba(212,168,75,.22);border-radius:16px;overflow:hidden;background:#000;box-shadow:0 34px 90px rgba(0,0,0,.55),0 0 0 1px rgba(20,40,60,.55);}
.plat-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;}
@media (max-width:640px){.plataforma-video{margin-top:1.8rem;border-radius:12px;}}
