/* ============================================================
   LenderIQ — The Engine page
   One continuous dark canvas. Tokens aligned with homepage v2.
   ============================================================ */
:root{
  --bg-0:#07090C; --bg-1:#0B0E13; --bg-2:#11151C; --bg-3:#161B24; --bg-4:#1B2230;
  --inset:#060810;
  --b1:#1E2531; --b2:#232A38; --b3:#2D3645;
  --t1:#ECEFF4; --t2:#B5BCC9; --t3:#7C8595; --t4:#545C6B;
  --gold:#E0B449; --gold-4:#C99A30; --gold-glow:rgba(224,180,73,0.18); --on-gold:#1A1407;
  --blue:#4C8DFF; --green:#2DBE75; --amber:#D69A31; --red:#D85050;
  --blue-glow:rgba(76,141,255,0.18); --green-glow:rgba(45,190,117,0.18);
  --amber-glow:rgba(214,154,49,0.20); --red-glow:rgba(216,80,80,0.20);
  --ease:cubic-bezier(0.2,0,0,1); --ease-c:cubic-bezier(0.65,0,0.35,1);
  --font:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-0); color:var(--t2); font-family:var(--font);
  font-feature-settings:'cv11','ss01','ss03';
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
em,i{font-style:normal;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--gold-4);outline-offset:2px;}
::selection{background:var(--gold-glow);color:var(--t1);}
.iq,.brand-iq{color:var(--gold);}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--t3);
}
.eyebrow .ch{color:var(--gold);}
.section-h{font-size:38px;line-height:1.14;font-weight:600;letter-spacing:-0.022em;color:var(--t1);text-wrap:balance;}
.section-sub{font-size:16.5px;line-height:1.65;color:var(--t3);max-width:620px;text-wrap:pretty;}
.section-sub strong{color:var(--t2);font-weight:600;}

.sec-head{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.sec-head.center{align-items:center;text-align:center;}
.sec-head.center .section-sub{margin:0 auto;}

/* scroll reveal */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity 0.56s var(--ease),transform 0.56s var(--ease);transition-delay:var(--d,0s);}
[data-reveal].in{opacity:1;transform:none;}

/* narrative thread between chapters */
.thread{display:flex;flex-direction:column;align-items:center;padding:0;}
.thread span{width:1px;height:84px;background:linear-gradient(var(--b1),var(--b3),var(--b1));}

/* ============================================================ NAV */
.nav{
  position:sticky;top:0;z-index:300;height:64px;
  background:rgba(11,14,19,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--b1);
}
.nav-in{max-width:1200px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;gap:40px;}
.wordmark{font-size:18px;font-weight:700;letter-spacing:-0.02em;color:var(--t1);display:flex;align-items:baseline;}
.wordmark .iq{color:var(--gold);}
.nav-links{display:flex;gap:28px;flex:1;}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--t3);transition:color 0.112s ease;}
.nav-links a:hover{color:var(--t1);}
.nav-links a.active{color:var(--t1);position:relative;}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-23px;height:2px;background:var(--gold);}
.nav-cta{display:flex;align-items:center;gap:20px;}
.nav-signin{font-size:13.5px;font-weight:500;color:var(--t3);transition:color 0.112s ease;}
.nav-signin:hover{color:var(--t1);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:-0.005em;
  border-radius:8px;padding:0 20px;height:42px;cursor:pointer;border:none;white-space:nowrap;
  transition:filter 0.112s ease,box-shadow 0.112s ease,background 0.112s ease;
}
.btn-gold{background:var(--gold);color:var(--on-gold);}
.btn-gold:hover{filter:brightness(1.06);box-shadow:0 0 24px var(--gold-glow);}
.btn-gold:active{filter:brightness(0.96);}
.btn-ghost{background:transparent;color:var(--t2);box-shadow:inset 0 0 0 1px var(--b2);}
.btn-ghost:hover{background:var(--bg-4);color:var(--t1);}
.btn-sm{height:36px;padding:0 16px;font-size:13px;}

/* ============================================================ S1 — HERO / PRINCIPLE */
.hero{position:relative;overflow:hidden;}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 90% 56% at 28% -4%,rgba(201,168,76,0.07),transparent 55%);
}
.hero-grid{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:72px;align-items:center;padding:88px 0 96px;
}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;}
.hero-copy h1{
  font-size:50px;line-height:1.08;font-weight:600;letter-spacing:-0.03em;color:var(--t1);
  margin:22px 0 22px;text-wrap:balance;
}
.hero-copy h1 .dim{color:var(--t3);}
.hero-sub{font-size:17px;line-height:1.66;color:var(--t2);max-width:520px;text-wrap:pretty;}
.hero-sub strong{color:var(--t1);font-weight:600;}
.hero-ctas{display:flex;gap:14px;margin-top:32px;align-items:center;}
.hero-note{margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--t4);letter-spacing:0.06em;text-transform:uppercase;}

/* ---- intelligence stack visual ---- */
.es-stack{display:flex;flex-direction:column;gap:6px;width:100%;max-width:600px;justify-self:end;}
.es-stack .layer{background:var(--bg-1);border:1px solid var(--b1);border-radius:8px;
  border-left:2px solid transparent;padding:13px 16px;
  display:flex;align-items:flex-start;gap:16px;
  opacity:0;transform:translateY(12px);
  transition:opacity 0.32s ease,transform 0.32s ease,
    border-left-color .5s ease,border-color .5s ease,box-shadow .5s ease;}
.es-stack .layer.in{opacity:1;transform:translateY(0);}
.es-stack .layer.l0.lit{border-left-color:var(--b3);}
.es-stack .layer.l1.lit{border-left-color:var(--blue);}
.es-stack .layer.l2.lit{border-left-color:var(--red);}
.es-stack .layer.l3.lit{border-left-color:var(--amber);}
.es-stack .layer.l4.lit{border-left-color:var(--green);}
.es-stack .layer.l5.lit{border-left-color:var(--blue);}
.es-stack .layer.l6.lit{border-left-color:var(--t4);opacity:0.72;}
.es-stack .layer-num{font-family:var(--mono);font-size:10px;color:var(--t4);min-width:20px;margin-top:1px;}
.es-stack .layer-body{flex:1;min-width:0;}
.es-stack .layer-lbl{font-size:12.5px;font-weight:600;color:var(--t4);transition:color 0.32s ease;letter-spacing:-0.005em;}
.es-stack .layer.lit .layer-lbl{color:var(--t2);}
.es-stack .layer-items{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.es-stack .li{font-family:var(--mono);font-size:9px;padding:2.5px 8px;border-radius:3px;
  background:var(--bg-2);border:1px solid var(--b1);color:var(--t4);
  opacity:0;transform:scale(0.92);
  transition:opacity 0.2s ease,transform 0.2s ease,background 0.28s ease,border-color 0.28s ease,color 0.28s ease;}
.es-stack .li.in{opacity:1;transform:scale(1);}
.es-stack .layer.l1.lit .li,.es-stack .layer.l5.lit .li{background:rgba(76,141,255,0.07);border-color:rgba(76,141,255,0.2);color:var(--blue);}
.es-stack .layer.l2.lit .li{background:rgba(216,80,80,0.07);border-color:rgba(216,80,80,0.2);color:var(--red);}
.es-stack .layer.l3.lit .li{background:rgba(214,154,49,0.07);border-color:rgba(214,154,49,0.2);color:var(--amber);}
.es-stack .layer.l4.lit .li{background:rgba(45,190,117,0.07);border-color:rgba(45,190,117,0.2);color:var(--green);}
.es-stack .layer.processing{border-color:rgba(224,180,73,0.15);}
.es-stack .dep-line{width:1px;height:7px;background:var(--b2);margin:0 auto;transition:background 0.32s ease;}
.es-stack .dep-line.active{background:rgba(45,190,117,0.3);}
.es-stack .verdict{margin-top:8px;padding:13px 16px;background:var(--bg-1);
  border:1px solid var(--b1);border-radius:8px;
  display:flex;align-items:baseline;gap:14px;
  opacity:0;transform:translateY(6px);
  transition:opacity 0.4s ease,transform 0.4s ease,border-color 0.4s ease;}
.es-stack .verdict.in{opacity:1;transform:translateY(0);}
.es-stack .verdict.final{border-color:rgba(45,190,117,0.22);}
.es-stack .v-lbl{font-family:var(--mono);font-size:8.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);}
.es-stack .v-val{font-size:17px;font-weight:700;color:var(--green);letter-spacing:-0.02em;}
.es-stack .v-sub{font-family:var(--mono);font-size:10px;color:var(--t3);margin-left:auto;}

/* ============================================================ S2 — DOSSIER TRANSFORMATION */
.sec-transform{padding:104px 0 96px;}
.sec-transform .sec-head{margin-bottom:64px;}
.es-dossier{
  display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);
  gap:0;align-items:center;
}
.es-dossier .col-eye{font-family:var(--mono);font-size:9.5px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--t4);padding:0 2px;margin-bottom:10px;}
.es-dossier .raw-col{padding-right:28px;}
.es-dossier .raw-panel{background:var(--bg-1);border:1px solid var(--b1);border-radius:8px;overflow:hidden;}
.es-dossier .raw-title{padding:11px 15px;border-bottom:1px solid var(--b1);
  font-family:var(--mono);font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--t4);
  display:flex;align-items:center;justify-content:space-between;}
.es-dossier .raw-status{font-size:9px;color:var(--amber);}
.es-dossier .raw-frag{padding:9px 15px;border-bottom:1px solid rgba(30,37,49,0.5);
  display:flex;align-items:flex-start;gap:9px;
  opacity:0;transform:translateX(-8px);
  transition:opacity 0.32s var(--ease),transform 0.32s var(--ease);}
.es-dossier .raw-frag:last-child{border-bottom:none;}
.es-dossier .raw-frag.in{opacity:1;transform:translateX(0);}
.es-dossier .raw-frag.sending{opacity:0.4;transform:translateX(8px);}
.es-dossier .rf-icon{width:14px;height:14px;border-radius:2px;background:var(--b2);flex-shrink:0;margin-top:1px;}
.es-dossier .rf-body{flex:1;min-width:0;}
.es-dossier .rf-type{font-family:var(--mono);font-size:8px;letter-spacing:0.08em;text-transform:uppercase;color:var(--t4);margin-bottom:2px;}
.es-dossier .rf-text{font-size:12px;color:var(--t3);line-height:1.35;}
.es-dossier .rf-note{font-size:10.5px;color:var(--t4);margin-top:1px;}
.es-dossier .rf-state{font-family:var(--mono);font-size:8px;margin-left:auto;padding:2px 6px;border-radius:2px;flex-shrink:0;align-self:flex-start;}
.es-dossier .unverified .rf-state{background:rgba(214,154,49,0.1);color:var(--amber);border:1px solid rgba(214,154,49,0.2);}
.es-dossier .missing .rf-state{background:rgba(216,80,80,0.1);color:var(--red);border:1px solid rgba(216,80,80,0.2);}
.es-dossier .attached .rf-state{background:rgba(76,141,255,0.1);color:var(--blue);border:1px solid rgba(76,141,255,0.2);}
.es-dossier .engine-col{display:flex;flex-direction:column;align-items:center;gap:12px;}
.es-dossier .eng-brand{font-size:14px;font-weight:700;letter-spacing:-0.02em;color:var(--t1);text-align:center;}
.es-dossier .eng-brand .g{color:var(--gold);}
.es-dossier .eng-box{background:var(--bg-2);border:1px solid var(--b2);border-radius:8px;
  padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:9px;width:132px;}
.es-dossier .eng-label{font-family:var(--mono);font-size:8px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);text-align:center;}
.es-dossier .eng-mods{display:flex;flex-direction:column;gap:5px;width:100%;}
.es-dossier .eng-mod{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;color:var(--t4);}
.es-dossier .em-dot{width:4px;height:4px;border-radius:50%;background:var(--b2);flex-shrink:0;transition:background 0.24s ease;}
.es-dossier .eng-mod.active .em-dot{background:var(--blue);}
.es-dossier .eng-mod.done .em-dot{background:var(--green);}
.es-dossier .eng-mod.active{color:var(--blue);}
.es-dossier .eng-mod.done{color:var(--t4);}
.es-dossier .eng-arrow{display:flex;flex-direction:column;align-items:center;}
.es-dossier .ea-line{width:1px;height:22px;background:var(--b2);transition:background 0.32s ease;}
.es-dossier .ea-tip{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid var(--b2);transition:border-top-color 0.32s ease;}
.es-dossier .ea-line.lit{background:var(--blue);}
.es-dossier .ea-tip.lit{border-top-color:var(--blue);}
.es-dossier .eng-count{font-family:var(--mono);font-size:10px;color:var(--t4);text-align:center;}
.es-dossier .eng-count .n{color:var(--blue);font-size:13px;}
.es-dossier .dossier-col{padding-left:28px;}
.es-dossier .dossier-panel{background:var(--bg-1);border:1px solid var(--b2);
  border-top:2px solid var(--green);border-radius:8px;overflow:hidden;
  opacity:0;transform:scale(0.98);
  transition:opacity 0.4s var(--ease),transform 0.4s var(--ease);}
.es-dossier .dossier-panel.in{opacity:1;transform:scale(1);}
.es-dossier .dos-header{padding:13px 17px;border-bottom:1px solid var(--b1);
  display:flex;align-items:center;justify-content:space-between;}
.es-dossier .dos-title{font-size:14px;font-weight:600;color:var(--t1);}
.es-dossier .dos-tag{font-family:var(--mono);font-size:8.5px;letter-spacing:0.06em;text-transform:uppercase;
  padding:2px 8px;border-radius:3px;background:rgba(45,190,117,0.1);color:var(--green);border:1px solid rgba(45,190,117,0.2);}
.es-dossier .dos-section{padding:10px 17px;border-bottom:1px solid rgba(30,37,49,0.5);
  opacity:0;transform:translateX(8px);
  transition:opacity 0.32s var(--ease),transform 0.32s var(--ease);}
.es-dossier .dos-section:last-child{border-bottom:none;}
.es-dossier .dos-section.in{opacity:1;transform:translateX(0);}
.es-dossier .ds-eye{font-family:var(--mono);font-size:8px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);margin-bottom:6px;}
.es-dossier .ds-rows{display:flex;flex-direction:column;gap:4px;}
.es-dossier .ds-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--t3);}
.es-dossier .ds-key{color:var(--t4);font-size:10.5px;min-width:96px;}
.es-dossier .ds-val{font-family:var(--mono);font-size:11px;color:var(--t2);font-weight:500;font-variant-numeric:tabular-nums;}
.es-dossier .ds-badge{font-family:var(--mono);font-size:8px;padding:1.5px 5px;border-radius:2px;margin-left:auto;}
.es-dossier .ds-row.pass .ds-badge{background:rgba(45,190,117,0.1);color:var(--green);border:1px solid rgba(45,190,117,0.2);}
.es-dossier .ds-row.risk .ds-badge{background:rgba(216,80,80,0.1);color:var(--red);border:1px solid rgba(216,80,80,0.2);}
.es-dossier .ds-row.flag .ds-badge{background:rgba(214,154,49,0.1);color:var(--amber);border:1px solid rgba(214,154,49,0.2);}

/* ============================================================ S3 — X-RAY */
.sec-xray{padding:96px 0;}
.sec-xray .sec-head{margin-bottom:56px;}
.es-xray{display:flex;justify-content:center;}
.es-xray .card{width:min(980px,100%);background:var(--bg-1);
  border:1px solid var(--b1);border-radius:8px;overflow:hidden;position:relative;
  transition:border-color 0.48s ease,box-shadow 0.48s ease;}
.es-xray .card.scanned{border-color:rgba(76,141,255,0.2);box-shadow:0 0 40px rgba(76,141,255,0.05);}
.es-xray .card-hdr{padding:15px 22px;border-bottom:1px solid var(--b1);
  display:flex;align-items:center;justify-content:space-between;gap:16px;}
.es-xray .card-ref{font-family:var(--mono);font-size:11px;color:var(--t3);letter-spacing:0.05em;}
.es-xray .card-status{font-family:var(--mono);font-size:8.5px;letter-spacing:0.1em;text-transform:uppercase;
  padding:3px 9px;border-radius:3px;background:rgba(84,92,107,0.15);color:var(--t4);border:1px solid var(--b2);white-space:nowrap;}
.es-xray .card-status.scanning{background:rgba(76,141,255,0.1);color:var(--blue);border-color:rgba(76,141,255,0.3);}
.es-xray .card-status.complete{background:rgba(45,190,117,0.1);color:var(--green);border-color:rgba(45,190,117,0.3);}
.es-xray .card-body{display:flex;min-height:300px;}
.es-xray .side-surface{flex:0 0 38%;padding:24px 22px;border-right:1px solid var(--b1);display:flex;flex-direction:column;}
.es-xray .side-eye{font-family:var(--mono);font-size:8.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:16px;}
.es-xray .surf-row{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--b1);}
.es-xray .surf-row:last-child{border-bottom:none;}
.es-xray .surf-label{font-size:12.5px;color:var(--t3);}
.es-xray .surf-val{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--t2);font-variant-numeric:tabular-nums;}
.es-xray .side-xray{flex:1;padding:24px 22px;display:flex;flex-direction:column;background:rgba(76,141,255,0.015);}
.es-xray .xray-eye{font-family:var(--mono);font-size:8.5px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(76,141,255,0.55);margin-bottom:16px;}
.es-xray .intel-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--b1);
  opacity:0;transform:translateY(3px);
  transition:opacity 0.28s var(--ease),transform 0.28s var(--ease);}
.es-xray .intel-row:last-child{border-bottom:none;}
.es-xray .intel-row.revealed{opacity:1;transform:translateY(0);}
.es-xray .ir-icon{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:var(--b3);transition:background 0.24s ease,box-shadow 0.24s ease;}
.es-xray .intel-row.revealed .ir-icon.blue{background:var(--blue);box-shadow:0 0 5px rgba(76,141,255,0.5);}
.es-xray .intel-row.revealed .ir-icon.green{background:var(--green);box-shadow:0 0 5px rgba(45,190,117,0.5);}
.es-xray .intel-row.revealed .ir-icon.amber{background:var(--amber);box-shadow:0 0 5px rgba(214,154,49,0.5);}
.es-xray .ir-label{font-size:12.5px;color:var(--t3);flex:1;}
.es-xray .ir-val{font-family:var(--mono);font-size:12px;color:var(--t4);transition:color 0.24s ease;font-variant-numeric:tabular-nums;}
.es-xray .intel-row.revealed .ir-val{color:var(--t2);}
.es-xray .ir-flag{font-family:var(--mono);font-size:8.5px;padding:2px 7px;border-radius:3px;opacity:0;transition:opacity 0.24s ease 0.08s;}
.es-xray .intel-row.revealed .ir-flag{opacity:1;}
.es-xray .ir-flag.pass{background:rgba(45,190,117,0.1);color:var(--green);border:1px solid rgba(45,190,117,0.2);}
.es-xray .ir-flag.watch{background:rgba(214,154,49,0.1);color:var(--amber);border:1px solid rgba(214,154,49,0.2);}
.es-xray .ir-flag.info{background:rgba(76,141,255,0.1);color:var(--blue);border:1px solid rgba(76,141,255,0.2);}
.es-xray .beam{position:absolute;top:50px;bottom:0;width:2px;left:-4px;
  background:linear-gradient(to bottom,transparent 0%,rgba(76,141,255,0.9) 20%,rgba(76,141,255,1) 50%,rgba(76,141,255,0.9) 80%,transparent 100%);
  box-shadow:0 0 10px 5px rgba(76,141,255,0.35),0 0 24px 10px rgba(76,141,255,0.12);
  z-index:10;pointer-events:none;}

/* ============================================================ S4 — PIPELINE */
.sec-pipe{padding:96px 0 104px;}
.sec-pipe .sec-head{margin-bottom:56px;}
.es-pipe{width:100%;}
.es-pipe .rail{position:relative;height:32px;margin-bottom:4px;}
.es-pipe .rail-track{position:absolute;top:50%;left:4%;right:4%;height:1px;background:var(--b2);transform:translateY(-50%);}
.es-pipe .rail-fill{position:absolute;top:50%;left:4%;height:1px;width:0%;background:var(--blue);transform:translateY(-50%);transition:width 0.64s var(--ease);}
.es-pipe .rail-ticks{position:absolute;top:50%;left:4%;right:4%;display:flex;justify-content:space-between;transform:translateY(-50%);}
.es-pipe .rt{width:6px;height:6px;border-radius:50%;background:var(--b3);transition:background 0.32s ease,box-shadow 0.32s ease;}
.es-pipe .rt.lit{background:var(--blue);box-shadow:0 0 6px rgba(76,141,255,0.5);}
.es-pipe .rail-dot{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;
  background:var(--blue);box-shadow:0 0 12px rgba(76,141,255,0.7);transform:translate(-50%,-50%);transition:left 0.64s var(--ease);}
.es-pipe .stages{display:flex;gap:8px;}
.es-pipe .sc{flex:1;min-width:0;background:var(--bg-1);border:1px solid var(--b1);
  border-radius:8px;padding:15px 13px;position:relative;overflow:hidden;transition:border-color 0.32s ease;}
.es-pipe .sc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  transform:scaleX(0);transform-origin:left;transition:transform 0.4s var(--ease),background 0.24s ease;}
.es-pipe .sc.processing::before{background:var(--amber);transform:scaleX(0.4);animation:es-topbar 1.12s ease-in-out infinite;}
@keyframes es-topbar{0%{transform:scaleX(0.1) translateX(0);}50%{transform:scaleX(0.7);}100%{transform:scaleX(0.1) translateX(800%);}}
.es-pipe .sc.done::before{background:var(--green);transform:scaleX(1);animation:none;}
.es-pipe .sc-eye{font-family:var(--mono);font-size:8px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);margin-bottom:7px;}
.es-pipe .sc-lbl{font-size:11.5px;font-weight:600;color:var(--t4);margin-bottom:11px;transition:color 0.28s ease;line-height:1.25;}
.es-pipe .sc.processing .sc-lbl{color:var(--amber);}
.es-pipe .sc.done .sc-lbl{color:var(--t2);}
.es-pipe .sc-items{display:flex;flex-direction:column;gap:5px;}
.es-pipe .sci{font-family:var(--mono);font-size:9px;color:var(--t4);line-height:1.35;
  opacity:0;transform:translateY(4px);transition:opacity 0.2s ease,transform 0.2s ease;}
.es-pipe .sci.in{opacity:1;transform:translateY(0);}
.es-pipe .sc.done .sci{color:var(--t3);}
.es-pipe .output{margin-top:12px;background:var(--bg-1);border:1px solid var(--b1);
  border-radius:8px;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  opacity:0;transform:translateY(8px);
  transition:opacity 0.4s var(--ease),transform 0.4s var(--ease),border-color 0.48s ease,box-shadow 0.48s ease;}
.es-pipe .output.in{opacity:1;transform:translateY(0);}
.es-pipe .output.final{border-color:rgba(45,190,117,0.22);box-shadow:0 0 28px rgba(45,190,117,0.04);}
.es-pipe .out-eye{font-family:var(--mono);font-size:8.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:4px;}
.es-pipe .out-title{font-size:16px;font-weight:600;color:var(--t1);letter-spacing:-0.01em;}
.es-pipe .out-sub{font-size:11.5px;color:var(--t3);margin-top:3px;}
.es-pipe .stats{display:flex;gap:32px;}
.es-pipe .stat{text-align:right;}
.es-pipe .stat-lbl{font-family:var(--mono);font-size:8px;color:var(--t4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:3px;}
.es-pipe .stat-val{font-family:var(--mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;}
.es-pipe .stat-val.g{color:var(--green);}
.es-pipe .stat-val.b{color:var(--blue);}

/* ============================================================ S5 — LIVE DEAL ORBIT */
.sec-orbit{padding:96px 0 0;}
.sec-orbit .sec-head{margin-bottom:8px;}
.es-orbit{position:relative;height:660px;}
.es-orbit canvas{position:absolute;inset:0;width:100%;height:100%;}
.es-orbit .panel{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
  width:min(980px,calc(100% - 40px));border:1px solid var(--b2);border-radius:12px;
  background:rgba(11,14,19,0.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:16px 20px;display:grid;grid-template-columns:1.2fr 2fr;gap:22px;}
.es-orbit .event-ey{font-family:var(--mono);font-size:8.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--t4);margin-bottom:7px;}
.es-orbit .event-main{font-size:15px;font-weight:600;color:var(--t1);}
.es-orbit .event-main span{color:var(--gold);}
.es-orbit .event-sub{font-size:12px;color:var(--t3);margin-top:4px;line-height:1.5;}
.es-orbit .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.es-orbit .m{border-left:1px solid var(--b2);padding-left:13px;}
.es-orbit .ml{font-family:var(--mono);font-size:8px;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);margin-bottom:7px;}
.es-orbit .mv{font-family:var(--mono);font-size:18px;font-weight:600;color:var(--green);transition:color 0.4s;font-variant-numeric:tabular-nums;}
.es-orbit .mv.warn{color:var(--amber);}
.es-orbit .mv.red{color:var(--red);}
.es-orbit .delta{font-size:11px;color:var(--t4);margin-top:5px;}
.es-orbit .delta.up{color:var(--amber);}
.es-orbit .delta.down{color:var(--red);}
.es-orbit .delta.ok{color:var(--green);}

/* ============================================================ S6 — RISK CLASSIFICATION */
.sec-risk{padding:104px 0 64px;position:relative;}
.sec-risk::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0.85;
  background:
    radial-gradient(circle at 50% 52%,rgba(224,180,73,0.06),transparent 22%),
    radial-gradient(circle at 24% 62%,rgba(216,80,80,0.06),transparent 26%),
    radial-gradient(circle at 76% 62%,rgba(214,154,49,0.06),transparent 26%);}
.sec-risk .sec-head{margin-bottom:56px;position:relative;}
.es-risk{position:relative;height:520px;}
.es-risk .connector{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;}
.es-risk .connector path{fill:none;stroke-width:1;stroke-dasharray:4 8;opacity:0.28;}
.es-risk .connector .l{stroke:var(--red);}
.es-risk .connector .r{stroke:var(--amber);}
.es-risk .zone{position:absolute;top:86px;width:340px;min-height:332px;height:auto;border:1px solid var(--b2);border-radius:14px;
  background:linear-gradient(180deg,rgba(17,21,28,0.72),rgba(9,12,18,0.62));overflow:visible;
  opacity:0;transform:translateY(14px);
  transition:opacity 0.52s var(--ease),transform 0.52s var(--ease),border-color 0.52s var(--ease);}
.es-risk .zone.in{opacity:1;transform:none;}
.es-risk .zone.kill{left:0;border-top:2px solid rgba(216,80,80,0.76);--glow:rgba(216,80,80,0.2);}
.es-risk .zone.improve{right:0;border-top:2px solid rgba(214,154,49,0.84);--glow:rgba(214,154,49,0.2);}
.es-risk .zone::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--glow),transparent 58%);opacity:0.42;pointer-events:none;}
.es-risk .zh{padding:19px 20px 12px;border-bottom:1px solid var(--b1);}
.es-risk .zl{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:7px;}
.es-risk .kill .zl{color:var(--red);}
.es-risk .improve .zl{color:var(--amber);}
.es-risk .zt{font-size:20px;color:var(--t1);font-weight:650;letter-spacing:-0.02em;}
.es-risk .zd{font-size:12.5px;color:var(--t3);line-height:1.45;margin-top:5px;}
.es-risk .list{padding:13px 16px 18px;display:flex;flex-direction:column;gap:9px;}
.es-risk .risk-card{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--b1);border-left:3px solid var(--col);border-radius:8px;
  background:rgba(255,255,255,0.025);padding:10px 12px;
  opacity:0;transform:translateY(9px);
  transition:opacity 0.4s var(--ease),transform 0.4s var(--ease);}
.es-risk .risk-card.in{opacity:1;transform:none;}
.es-risk .rc-main{display:flex;align-items:center;gap:8px;min-width:0;}
.es-risk .dot{width:5px;height:5px;border-radius:50%;background:var(--col);box-shadow:0 0 10px var(--col);flex:0 0 auto;}
.es-risk .rname{font-size:12.5px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.es-risk .tag{font-family:var(--mono);font-size:8px;letter-spacing:0.09em;text-transform:uppercase;color:var(--col);
  border:1px solid color-mix(in srgb,var(--col),transparent 65%);
  background:color-mix(in srgb,var(--col),transparent 91%);
  border-radius:3px;padding:3px 7px;white-space:nowrap;}
.es-risk .centre{position:absolute;left:50%;top:86px;transform:translateX(-50%);width:325px;
  display:flex;flex-direction:column;align-items:center;gap:14px;}
.es-risk .deal{width:220px;height:140px;border:1px solid rgba(224,180,73,0.24);border-radius:18px;
  background:linear-gradient(180deg,rgba(18,25,35,0.95),rgba(9,12,18,0.9));
  box-shadow:0 0 0 1px rgba(224,180,73,0.05),0 28px 90px rgba(0,0,0,0.45),0 0 54px rgba(224,180,73,0.09);
  display:grid;place-items:center;position:relative;overflow:hidden;}
.es-risk .deal::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at 50% 35%,rgba(224,180,73,0.18),transparent 52%);}
.es-risk .deal-inner{position:relative;text-align:center;}
.es-risk .deal-k{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.es-risk .deal-t{font-size:21px;color:var(--t1);font-weight:650;letter-spacing:-0.03em;}
.es-risk .deal-d{font-size:12px;color:var(--t3);margin-top:5px;}
.es-risk .scan{width:1px;height:60px;background:var(--b2);position:relative;overflow:hidden;}
.es-risk .scan i{position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--gold),transparent);
  transform:translateY(-100%);transition:transform 0.92s var(--ease);}
.es-risk.go .scan i{transform:translateY(105%);}
.es-risk .summary{width:325px;border:1px solid var(--b2);border-radius:12px;background:rgba(13,18,26,0.82);padding:14px 16px;
  opacity:0;transform:translateY(10px);transition:opacity 0.44s var(--ease),transform 0.44s var(--ease);}
.es-risk .summary.in{opacity:1;transform:none;}
.es-risk .sum-ey{font-family:var(--mono);font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:var(--t4);margin-bottom:10px;}
.es-risk .sum-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--b1);padding:9px 0;}
.es-risk .sum-row:first-of-type{border-top:0;padding-top:0;}
.es-risk .sum-l{font-size:12px;color:var(--t3);}
.es-risk .sum-v{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;}
.es-risk .sum-v.red{color:var(--red);}
.es-risk .sum-v.amb{color:var(--amber);}
.es-risk .sum-v.green{color:var(--green);}
.es-risk .finding{position:absolute;left:50%;top:160px;transform:translate(-50%,-50%) scale(0.7);
  border:1px solid var(--b2);border-left:3px solid var(--col);border-radius:8px;
  background:rgba(15,21,30,0.96);padding:9px 12px;width:190px;opacity:0;z-index:8;
  transition:left 0.88s var(--ease),top 0.88s var(--ease),opacity 0.36s var(--ease),transform 0.88s var(--ease);}
.es-risk .finding.in{opacity:1;transform:translate(-50%,-50%) scale(1);}
.es-risk .finding.done{opacity:0;transform:translate(-50%,-50%) scale(0.84);}
.es-risk .fname{font-size:12px;color:var(--t2);font-weight:500;}
.es-risk .fmeta{font-family:var(--mono);font-size:8px;color:var(--t4);margin-top:4px;text-transform:uppercase;letter-spacing:0.08em;}
.es-risk .rk-foot{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  font-family:var(--mono);font-size:9px;letter-spacing:0.11em;text-transform:uppercase;color:var(--t4);transition:color 0.4s;white-space:nowrap;}
.es-risk .rk-foot.hot{color:var(--gold);}
.rk-audience{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;}
.rk-audience > div{border-top:1px solid var(--b1);padding-top:16px;font-size:13.5px;color:var(--t3);line-height:1.55;}
.rk-audience span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:8px;}
.rk-audience strong{color:var(--t2);font-weight:600;}

/* ============================================================ S7 — STRESS */
.sec-stress{padding:104px 0 0;}
.sec-stress .sec-head{margin-bottom:8px;}
.es-stress{position:relative;height:640px;}
.es-stress canvas{position:absolute;inset:0;width:100%;height:100%;}
.es-stress .env-panel{position:absolute;left:var(--stress-panel-left, auto);right:auto;top:50%;transform:translateY(-50%);
  width:min(300px, calc(100% - 48px));max-width:300px;border:1px solid var(--b2);border-radius:12px;
  background:rgba(11,14,19,0.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:16px 18px;}
.es-stress .env-eye{font-family:var(--mono);font-size:8.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--t4);margin-bottom:12px;}
.es-stress .env-row{display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--b1);padding:10px 0;
  opacity:0.25;transition:opacity 0.4s var(--ease);}
.es-stress .env-row:first-of-type{border-top:none;padding-top:0;}
.es-stress .env-row.in{opacity:1;}
.es-stress .env-l{font-family:var(--mono);font-size:10.5px;color:var(--t3);min-width:88px;flex-shrink:0;}
.es-stress .env-v{font-size:11.5px;color:var(--t3);flex:1;line-height:1.4;}
.es-stress .env-row.in .env-v{color:var(--t2);}
.es-stress .env-b{font-family:var(--mono);font-size:8px;letter-spacing:0.08em;padding:2px 6px;border-radius:3px;flex-shrink:0;}
.es-stress .env-b.g{background:rgba(45,190,117,0.1);color:var(--green);border:1px solid rgba(45,190,117,0.2);}
.es-stress .env-b.a{background:rgba(214,154,49,0.1);color:var(--amber);border:1px solid rgba(214,154,49,0.2);}
.es-stress .env-b.r{background:rgba(216,80,80,0.1);color:var(--red);border:1px solid rgba(216,80,80,0.2);}
.es-stress .ft{position:absolute;bottom:22px;left:0;right:0;text-align:center;pointer-events:none;
  font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--t4);transition:color 0.48s;}
.es-stress .ft.hot{color:var(--gold);}
.es-stress .ft.risk{color:var(--red);}
.es-stress .ft.grn{color:var(--green);}

/* ============================================================ S8 — CONFIDENCE */
.sec-conf{padding:104px 0 96px;}
.sec-conf .sec-head{margin-bottom:56px;}
.es-conf{display:flex;flex-direction:column;align-items:center;}
.es-conf .tracks{display:flex;gap:12px;width:min(980px,100%);align-items:stretch;}
.es-conf .track{flex:1;background:var(--bg-1);border:1px solid var(--b1);border-radius:8px;
  padding:20px 16px;display:flex;flex-direction:column;
  transition:border-color 0.4s ease,box-shadow 0.4s ease;}
.es-conf .track.done{border-color:rgba(45,190,117,0.15);}
.es-conf .track.done.medium{border-color:rgba(214,154,49,0.18);}
.es-conf .track-label{font-family:var(--mono);font-size:8.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:20px;text-align:center;}
.es-conf .pipeline{display:flex;flex-direction:column;align-items:center;flex:1;}
.es-conf .s-node{width:100%;display:flex;flex-direction:column;align-items:center;}
.es-conf .s-pill{width:100%;padding:8px 10px;border-radius:5px;text-align:center;
  font-family:var(--mono);font-size:9.5px;letter-spacing:0.06em;
  transition:background 0.32s ease,color 0.32s ease,border-color 0.32s ease,box-shadow 0.32s ease,opacity 0.32s ease;
  border:1px solid var(--b1);background:var(--bg-2);color:var(--t4);}
.es-conf .s-pill.processing{background:rgba(224,180,73,0.08);color:var(--gold);border-color:rgba(224,180,73,0.2);animation:es-pulse 0.96s ease-in-out infinite;}
.es-conf .s-pill.complete-green{background:rgba(45,190,117,0.08);color:var(--green);border-color:rgba(45,190,117,0.2);box-shadow:0 0 12px rgba(45,190,117,0.06);}
.es-conf .s-pill.complete-amber{background:rgba(214,154,49,0.08);color:var(--amber);border-color:rgba(214,154,49,0.2);box-shadow:0 0 12px rgba(214,154,49,0.06);}
@keyframes es-pulse{0%,100%{opacity:1;}50%{opacity:0.55;}}
.es-conf .s-line{width:1px;height:18px;background:var(--b2);flex-shrink:0;transition:background 0.32s ease;}
.es-conf .s-line.active{background:rgba(45,190,117,0.35);}
.es-conf .s-line.active.amber{background:rgba(214,154,49,0.35);}
.es-conf .conf-result{margin-top:auto;padding-top:20px;text-align:center;}
.es-conf .conf-label{font-family:var(--mono);font-size:8px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:6px;}
.es-conf .conf-value{font-family:var(--mono);font-size:15px;font-weight:600;
  opacity:0;transform:translateY(4px);transition:opacity 0.32s var(--ease),transform 0.32s var(--ease);}
.es-conf .conf-value.in{opacity:1;transform:translateY(0);}
.es-conf .conf-value.high{color:var(--green);}
.es-conf .conf-value.medium{color:var(--amber);}
.es-conf .overall{margin-top:24px;width:min(980px,100%);
  background:var(--bg-1);border:1px solid var(--b1);border-radius:8px;padding:17px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  opacity:0;transform:translateY(6px);
  transition:opacity 0.4s var(--ease),transform 0.4s var(--ease),border-color 0.4s ease;}
.es-conf .overall.in{opacity:1;transform:translateY(0);}
.es-conf .overall.resolved{border-color:rgba(45,190,117,0.2);}
.es-conf .ov-eye{font-family:var(--mono);font-size:8.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-bottom:5px;}
.es-conf .ov-verdict{font-size:16px;font-weight:600;color:var(--t1);letter-spacing:-0.01em;}
.es-conf .ov-verdict span{color:var(--green);}
.es-conf .ov-right{display:flex;gap:28px;}
.es-conf .ov-stat{text-align:right;}
.es-conf .os-label{font-family:var(--mono);font-size:8.5px;color:var(--t4);letter-spacing:0.06em;margin-bottom:3px;}
.es-conf .os-val{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--t2);font-variant-numeric:tabular-nums;}
.es-conf .os-val.green{color:var(--green);}

/* ============================================================ S9 — CTA + FOOTER */
.cta{position:relative;overflow:hidden;padding:120px 0 110px;}
.cta::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 118%,rgba(201,168,76,0.07),transparent 60%);}
.cta-in{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;}
.cta-in h2{font-size:38px;line-height:1.16;font-weight:600;letter-spacing:-0.022em;color:var(--t1);
  margin:20px 0 0;max-width:760px;text-wrap:balance;}
.file-card{margin-top:48px;width:min(820px,100%);background:var(--bg-1);border:1px solid var(--b1);
  border-top:2px solid var(--green);border-radius:8px;overflow:hidden;text-align:left;}
.file-card .fc-head{padding:15px 22px;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.file-card .fc-title{font-size:15px;font-weight:600;color:var(--t1);}
.file-card .fc-title small{display:block;font-size:11.5px;font-weight:400;color:var(--t3);margin-top:3px;}
.file-card .fc-stats{display:flex;gap:28px;}
.file-card .fc-stat{text-align:right;}
.file-card .fc-stat .k{font-family:var(--mono);font-size:8px;color:var(--t4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:3px;}
.file-card .fc-stat .v{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums;}
.file-card .fc-stat .v.b{color:var(--blue);}
.file-card .fc-body{display:grid;grid-template-columns:repeat(3,1fr);}
.file-card .fc-cell{padding:13px 22px;border-right:1px solid rgba(30,37,49,0.5);border-top:1px solid rgba(30,37,49,0.5);
  display:flex;align-items:center;gap:9px;font-size:12px;color:var(--t3);}
.file-card .fc-cell:nth-child(3n){border-right:none;}
.file-card .fc-cell:nth-child(-n+3){border-top:none;}
.file-card .fc-cell i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(45,190,117,0.4);flex-shrink:0;}
.cta-btns{display:flex;gap:14px;margin-top:44px;}
.cta-note{margin-top:22px;font-family:var(--mono);font-size:11px;color:var(--t4);letter-spacing:0.04em;}
.footer{border-top:1px solid var(--b1);background:var(--bg-0);}
.footer-in{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 0;}
.footer-links{display:flex;gap:26px;}
.footer-links a{font-size:12.5px;color:var(--t4);transition:color 0.112s ease;}
.footer-links a:hover{color:var(--t2);}
.footer-copy{font-family:var(--mono);font-size:10.5px;color:var(--t4);}

/* ============================================================ RESPONSIVE */
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:56px;padding:64px 0 80px;}
  .es-stack{justify-self:stretch;max-width:640px;}
  .es-risk{height:auto;min-height:0;position:relative;display:flex;flex-direction:column;gap:20px;}
  .es-risk .connector{display:none;}
  .es-risk .centre{position:static;transform:none;width:100%;align-items:center;}
  .es-risk .zone{position:static;width:100%;height:auto;min-height:0;}
  .es-risk .finding{display:none;}
  .es-risk .rk-foot{position:static;transform:none;text-align:center;margin-top:8px;}
  /* S6 — Deal card (centre) first, then kill zone, then improve zone */
  .es-risk .centre     { order: 1; }
  .es-risk .zone.kill  { order: 2; }
  .es-risk .zone.improve { order: 3; }
  .es-risk .rk-foot    { order: 4; }
}
@media(max-width:900px){
  .nav-links{display:none;}
  .nav-toggle{display:inline-flex;}
  .nav-cta .btn-sm,.nav-signin{display:none;}
  .section-h{font-size:30px;}
  .hero-copy h1{font-size:38px;}
  .es-dossier{grid-template-columns:1fr;gap:24px;}
  .es-dossier .raw-col,.es-dossier .dossier-col{padding:0;}
  .es-dossier .engine-col{flex-direction:row;justify-content:center;}
  .es-dossier .eng-arrow{flex-direction:row;}
  .es-dossier .ea-line{width:22px;height:1px;}
  .es-dossier .ea-tip{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid var(--b2);border-right:none;}
  .es-dossier .ea-tip.lit{border-left-color:var(--blue);border-top-color:transparent;}
  .es-xray .card-body{flex-direction:column;}
  .es-xray .side-surface{border-right:none;border-bottom:1px solid var(--b1);flex-basis:auto;}
  .es-pipe .stages{flex-direction:column;}
  .es-pipe .rail{display:none;}
  .es-pipe .output{flex-direction:column;align-items:flex-start;}
  .es-orbit .panel{grid-template-columns:1fr;}
  .es-orbit .metrics{grid-template-columns:repeat(2,1fr);}
  .es-conf .tracks{flex-direction:column;}
  .es-conf .overall{flex-direction:column;align-items:flex-start;}
  .rk-audience{grid-template-columns:1fr;}
  .cta-in h2{font-size:28px;}
  .file-card .fc-body{grid-template-columns:1fr;}
  .file-card .fc-cell{border-right:none;border-top:1px solid rgba(30,37,49,0.5);}
  .file-card .fc-head{flex-direction:column;align-items:flex-start;}
}
@media(max-width:640px){
  .wrap{padding-left:20px;padding-right:20px;}
  .nav-in{padding-left:20px;padding-right:20px;}
  .hero-copy h1{font-size:clamp(28px,8vw,34px);}
  .section-h{font-size:26px;}
  .es-orbit .metrics{grid-template-columns:1fr;}
  .es-orbit .panel{padding:14px 16px;}
  .es-stress .env-row{flex-wrap:wrap;gap:6px;}
  .es-stress .env-l{min-width:0;font-size:9px;}
  .es-stress .env-v{font-size:10px;}
  .es-dossier .ds-key{min-width:0;}
  .mv{font-size:15px;}
  .cta-in h2{font-size:24px;}
}

/* ============================================================
   MOBILE IA RECONSTRUCTION — Platform page
   Applied after all existing responsive rules.
   Desktop layouts (above the relevant breakpoints) untouched.
   ============================================================ */

/* Sec 04 (ch 04) · Live Deal Orbit — #reevaluation .es-orbit
   Desktop: canvas fills stage; .panel floats over bottom of visual.
   Mobile: in-flow stack — canvas first, metrics panel after. */
@media(max-width:900px){
  #reevaluation .es-orbit,
  .sec-orbit .es-orbit{
    height:auto !important;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:0 20px 24px;
    box-sizing:border-box;
  }
  #reevaluation .es-orbit canvas,
  .sec-orbit .es-orbit canvas{
    order:1;
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:320px;
    flex-shrink:0;
    display:block;
  }
  #reevaluation .es-orbit .panel,
  .sec-orbit .es-orbit .panel{
    order:2;
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    max-width:none;
    margin:16px 0 0;
    z-index:auto;
  }
}
@media(max-width:640px){
  #reevaluation .es-orbit canvas,
  .sec-orbit .es-orbit canvas{height:260px;}
  #reevaluation .es-orbit .panel,
  .sec-orbit .es-orbit .panel{margin-top:12px;}
}

/* Sec 06 (ch 06) · Stress Testing — #stress .es-stress
   Desktop: canvas fills stage; .env-panel anchored beside/over rings.
   Mobile: canvas first, survival envelope panel after, status line last. */
@media(max-width:900px){
  #stress .es-stress,
  .sec-stress .es-stress{
    height:auto !important;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:0 20px 24px;
    box-sizing:border-box;
  }
  #stress .es-stress canvas,
  .sec-stress .es-stress canvas{
    order:1;
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:320px;
    flex-shrink:0;
    display:block;
  }
  #stress .es-stress .env-panel,
  .sec-stress .es-stress .env-panel{
    order:2;
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    max-width:none;
    margin:16px 0 0;
    z-index:auto;
  }
  #stress .es-stress .ft,
  .sec-stress .es-stress .ft{
    order:3;
    position:static !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    padding:12px 0 0;
    margin:0;
    text-align:center;
    pointer-events:auto;
  }
}
@media(max-width:640px){
  #stress .es-stress canvas,
  .sec-stress .es-stress canvas{height:260px;}
}

/* S4 — Intelligence Pipeline
   Problem: horizontal progress rail is deleted at ≤900px with no
   replacement sense of flow.
   Fix: add a left-border spine to the stacked stages column. */
@media(max-width:900px){
  .es-pipe .stages{
    border-left:2px solid var(--b2);
    padding-left:16px;
  }
}

/* S3 — X-Ray / Hidden Intelligence
   Mobile: horizontal scan line sweeps downward (top→bottom) behind row copy
   so the wipe stays visible without sitting on intel text. Desktop unchanged. */
@media(max-width:900px){
  .es-xray .card-body{position:relative;}
  .es-xray .beam{
    top:50px;
    bottom:auto;
    left:0;
    right:0;
    width:auto;
    height:2px;
    background:linear-gradient(to right,transparent 0%,rgba(76,141,255,0.9) 20%,rgba(76,141,255,1) 50%,rgba(76,141,255,0.9) 80%,transparent 100%);
    box-shadow:0 0 10px 5px rgba(76,141,255,0.35),0 0 20px 8px rgba(76,141,255,0.1);
    z-index:4;
  }
  .es-xray .side-surface{background:var(--bg-1);}
  .es-xray .surf-row{background:var(--bg-1);}
  .es-xray .side-xray{background:rgba(76,141,255,0.015);}
  .es-xray .intel-row{position:relative;z-index:2;background:rgba(76,141,255,0.015);}
}

/* Mobile nav — page-local (mirrors /marketing/site/base.css) */
.nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;margin-left:auto;
  border:1px solid var(--b2);border-radius:8px;
  background:transparent;color:var(--t2);cursor:pointer;flex-shrink:0;
}
.nav-toggle svg{width:20px;height:20px;}
.nav-mobile{
  display:none;position:fixed;top:64px;left:0;right:0;z-index:290;
  padding:16px 20px 24px;
  background:rgba(11,14,19,0.97);border-bottom:1px solid var(--b1);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  flex-direction:column;gap:4px;max-height:calc(100vh - 64px);overflow-y:auto;
}
.nav-mobile.open{display:flex;}
.nav-mobile a{
  display:block;padding:12px 0;font-size:15px;font-weight:500;
  color:var(--t2);border-bottom:1px solid var(--b1);
}
.nav-mobile a:last-of-type{border-bottom:none;}
.nav-mobile-ctas{
  display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;
  border-top:1px solid var(--b1);
}
