/* ============================================================
   GreenSpan EMS — v2 panel redesigns
   Hero / The Gap / The Engine / The Risk — light page theme,
   dark console panels retained inside Hero + Engine.
   Loaded after ems-styles.css; safe to iterate independently.
   ============================================================ */

/* ---------- review-pass refinements ---------- */
.btn{white-space:nowrap}

/* proof cards: lift + arrow on hover */
.proof-card{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .22s}
.proof-card:hover{transform:translateY(-3px);border-color:var(--ink-3);box-shadow:0 22px 46px -30px rgba(14,22,19,.35)}
.proof-card .pv .tag{position:relative;z-index:2}
.proof-card .pv svg{pointer-events:none}

/* engagement timeline: meters grow in, stages lift on hover */
.tl-stage{transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s}
.tl-stage:hover{transform:translateY(-2px)}
.reveal-stagger.in .tl-meter span{animation:meterGrow 1s cubic-bezier(.2,.7,.2,1) backwards}
.reveal-stagger.in .tl-stage:nth-child(2) .tl-meter span{animation-delay:.15s}
.reveal-stagger.in .tl-stage:nth-child(3) .tl-meter span{animation-delay:.3s}
.reveal-stagger.in .tl-stage:nth-child(4) .tl-meter span{animation-delay:.45s}
@keyframes meterGrow{from{width:0}}

/* heatmap cells: staggered entrance (first render only) */
.heat-cell.hc-in{animation:heatIn .45s ease backwards}
@keyframes heatIn{from{opacity:0;transform:scale(.6)}}
@media (prefers-reduced-motion: reduce){
  .heat-cell.hc-in{animation:none}
  .reveal-stagger.in .tl-meter span{animation:none}
}

/* risk stat cards: reflow gracefully when the sidebar becomes a horizontal band */
@media (max-width: 1280px){
  .risk-cards .risk-stat-card .rv-row{flex-wrap:wrap;column-gap:8px;row-gap:2px}
}

.num-label{display:flex;flex-direction:column;gap:6px}

/* ---------- shared reveal-on-scroll ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal-stagger.in > *{opacity:1;transform:translateY(0)}
.reveal-stagger.in > *:nth-child(1){transition-delay:.02s}
.reveal-stagger.in > *:nth-child(2){transition-delay:.08s}
.reveal-stagger.in > *:nth-child(3){transition-delay:.14s}
.reveal-stagger.in > *:nth-child(4){transition-delay:.2s}
.reveal-stagger.in > *:nth-child(5){transition-delay:.26s}

/* ---------- HERO v2 ---------- */
.hero-callout{display:flex;align-items:flex-start;gap:12px;margin-top:26px;padding:16px 18px;background:var(--brand-soft);border:1px solid #CFE8D4;border-radius:12px;max-width:44ch}
.hero-callout .ic{width:20px;height:20px;flex:none;color:var(--brand-deep);margin-top:1px}
.hero-callout p{margin:0;font-size:13.5px;line-height:1.5;color:var(--brand-deep)}

.cockpit .legend .obl-tag{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--lime)}
.cockpit .legend .obl-tag .sw{background:var(--lime);opacity:.5}

.tiles-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#24324A}
.tiles-v2 .tile{background:#0E1826;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.tiles-v2 .tile .tl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;color:#7C8AA0;text-transform:uppercase;display:flex;align-items:center;gap:5px}
.tiles-v2 .tile .tl .qm{width:13px;height:13px;border-radius:50%;border:1px solid #445064;color:#5C6B82;font-size:9px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.priority-wrap .pw-label .qm{width:13px;height:13px;border-radius:50%;border:1px solid #445064;color:#5C6B82;font-size:9px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:2px}
.tiles-v2 .tile .tv{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:500;color:#fff}
.tiles-v2 .tile .tv.pos{color:var(--lime)}
.tiles-v2 .tile .tv.neu{color:#fff}
.tiles-v2 .tile .ts{font-family:'JetBrains Mono',monospace;font-size:10px;color:#5C6B82}
.tiles-v2 .tile .badge{align-self:flex-start;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.03em;color:var(--lime);background:rgba(31,157,58,.14);border:1px solid rgba(31,157,58,.3);padding:3px 8px;border-radius:999px}

.priority-wrap{padding:16px 20px;border-top:1px solid #24324A}
.priority-wrap .pw-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7C8AA0;margin-bottom:12px;display:flex;align-items:center;gap:5px}
.priority-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:start}
.p-arrow{color:#3A4A66;font-size:16px;line-height:1;padding-top:2px;align-self:start}
.priority-item{display:flex;flex-direction:column;gap:6px}
.priority-item .pn{font-family:'Space Grotesk',sans-serif;font-size:27px;color:#445064;transition:color .3s}
.priority-item.active .pn{color:var(--lime)}
.priority-item .pl{font-size:12.5px;color:#C7D0DE;line-height:1.3;min-height:2.4em}
.priority-item .ps{font-family:'JetBrains Mono',monospace;font-size:10.5px;display:flex;align-items:center;gap:5px}
.priority-item .ps.done{color:var(--lime)}
.priority-item .ps.active{color:var(--viz-solar)}
.priority-item .ps.deferred{color:#5C6B82}
.priority-item .ps .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.priority-item .ps .check{font-size:11px;line-height:1}
.priority-item.active .ps .dot{animation:pulse 1.6s infinite}

.ticker-row{display:flex;align-items:center;gap:14px;padding:13px 20px;border-top:1px solid #24324A}
.ticker-row .ticker{flex:1;padding:0;border:0;min-width:0}
.ticker-row .details-btn{flex:none;font-family:'Inter',sans-serif;font-size:12px;color:#C7D0DE;border:1px solid #2E3D57;padding:6px 12px;border-radius:999px;white-space:nowrap;transition:all .15s}
.ticker-row .details-btn:hover{border-color:var(--lime);color:var(--lime)}

/* ---------- THE GAP v2 ---------- */
.gap2-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.gap2-copy .kicker-dash{display:flex;align-items:center;gap:10px;color:var(--brand-deep);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.gap2-copy .kicker-dash::before{content:"";width:22px;height:1px;background:var(--brand-deep)}
.gap2-copy .num-big{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.03em;font-size:clamp(42px,4.6vw,60px);line-height:1.06;margin:0 0 18px}
.gap2-copy .num-big .dim{color:var(--ink-3)}
.gap2-copy p{margin:0 0 26px;max-width:44ch;color:var(--ink-2);font-size:16px;line-height:1.6}
.gap2-icons{display:flex;gap:26px;flex-wrap:wrap}
.gap2-icons .gi{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2)}
.gap2-icons .gi svg{width:18px;height:18px;color:var(--brand-deep);flex:none}

.gap2-illo{position:relative;border:1px solid var(--rule);border-radius:16px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);padding:24px;overflow:hidden}
.gap2-illo svg{display:block;width:100%;height:auto}

.gap2-stats{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);border-radius:14px;overflow:hidden}
.gap2-stats .gs{padding:20px 24px;display:flex;align-items:center;gap:12px;border-left:1px solid var(--rule)}
.gap2-stats .gs:first-child{border-left:none}
.gap2-stats .gs svg{width:20px;height:20px;color:var(--brand-deep);flex:none}
.gap2-stats .gs .gl{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.gap2-stats .gs .gv{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:18px;color:var(--ink)}

/* ---------- THE GAP v2 (static image, per user request) ---------- */
.gap2-image{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--rule)}

/* ---------- THE ENGINE v2 ---------- */
.engine-head-row{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:end;margin-bottom:32px}
.engine-head-row h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.02em;font-size:36px;line-height:1.15;margin:0 0 10px;max-width:22ch}
.engine-head-row .lead{margin:0;color:var(--ink-3);font-size:16px;max-width:48ch;line-height:1.5}
.engine-stats-top{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-self:end}
.engine-stats-top .es{display:flex;align-items:center;gap:8px;padding:0 12px;border-left:1px solid var(--rule)}
.engine-stats-top .es:first-child{border-left:none;padding-left:0}
.engine-stats-top .es svg{width:17px;height:17px;color:var(--brand-deep);flex:none}
.engine-stats-top .es .ev{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:17px;color:var(--ink);line-height:1.1;white-space:nowrap}
.engine-stats-top .es .el{font-size:11px;color:var(--ink-3);line-height:1.25}

.engine-pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:0;padding:22px 20px;border-top:1px solid #24324A;align-items:center}
.engine-pipeline .pipeline-arrow{padding:0 4px}
.pipeline-step{background:#0E1826;border:1px solid #24324A;border-radius:10px;padding:14px 14px;display:flex;flex-direction:column;gap:8px;min-height:78px;justify-content:center}
.pipeline-step .pi{width:26px;height:26px;color:var(--lime)}
.pipeline-step .pt{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:#fff;text-transform:uppercase}
.pipeline-step .ps2{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:#7C8AA0;line-height:1.4}
.pipeline-arrow{display:flex;align-items:center;justify-content:center;color:#3A4A66}
.pipeline-arrow svg{width:26px;height:14px}
.pipeline-arrow .dash{stroke-dasharray:4 4;animation:pipelineDash 1.4s linear infinite}
@keyframes pipelineDash{to{stroke-dashoffset:-16}}
.how-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7C8AA0;padding:14px 20px 0}
.engine-ticker-row{display:flex;align-items:center;gap:16px;border-top:1px solid #24324A}
.engine-ticker-row .engine-ticker{flex:1;border-top:none;min-width:0}
.engine-wave{width:120px;height:20px;flex:none;margin-right:20px}
.engine-wave path{stroke-dasharray:60;animation:drawStroke 4s linear infinite}

/* engine cell polish */
.engine-cell .cn2{display:flex;align-items:center;gap:8px}
.engine-cell .cn2 .idx{color:var(--lime)}
.queue-bars{display:flex;flex-direction:column;gap:8px}
.queue-bars .qrow{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:center}
.queue-bars .qn{font-family:'JetBrains Mono',monospace;font-size:9px;color:#7C8AA0}
.queue-bars .qbar-track{height:16px;border-radius:3px;background:#182338;overflow:hidden}
.queue-bars .qbar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#1F9D3A,#77C043);display:flex;align-items:center;padding-left:8px;font-family:'JetBrains Mono',monospace;font-size:8.5px;color:#fff;white-space:nowrap;animation:qbarGrow 3.6s ease-in-out infinite}
@keyframes qbarGrow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
.queue-bars .more{font-family:'JetBrains Mono',monospace;font-size:11px;color:#445064;padding-left:26px}

/* ---------- THE RISK v2 ---------- */
.risk2-grid{display:grid;grid-template-columns:.78fr 1.4fr;gap:32px;align-items:start}
.risk2-copy h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.02em;font-size:42px;line-height:1.1;margin:0 0 16px;max-width:11ch}
.risk2-copy .lead{margin:0 0 32px}
.risk-cards{display:flex;flex-direction:column;gap:14px}
.risk-stat-card{display:flex;align-items:center;gap:14px;border:1px solid var(--rule);border-radius:12px;padding:16px 18px;background:var(--paper)}
.risk-stat-card .ic{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);display:flex;align-items:center;justify-content:center;flex:none;color:var(--brand-deep)}
.risk-stat-card.warn .ic{background:#FBEFDD;color:#B67A1E}
.risk-stat-card .ic svg{width:17px;height:17px}
.risk-stat-card .body{flex:1;min-width:0}
.risk-stat-card .rl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.risk-stat-card .rv-row{display:flex;align-items:baseline;gap:10px}
.risk-stat-card .rv{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:22px;color:var(--ink)}
.risk-stat-card .rv.warn{color:#B67A1E}
.risk-stat-card .rs{font-size:12px;color:var(--ink-3)}
.risk-stat-card .spark{flex:none;width:70px;height:28px}
.risk-foot-note{display:flex;align-items:flex-start;gap:8px;margin-top:20px;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.risk-foot-note svg{width:15px;height:15px;flex:none;margin-top:1px;color:var(--ink-3)}

.risk-panel2{border:1px solid var(--rule);border-radius:16px;background:var(--paper);overflow:hidden}
.risk-panel2 .rp-head{display:flex;align-items:center;gap:24px;padding:22px 24px 14px;flex-wrap:wrap}
.risk-panel2 .rp-title{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.1em;color:var(--ink);font-weight:600}
.risk-panel2 .rp-sub{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--ink-3)}
.risk-panel2 .rp-scale{margin-left:auto;display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3)}
.risk-panel2 .rp-scale .ramp2{width:150px;height:8px;border-radius:4px;background:linear-gradient(90deg,#1F9D3A,#D9A441,#C0504D);position:relative}
.risk-panel2 .rp-scale .ticks{position:relative;width:150px;display:flex;justify-content:space-between;font-size:9px;margin-top:3px}

.risk-panel2 .heat-body{padding:6px 24px 20px}
.risk-panel2 .heat-cell.selected{outline:2px solid var(--ink);outline-offset:-2px;transform:scale(1.06);box-shadow:0 4px 14px rgba(14,22,19,.22);z-index:2;position:relative}
.risk-panel2 .heat-connector{width:1px;background:repeating-linear-gradient(var(--ink-3) 0 4px, transparent 4px 8px);margin:0 auto;height:18px}

.risk-detail3{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:0;border-top:1px solid var(--rule);background:var(--paper-2)}
.risk-detail3 > div{padding:20px 22px}
.risk-detail3 > div + div{border-left:1px solid var(--rule)}
.rd-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.rd-window{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rd-window .rw-name{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:19px;color:var(--ink);text-transform:capitalize}
.rd-window .rw-tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.05em;padding:4px 9px;border-radius:999px}
.rd-window .rw-tag.high{background:#FBE3E1;color:#9C3B31}
.rd-window .rw-tag.elevated{background:#FBEFDD;color:#B67A1E}
.rd-window .rw-tag.low{background:var(--brand-soft);color:var(--brand-deep)}
.rd-prob-label{font-size:11.5px;color:var(--ink-3);margin-bottom:2px}
.rd-prob{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:32px;margin-bottom:16px}
.rd-prob.high{color:#B03A2E}
.rd-prob.elevated{color:#B67A1E}
.rd-prob.low{color:var(--brand-deep)}
.rd-vsavg-label{font-size:11.5px;color:var(--ink-3);margin-bottom:2px}
.rd-vsavg{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:17px;color:var(--ink-2)}

.rd-drivers{display:flex;flex-direction:column;gap:12px}
.rd-drivers .drow{display:flex;align-items:center;gap:10px;font-size:13.5px}
.rd-drivers .drow svg{width:16px;height:16px;color:var(--ink-3);flex:none}
.rd-drivers .drow .dname{flex:1;color:var(--ink-2)}
.rd-drivers .drow .dsev{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.03em}
.rd-drivers .drow .dsev.high{color:#B03A2E}
.rd-drivers .drow .dsev.elevated{color:#B67A1E}
.rd-drivers .drow .dsev.moderate{color:var(--ink-3)}

.rd-impact .ri-label{font-size:11.5px;color:var(--ink-3);margin-bottom:2px}
.rd-impact .ri-val{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:26px;color:#B03A2E;margin-bottom:16px}
.rd-impact .ri-sub{font-size:11.5px;color:var(--ink-3);margin-bottom:2px}
.rd-impact .ri-val2{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:17px;color:var(--ink-2)}
.rd-impact .ri-frac{font-size:12px;color:var(--ink-3)}

.risk-glance{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule)}
.risk-glance .rg{padding:16px 14px;display:flex;align-items:center;gap:9px;border-left:1px solid var(--rule)}
.risk-glance .rg:first-child{border-left:none}
.risk-glance .rg svg{width:18px;height:18px;flex:none;color:var(--brand-deep)}
.risk-glance .rg.warn svg{color:#B67A1E}
.risk-glance .rg .gv{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:17px;color:var(--ink);line-height:1.1}
.risk-glance .rg .gl{font-size:11px;color:var(--ink-3);line-height:1.25}

/* ---------- THE ASSETS v2 ---------- */
.assets2-grid{display:grid;grid-template-columns:0.82fr 3.2fr;gap:44px;align-items:start}
.assets2-copy .num-label{margin-bottom:26px}
.assets2-copy h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.02em;font-size:44px;line-height:1.08;margin:0}
.assets2-copy h2 .grn{color:var(--brand)}
.assets2-copy .divider{width:48px;height:2px;background:var(--brand);margin:26px 0}
.assets2-copy p{margin:0;color:var(--ink-3);font-size:16px;line-height:1.6;max-width:32ch}
.assets2-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.asset-card2{background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.asset-card2:hover{border-color:var(--ink-3);box-shadow:0 18px 40px -28px rgba(14,22,19,.3)}
.asset-card2 h3{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.2;margin:0 0 14px;min-height:2.4em}
.asset-card2 .obj-tag{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:4px 11px;margin-bottom:14px}
.asset-card2 .obj{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2);min-height:4.4em}
.asset-dia-wrap{height:216px;display:flex;align-items:center;justify-content:center;margin:8px 0}
.asset-dia{height:100%;width:auto;max-width:100%}
.asset-dia .ico{stroke:var(--ink-2);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.asset-dia .flow{stroke:var(--brand);stroke-width:1.5;fill:none;stroke-dasharray:4 4;animation:assetFlow 1.1s linear infinite}
.asset-dia .bolt{fill:var(--brand);stroke:none}
.asset-dia .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;fill:var(--ink-2);text-anchor:middle;font-weight:500}
@keyframes assetFlow{to{stroke-dashoffset:-16}}
@media (prefers-reduced-motion: reduce){.asset-dia .flow{animation:none}}
.asset-card2 .ef-divider{border:0;border-top:1px dashed var(--rule);margin:4px 0 0}
.asset-card2 .ef-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep);margin:18px 0 14px}
.asset-card2 .ef-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.asset-card2 .ef-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}
.asset-card2 .ef-list li svg{width:16px;height:16px;color:var(--brand);flex:none}
.assets2-note{display:flex;align-items:center;gap:9px;margin-top:32px;font-size:13px;color:var(--ink-3)}
.assets2-note svg{width:16px;height:16px;flex:none;color:var(--ink-3)}

/* ---------- review-pass polish ---------- */
.ticker-line{transition:opacity .28s ease}
.ticker-line.swap{opacity:0}

.timeline.reveal-stagger .tl-meter span{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1) .25s}
.timeline.reveal-stagger.in .tl-meter span{transform:scaleX(1)}

.proof-card{transition:border-color .15s,box-shadow .15s,transform .2s}
.proof-card:hover{border-color:var(--ink-3);box-shadow:0 18px 40px -28px rgba(14,22,19,.3);transform:translateY(-2px)}

@keyframes heatPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.heat-cell.pop{animation:heatPop .4s cubic-bezier(.2,.7,.3,1.2) backwards}
@keyframes rdPop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.rd-prob,.ri-val{animation:rdPop .35s ease both}
@media (prefers-reduced-motion: reduce){
  .heat-cell.pop,.rd-prob,.ri-val{animation:none}
  .timeline.reveal-stagger .tl-meter span{transform:none;transition:none}
}

/* ---------- THE INTELLIGENCE ---------- */
.intel-grid{display:grid;grid-template-columns:.85fr 1.85fr;gap:48px;align-items:start}
.intel-copy h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.02em;font-size:38px;line-height:1.1;margin:0 0 14px;max-width:14ch}
.intel-copy .lead{margin:0;color:var(--ink-3);font-size:15.5px;line-height:1.6;max-width:36ch}
.intel-copy .divider{width:32px;height:2px;background:var(--rule);margin:22px 0}

.intel-stats{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.is-row{display:flex;gap:14px;align-items:flex-start}
.is-ic{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);display:flex;align-items:center;justify-content:center;flex:none}
.is-ic svg{width:18px;height:18px}
.is-v{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:26px;color:var(--ink);line-height:1.2}
.is-l{font-size:14px;color:var(--ink-2);font-weight:500;margin-top:1px}
.is-s{font-size:12.5px;color:var(--ink-3);margin-top:2px;line-height:1.4}

.intel-cta{width:100%;justify-content:center;text-align:center;box-sizing:border-box}

.intel-panel{border:1px solid var(--rule);border-radius:16px;background:var(--paper);overflow:hidden}
.intel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--rule);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap}
.intel-head-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.intel-head .rec{display:inline-flex;align-items:center;gap:6px;color:var(--brand-deep)}
.intel-head .rec .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:pulse 2s infinite}
.intel-updated{color:var(--ink-3);text-transform:none;letter-spacing:0}
.intel-updated b{color:var(--ink-2);font-weight:600}

.intel-feed{display:flex;flex-direction:column}
.intel-row{display:grid;grid-template-columns:132px 1fr 122px;gap:22px;align-items:center;padding:20px 22px;border-top:1px solid var(--rule);text-decoration:none;color:inherit;transition:background .15s}
.intel-feed > .intel-row:first-child{border-top:none}
.intel-row:hover{background:var(--paper-2)}
.ir-vis{display:flex;flex-direction:column;gap:6px}
.ir-cat{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.ir-chart{width:100%;height:30px;display:block}
.ir-timeline{position:relative;height:14px;display:flex;align-items:center;justify-content:space-between}
.ir-timeline .line{position:absolute;left:3px;right:3px;top:50%;height:1px;background:var(--rule)}
.ir-timeline .pt{width:6px;height:6px;border-radius:50%;background:var(--paper);border:1.5px solid var(--rule);position:relative;z-index:1}
.ir-timeline .pt.on{background:var(--brand);border-color:var(--brand)}
.ir-range{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--ink-3);letter-spacing:.02em}

.ir-body h4{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:17px;line-height:1.3;margin:0 0 4px;color:var(--ink)}
.ir-body p{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--ink-3)}
.ir-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:3px 10px}

.ir-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;text-decoration:none;color:inherit}
.ir-text{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ir-date{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--ink-2)}
.ir-status{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--brand-deep);font-weight:600}
.ir-arrow{color:var(--ink-3);font-size:15px;transition:transform .15s,color .15s;flex:none}
.intel-row:hover .ir-arrow{color:var(--brand-deep);transform:translateX(3px)}

@media (max-width: 1180px){
  .intel-grid{grid-template-columns:1fr;gap:32px}
  .intel-copy h2{max-width:none}
  .intel-copy .lead{max-width:60ch}
  .intel-stats{flex-direction:row;flex-wrap:wrap;gap:24px 32px}
  .is-row{flex:1 1 220px}
}
@media (max-width: 720px){
  .intel-row{grid-template-columns:1fr;gap:12px;padding:18px}
  .ir-vis{flex-direction:row;align-items:center;justify-content:space-between}
  .ir-chart{width:96px;flex:none}
  .ir-timeline{width:96px;flex:none}
  .ir-range{display:none}
  .ir-meta{justify-content:space-between}
  .intel-stats{flex-direction:column}
  .intel-head{padding:14px 16px}
  .intel-head-right{gap:10px;width:100%;justify-content:space-between}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1180px){
  .gap2-grid{grid-template-columns:1fr}
  .gap2-stats{grid-template-columns:repeat(2,1fr)}
  .gap2-stats .gs:nth-child(3){border-left:none}
  .engine-head-row{grid-template-columns:1fr 1.15fr;gap:20px}
  .engine-head-row h2{font-size:29px}
  .assets2-grid{grid-template-columns:0.65fr 3.35fr;gap:24px}
  .assets2-copy p{max-width:26ch}
  .assets2-copy h2{font-size:32px}
  .risk2-grid{grid-template-columns:1fr;gap:28px}
  .risk2-copy h2{font-size:34px;max-width:none}
  .risk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
  .risk-stat-card .spark{display:none}
  .risk-foot-note{margin-top:14px}
}
@media (max-width: 860px){
  .assets2-grid{grid-template-columns:1fr;gap:28px}
  .assets2-copy p{max-width:60ch}
  .assets2-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 720px){
  .gap-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -22px;padding:0 22px 4px}
  .gap2-image{width:640px;max-width:none}
  .cockpit .legend{flex-wrap:wrap;row-gap:6px}
  .engine-wave{display:none}
  .engine-ticker-row .engine-ticker{margin-right:0}
  .engine-head-row{grid-template-columns:1fr}
  .engine-stats-top{grid-template-columns:repeat(2,1fr);row-gap:16px}
  .engine-stats-top .es{padding-left:0;border-left:none}
  .engine-pipeline{grid-template-columns:1fr;gap:10px}
  .pipeline-arrow{transform:rotate(90deg);margin:0 auto}
  .priority-row{grid-template-columns:1fr 1fr;row-gap:14px}
  .p-arrow{display:none}
  .tiles-v2{grid-template-columns:1fr}
  .gap2-icons{gap:16px}
  .gap2-stats{grid-template-columns:1fr}
  .gap2-stats .gs{border-left:none;border-top:1px solid var(--rule)}
  .gap2-stats .gs:first-child{border-top:none}
  .assets2-cards{grid-template-columns:1fr}
  .risk-detail3{grid-template-columns:1fr}
  .risk-detail3 > div + div{border-left:none;border-top:1px solid var(--rule)}
  .risk-glance{grid-template-columns:1fr}
  .risk-glance .rg{border-left:none;border-top:1px solid var(--rule)}
  .risk-glance .rg:first-child{border-top:none}
}

/* ---------- THE DOOR v2 · trust engineered ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:16px;margin:8px 0 40px;align-items:stretch}
.trust-card{background:#0E1826;border:1px solid #24324A;border-radius:14px;padding:22px 20px;display:flex;flex-direction:column}
.tc-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.tc-num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--lime)}
.tc-segs{display:flex;gap:4px;flex:1}
.tc-segs span{height:4px;flex:1;border-radius:2px;background:#24324A;transform-origin:left;transform:scaleX(0);animation:segIn .5s ease forwards}
.tc-segs span.on{background:var(--lime)}
.reveal-stagger.in .tc-segs span:nth-child(1){animation-delay:.05s}
.reveal-stagger.in .tc-segs span:nth-child(2){animation-delay:.15s}
.reveal-stagger.in .tc-segs span:nth-child(3){animation-delay:.25s}
.reveal-stagger.in .tc-segs span:nth-child(4){animation-delay:.35s}
@keyframes segIn{to{transform:scaleX(1)}}
.tc-icon{width:38px;height:38px;border-radius:10px;background:rgba(31,157,58,.12);border:1px solid rgba(31,157,58,.28);color:var(--lime);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.tc-icon svg{width:19px;height:19px}
.trust-card h3{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:19px;color:#fff;margin:0 0 8px}
.trust-card p{margin:0;font-size:13.5px;line-height:1.55;color:#9BA8BC;flex:1}
.tc-foot{margin-top:16px;padding-top:14px;border-top:1px solid #24324A;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}

.trust-cta{background:#0B1220;border:1px solid #24324A;border-radius:14px;padding:26px 24px;display:flex;flex-direction:column}
.cta-icon{width:38px;height:38px;border-radius:10px;background:rgba(31,157,58,.12);border:1px solid rgba(31,157,58,.28);color:var(--lime);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.cta-icon svg{width:19px;height:19px}
.trust-cta h3{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:20px;color:var(--lime);margin:0 0 8px}
.trust-cta > p{margin:0 0 18px;font-size:13.5px;color:#C7D0DE;line-height:1.5}
.cta-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}
.cta-list li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#C7D0DE}
.cta-list li svg{width:16px;height:16px;color:var(--lime);flex:none}
.trust-cta .cta-btn{justify-content:center;width:100%;box-sizing:border-box}

@media (max-width: 1180px){
  .trust-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"c1 c2" "c3 c4" "cta cta"}
  .trust-card:nth-child(1){grid-area:c1}
  .trust-card:nth-child(2){grid-area:c2}
  .trust-card:nth-child(3){grid-area:c3}
  .trust-card:nth-child(4){grid-area:c4}
  .trust-cta{grid-area:cta}
}
@media (max-width: 640px){
  .trust-grid{grid-template-columns:1fr;grid-template-areas:"c1" "c2" "c3" "c4" "cta"}
}

@media (max-width: 480px){
  .heat-row{grid-template-columns:38px repeat(12,1fr)}
  .heat-cell{height:20px}
  .heat-rowlabel{font-size:8.5px}
  .heat-row.heat-head .heat-collabel{font-size:7.5px}
}
