/* ============================================================================
   AI ASSIST BG  ·  DECK STYLESHEET  (16:9, screen-first)
   Requires tokens.css.

   For anything presented or screen-shared. Use document.css for anything read
   and forwarded.

   Class names are kept identical to the EXEO and POWR 360 decks so slides can
   be copied between files without rework.

   ONE STRUCTURAL WARNING, and it cost a full debugging session:
   .slide runs an animation that moves `transform`. A non-`none` transform
   creates a stacking context, which traps every descendant z-index inside the
   slide. Any fixed-position overlay declared outside .slide will therefore
   paint ABOVE slide content no matter how high you set its z-index, swallowing
   clicks meant for cards and accordions. Navigation must be handled by hit
   testing on .deck, never by invisible click zones. See PRINT-ENGINEERING.md.
   ============================================================================ */

*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
html,body{width:100%;height:100%;overflow:hidden;font-family:var(--f-body);
  background:var(--cream);color:var(--ink)}

/* ------------------------------------------------------------------ shell */
.deck{position:relative;width:100vw;height:100vh;overflow:hidden}
.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);
  z-index:100;transition:width var(--motion-mid)}
.meta-bar{position:fixed;bottom:20px;right:28px;display:flex;align-items:center;
  gap:16px;z-index:90;font-size:11px;font-weight:600;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--sub);pointer-events:none}
.meta-bar.on-dark{color:rgba(243,236,224,.5)}
.meta-bar .counter{font-family:var(--f-display);font-weight:400}
.meta-bar .counter .sep{opacity:.4;margin:0 4px}
.nav-hints{position:fixed;bottom:20px;left:28px;z-index:90;font-size:10px;
  font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--faint);pointer-events:none}
.nav-hints.on-dark{color:rgba(243,236,224,.35)}
/* Inert. Marks the edge zones visually for maintainers; the runtime does the
   hit testing. pointer-events:none is load-bearing, see the warning above. */
.nav-edge{position:fixed;top:0;height:100vh;width:17%;z-index:1;pointer-events:none}
.nav-edge.left{left:0}
.nav-edge.right{right:0}

/* ------------------------------------------------------------------ slide */
.slide{position:absolute;inset:0;display:none;padding:70px 80px;
  align-items:center;justify-content:center;
  animation:slide-in var(--motion-mid) both;overflow-y:auto}
.slide.active{display:flex}
@keyframes slide-in{from{opacity:0;transform:translateY(12px)}
                    to{opacity:1;transform:translateY(0)}}
.slide-inner{width:100%;max-width:1240px;position:relative;z-index:60}
.slide.dark{background:var(--jet);color:var(--cream)}
.slide.dark::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 25% 30%,rgba(184,149,106,.10),transparent 50%),
             radial-gradient(circle at 80% 70%,rgba(212,184,150,.06),transparent 55%)}
.slide.section-divider{background:var(--jet);color:var(--cream);padding:0}
.slide.section-divider::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(184,149,106,.14),transparent 60%)}

/* ------------------------------------------------------------- typography */
.eyebrow{font-size:11px;font-weight:700;letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.eyebrow.on-light{color:var(--gold-deep)}
.eyebrow .dot{display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--gold);margin-right:10px;vertical-align:2px}
h1.title-xl{font-family:var(--f-display);font-weight:300;font-size:var(--t-xl);
  line-height:1.05;letter-spacing:var(--ls-xl);margin-bottom:20px}
h1.title-lg{font-family:var(--f-display);font-weight:300;font-size:var(--t-lg);
  line-height:1.1;letter-spacing:var(--ls-lg);margin-bottom:18px}
h2.title-md{font-family:var(--f-display);font-weight:400;font-size:var(--t-md);
  line-height:1.2;letter-spacing:var(--ls-md);margin-bottom:14px}
.lead{font-size:var(--t-lead);line-height:1.55;letter-spacing:var(--ls-lead);
  color:var(--sub);max-width:900px}
.slide.dark .lead{color:var(--on-dark-75)}
.body-lg{font-size:var(--t-body);line-height:1.6;color:var(--ink)}
.slide.dark .body-lg{color:var(--on-dark-85)}
.accent{color:var(--gold-soft);font-weight:500}
.accent-deep{color:var(--gold-deep);font-weight:500}
.good{color:var(--good);font-weight:500}
.warnc{color:var(--warn);font-weight:500}

/* ------------------------------------------------------------------ cover */
.brand-mark{display:flex;flex-direction:column;align-items:center;gap:14px}
.brand-logo{width:104px;height:104px;border-radius:var(--r-xl);object-fit:cover;
  background:#fff;box-shadow:var(--shadow-mark)}
.brand-tag{font-size:10px;font-weight:700;letter-spacing:2.6px;
  text-transform:uppercase;color:var(--gold);text-align:center}
.cover{display:flex;flex-direction:column;gap:38px;height:100%;padding:34px 0}
.cover-top{display:flex;justify-content:space-between;align-items:flex-start}
.classification{font-size:10px;font-weight:600;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--on-dark-40);text-align:right;line-height:1.7}
.cover-body{flex:1;display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center}
.cover-eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);margin:28px 0 22px}
.cover-title{font-family:var(--f-display);font-weight:200;font-size:var(--t-cover);
  line-height:1;letter-spacing:var(--ls-cover);color:var(--cream);max-width:960px}
.cover-title .gold-line{color:var(--gold)}
.cover-sub{font-size:var(--t-body);line-height:1.55;color:var(--on-dark-60);
  max-width:680px;margin-top:26px}
.cover-foot{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
  padding-top:26px;border-top:1px solid rgba(243,236,224,.15)}
.cover-foot-item .label{font-size:9.5px;font-weight:700;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--on-dark-40);margin-bottom:7px}
.cover-foot-item .value{font-family:var(--f-display);font-size:14px;
  font-weight:500;letter-spacing:-.2px;color:var(--cream)}

/* ----------------------------------------------------------------- agenda */
.agenda-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;
  row-gap:14px;margin-top:38px}
.agenda-item{display:flex;align-items:baseline;gap:16px;padding-bottom:15px;
  border-bottom:1px solid var(--line)}
.agenda-item .num{font-family:var(--f-display);font-weight:300;font-size:22px;
  letter-spacing:-.4px;color:var(--gold-deep);width:28px;flex-shrink:0}
.agenda-item .label{font-size:15.5px;font-weight:500;color:var(--ink)}
.agenda-item .label .meta{display:block;font-size:12px;font-weight:400;
  color:var(--sub);margin-top:2px}

/* -------------------------------------------------------- section divider */
.section-divider .slide-inner{display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:28px}
.section-num{font-family:var(--f-display);font-weight:300;font-size:14px;
  letter-spacing:4px;color:var(--gold);text-transform:uppercase}
.section-title{font-family:var(--f-display);font-weight:200;
  font-size:var(--t-section);letter-spacing:var(--ls-section);line-height:1;
  color:var(--cream);max-width:1100px}
.section-orb{width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#f0d9b5 0%,var(--gold-soft) 25%,
    var(--gold) 55%,#5e4b35 95%);
  box-shadow:0 0 60px rgba(184,149,106,.45),inset 0 0 24px rgba(255,255,255,.12)}
@media (prefers-reduced-motion:no-preference){
  .section-orb{animation:orb-breath 3.6s infinite ease-in-out}}
@keyframes orb-breath{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.section-kicker{font-size:14.5px;line-height:1.6;color:rgba(243,236,224,.55);
  max-width:620px}

/* ------------------------------------------------------------------ stats */
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:44px}
.stats-row.four{grid-template-columns:repeat(4,1fr);gap:36px}
.stat .num{font-family:var(--f-display);font-weight:200;font-size:var(--t-stat);
  letter-spacing:-3.4px;line-height:1;color:var(--ink)}
.slide.dark .stat .num{color:var(--cream)}
.stat .label{font-size:12px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;color:var(--sub);margin-top:13px}
.slide.dark .stat .label{color:rgba(243,236,224,.5)}
.stat .sub{font-size:13px;color:var(--sub);margin-top:4px;line-height:1.45}
.slide.dark .stat .sub{color:rgba(243,236,224,.5)}

/* ----------------------------------------------------------------- tables */
table{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px}
th{text-align:left;font-size:9.5px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--sub);padding:0 14px 9px 0;
  border-bottom:1px solid var(--ink);vertical-align:bottom}
td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);
  line-height:1.45;vertical-align:top}
td small{display:block;font-size:12px;color:var(--sub);margin-top:3px;line-height:1.45}
td.n{font-family:var(--f-display);font-weight:500;white-space:nowrap}
.slide.dark th{color:rgba(243,236,224,.45);border-bottom-color:rgba(243,236,224,.3)}
.slide.dark td{border-bottom-color:rgba(243,236,224,.12);color:var(--on-dark-85)}
tr.hi td{background:rgba(184,149,106,.09)}

/* ------------------------------------------------------------------- tags */
.tag{display:inline-block;font-size:8.5px;font-weight:700;
  letter-spacing:var(--ls-tag);text-transform:uppercase;padding:3px 8px;
  border-radius:var(--r-pill);white-space:nowrap}
.tag.g{background:rgba(184,149,106,.15);color:var(--gold-deep);border:1px solid rgba(184,149,106,.35)}
.tag.s{background:rgba(92,92,92,.1);color:var(--sub);border:1px solid rgba(92,92,92,.22)}
.tag.ok{background:rgba(91,138,110,.12);color:var(--good);border:1px solid rgba(91,138,110,.3)}
.tag.w{background:rgba(192,138,62,.12);color:var(--warn);border:1px solid rgba(192,138,62,.32)}
.slide.dark .tag.g{background:rgba(184,149,106,.18);color:var(--gold-soft);
  border-color:rgba(184,149,106,.4)}

/* ------------------------------------------------------------------- note */
.note{border-left:3px solid var(--gold);background:var(--linen);padding:16px 20px;
  border-radius:0 12px 12px 0;margin-top:20px;font-size:14px;line-height:1.6}
.note b{font-weight:600}
.slide.dark .note{background:var(--on-dark-fill);color:var(--on-dark-85);
  border-left-color:var(--gold)}
.slide.dark .note b{color:var(--gold-soft)}

/* ------------------------------------------------------------------ cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr);gap:15px}
.card{background:var(--jet);color:var(--cream);border-radius:var(--r-lg);
  padding:24px 22px;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 80% 15%,rgba(184,149,106,.16),transparent 60%)}
.card .l{position:relative;z-index:2;font-size:9.5px;font-weight:700;
  letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);
  margin-bottom:11px}
.card .v{position:relative;z-index:2;font-family:var(--f-display);font-weight:200;
  font-size:34px;letter-spacing:-1.5px;line-height:1;color:var(--cream)}
.card .v.sm{font-size:21px;letter-spacing:-.7px;font-weight:300;line-height:1.25}
.card .d{position:relative;z-index:2;font-size:12.5px;line-height:1.5;
  color:rgba(243,236,224,.62);margin-top:10px}
.card .d b{color:var(--gold-soft);font-weight:500}
.card.light{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.card.light::before{display:none}
.card.light .l{color:var(--gold-deep)}
.card.light .v{color:var(--ink)}
.card.light .d{color:var(--sub)}
.card.light .d b{color:var(--gold-deep)}

/* ------------------------------------------------------------------ quote */
.quote-block{border-left:3px solid var(--gold);padding:8px 0 8px 32px;margin-top:30px}
.quote-block p{font-family:var(--f-display);font-weight:300;
  font-size:clamp(20px,2.3vw,28px);line-height:1.4;letter-spacing:-.7px;
  color:var(--cream)}
.quote-block .attrib{font-size:12px;font-weight:600;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--gold);margin-top:20px}

/* ==========================================================================
   INTERACTIVE COMPONENTS
   Three reusable patterns. All three follow the same rule: the collapsed
   state must carry enough meaning to stand alone, because the PDF export
   renders everything expanded and the slide must work either way.
   ========================================================================== */

/* -- 1. Filterable, expandable card grid (portfolio, product list, team) -- */
.pf-controls{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 16px}
.chip{font-size:11px;font-weight:600;letter-spacing:.6px;padding:7px 14px;
  border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);
  color:var(--sub);cursor:pointer;transition:all var(--motion-fast)}
.chip:hover{border-color:var(--gold);color:var(--gold-deep)}
.chip.on{background:var(--jet);border-color:var(--jet);color:var(--gold-soft)}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.pf{border:1px solid var(--line);border-radius:var(--r-md);padding:15px 16px;
  background:var(--card);cursor:pointer;transition:all var(--motion-fast);position:relative}
.pf:hover{border-color:var(--gold);transform:translateY(-2px)}
.pf.open{border-color:var(--gold);background:var(--linen)}
.pf .nm{font-family:var(--f-display);font-size:15.5px;font-weight:500;
  letter-spacing:-.3px;margin-bottom:5px}
.pf .sec{font-size:11px;color:var(--sub);line-height:1.4}
.pf .geo{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:var(--faint);margin-top:7px}
.pf .read{display:none;font-size:12.5px;line-height:1.55;color:var(--ink);
  margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.pf.open .read{display:block}
.pf-hint{font-size:11.5px;color:var(--faint);margin-top:14px;font-style:italic}

/* ---- 2. Stage selector with a detail panel (lifecycle, process, phases) -- */
.lc{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px;position:relative}
.lc::before{content:'';position:absolute;top:34px;left:6%;right:6%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 15%,var(--gold) 85%,transparent);
  opacity:.4}
.lcs{border:1px solid var(--line);border-radius:16px;padding:22px 20px;
  background:var(--card);cursor:pointer;transition:all var(--motion-fast);
  position:relative;z-index:2}
.lcs:hover{border-color:var(--gold)}
.lcs.on{background:var(--jet);border-color:var(--jet);color:var(--cream)}
.lcs .dot{width:14px;height:14px;border-radius:50%;background:var(--card);
  border:2px solid var(--gold);margin-bottom:16px}
.lcs.on .dot{background:var(--gold);border-color:var(--gold-soft);box-shadow:var(--glow-gold)}
.lcs .st{font-size:9px;font-weight:700;letter-spacing:var(--ls-label);
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:7px}
.lcs.on .st{color:var(--gold)}
.lcs .nm{font-family:var(--f-display);font-size:19px;font-weight:400;
  letter-spacing:-.5px;margin-bottom:8px}
.lcs .ds{font-size:12.5px;line-height:1.5;color:var(--sub)}
.lcs.on .ds{color:rgba(243,236,224,.72)}
.lc-detail{margin-top:22px;border-left:3px solid var(--gold);background:var(--linen);
  padding:20px 24px;border-radius:0 14px 14px 0;min-height:110px}
.lc-detail h4{font-family:var(--f-display);font-size:17px;font-weight:500;
  letter-spacing:-.3px;margin-bottom:9px}
.lc-detail p{font-size:14px;line-height:1.62;color:var(--ink)}
.lc-detail p+p{margin-top:9px}
.lc-detail .fail{font-size:13px;line-height:1.55;color:var(--bad);margin-top:11px;
  font-weight:500}

/* ----------- 3. Accordion rows (pricing ladder, options, tiers) ---------- */
.ladder{display:flex;flex-direction:column;gap:9px;margin-top:24px}
.rung{border:1px solid var(--line);border-radius:15px;background:var(--card);
  cursor:pointer;transition:all var(--motion-fast);overflow:hidden}
.rung:hover,.rung.on{border-color:var(--gold)}
.rung-head{display:grid;grid-template-columns:78px 1fr 190px 30px;
  align-items:center;gap:18px;padding:16px 20px}
.rung .step{font-size:8.5px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--gold-deep)}
.rung .ttl{font-family:var(--f-display);font-size:19px;font-weight:400;letter-spacing:-.5px}
.rung .ttl small{display:block;font-family:var(--f-body);font-size:12px;
  color:var(--sub);margin-top:3px;letter-spacing:0}
.rung .price{font-family:var(--f-display);font-size:16px;font-weight:500;
  color:var(--gold-deep);text-align:right;letter-spacing:-.3px}
.rung .price small{display:block;font-family:var(--f-body);font-size:11px;
  font-weight:400;color:var(--faint);margin-top:2px}
.rung .caret{text-align:right;color:var(--faint);font-size:15px;
  transition:transform var(--motion-fast)}
.rung.on .caret{transform:rotate(90deg);color:var(--gold)}
.rung-body{display:none;padding:0 20px 20px 116px;font-size:13.5px;
  line-height:1.62;color:var(--sub)}
.rung.on .rung-body{display:block}
.rung-body b{color:var(--ink);font-weight:600}
.rung.zero{background:var(--linen);border-color:var(--gold)}

/* -------------------------------------------------- in scope / out of scope */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;
  border:1px solid var(--line);border-radius:16px;overflow:hidden}
.scope-col{padding:24px 26px}
.scope-col.in{background:var(--card)}
.scope-col.out{background:var(--linen);border-left:1px solid var(--line)}
.scope-col h4{font-size:9.5px;font-weight:700;letter-spacing:var(--ls-label);
  text-transform:uppercase;margin-bottom:16px}
.scope-col.in h4{color:var(--good)}
.scope-col.out h4{color:var(--bad)}
.scope-col ul{list-style:none}
.scope-col li{font-size:13px;line-height:1.5;padding:7px 0 7px 20px;
  position:relative;color:var(--ink)}
.scope-col.out li{color:var(--sub)}
.scope-col li::before{content:'';position:absolute;left:0;top:14px;width:5px;
  height:5px;border-radius:50%}
.scope-col.in li::before{background:var(--good)}
.scope-col.out li::before{background:var(--bad);opacity:.5}

/* --------------------------------------------------------- numbered list */
.nlist{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:3px;margin-top:26px}
.nrow{display:flex;gap:15px;align-items:flex-start;padding:11px 0;
  border-bottom:1px solid var(--line)}
.slide.dark .nrow{border-bottom-color:rgba(243,236,224,.12)}
.nrow .i{font-family:var(--f-display);font-size:14px;font-weight:500;
  color:var(--gold-deep);min-width:20px;padding-top:1px}
.slide.dark .nrow .i{color:var(--gold)}
.nrow .t{font-size:13.5px;line-height:1.5}
.nrow .t b{font-weight:600}

/* ------------------------------------------------------- numbered columns */
.conds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.cond{border:1px solid var(--line);border-radius:16px;padding:24px 22px;
  background:var(--card);position:relative}
.cond .n{font-family:var(--f-display);font-weight:200;font-size:42px;
  letter-spacing:-2px;color:var(--gold);line-height:1;margin-bottom:14px}
.cond h4{font-family:var(--f-display);font-size:17px;font-weight:500;
  letter-spacing:-.3px;margin-bottom:9px}
.cond p{font-size:13px;line-height:1.55;color:var(--sub)}

/* --------------------------------------------------------------- timeline */
.tl{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:34px;position:relative}
.tl::before{content:'';position:absolute;top:9px;left:9%;right:9%;height:2px;
  background:rgba(184,149,106,.35)}
.tlp{text-align:center;position:relative;z-index:2;padding:0 8px}
.tlp .mk{width:20px;height:20px;border-radius:50%;background:var(--jet);
  border:2px solid var(--gold);margin:0 auto 18px;display:flex;
  align-items:center;justify-content:center}
.tlp .mk i{width:7px;height:7px;border-radius:50%;background:var(--gold);display:block}
.tlp .dy{font-size:9.5px;font-weight:700;letter-spacing:var(--ls-label);
  text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.tlp .tx{font-size:13px;line-height:1.5;color:rgba(243,236,224,.8)}

/* -------------------------------------------------------- source register */
.src-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:44px;row-gap:0;margin-top:22px}
.src{display:flex;gap:13px;padding:8px 0;border-bottom:1px solid var(--line);
  font-size:12.5px;line-height:1.45}
.src .i{font-family:var(--f-display);font-weight:500;color:var(--gold-deep);min-width:19px}
.src .t{color:var(--ink)}
.src .t span{display:block;color:var(--faint);font-size:11px;margin-top:1px}

/* ------------------------------------------------------------- big claim */
.claim{font-family:var(--f-display);font-weight:200;font-size:var(--t-claim);
  line-height:1.15;letter-spacing:-1.8px;max-width:1040px}
.claim em{font-style:normal;color:var(--gold)}

/* ==========================================================================
   PRESENTER CHROME, index, speaker notes, help. Not part of the PDF export.
   ========================================================================== */
.index{position:fixed;inset:0;background:rgba(10,10,10,.97);display:none;
  z-index:180;padding:56px 70px;overflow-y:auto}
.index.show{display:block}
.index h2{font-family:var(--f-display);font-weight:300;font-size:28px;
  color:var(--cream);letter-spacing:-.7px;margin-bottom:26px}
.ix-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ix{display:flex;gap:11px;padding:9px 12px;border-radius:9px;cursor:pointer;
  transition:background var(--motion-fast);align-items:baseline}
.ix:hover{background:rgba(243,236,224,.09)}
.ix .n{font-family:var(--f-display);font-size:11.5px;color:var(--gold);
  min-width:20px;font-weight:500}
.ix .t{font-size:12.5px;color:rgba(243,236,224,.78);line-height:1.35}

.notes{position:fixed;bottom:0;left:0;right:0;max-height:42vh;
  background:var(--jet-3);color:var(--cream);padding:22px 48px;
  transform:translateY(110%);transition:transform var(--motion-mid);z-index:95;
  border-top:2px solid var(--gold);overflow-y:auto}
.notes.show{transform:translateY(0)}
.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}
.notes-label{font-size:10px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold)}
.notes-hint{font-size:10px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;color:var(--on-dark-40)}
.notes-body{font-size:13.5px;line-height:1.6;color:var(--on-dark-85)}
.notes-body p{margin-bottom:9px}
.notes-body p:last-child{margin-bottom:0}
.notes-body strong{color:var(--gold-soft);font-weight:500}

.help{position:fixed;inset:0;background:rgba(10,10,10,.94);display:none;
  align-items:center;justify-content:center;z-index:200;color:var(--cream)}
.help.show{display:flex}
.help-content{max-width:500px;padding:48px}
.help h2{font-family:var(--f-display);font-weight:300;font-size:30px;
  letter-spacing:-.8px;margin-bottom:28px}
.help-row{display:flex;justify-content:space-between;align-items:center;
  padding:13px 0;border-bottom:1px solid rgba(243,236,224,.1)}
.help-row .key{font-family:var(--f-display);font-weight:500;font-size:13px;
  color:var(--cream);background:rgba(243,236,224,.1);padding:4px 12px;
  border-radius:6px;min-width:84px;text-align:center}
.help-row .desc{font-size:13px;color:rgba(243,236,224,.7)}

/* ==========================================================================
   RESPONSIVE
   These are SCREEN rules. They must never reach the print stylesheet: see the
   width-media-query warning in document.css and PRINT-ENGINEERING.md.
   ========================================================================== */

/* Short viewports (1280x720 screen share, 13" laptops). Tighten vertical
   rhythm only, so the wide layouts are untouched. */
@media (max-height:800px){
  .slide{padding:42px 64px}
  .note{padding:14px 20px;margin-top:16px}
  .scope-col{padding:20px 24px}
  .scope-col li{padding:5.5px 0 5.5px 20px;font-size:12.5px}
  .scope-col h4{margin-bottom:12px}
  .rung-head{padding:10px 20px}
  .ladder{gap:6px;margin-top:16px}
  .rung .ttl{font-size:17px}
  .rung-body{font-size:12.5px;line-height:1.55;padding-bottom:15px}
  .lead{margin-bottom:0}
  h1.title-lg,h1.title-xl{margin-bottom:12px}
  .eyebrow{margin-bottom:12px}
  .ladder+.note{font-size:12.5px;padding:11px 18px;margin-top:10px}
  .cover{gap:26px;padding:20px 0}
  .brand-logo{width:88px;height:88px}
}

/* Narrow viewports. Collapse multi-column grids. */
@media (max-width:1180px){
  .slide{padding:44px}
  .pf-grid,.lc,.cards.four{grid-template-columns:repeat(2,1fr)}
  .cards,.conds,.stats-row,.stats-row.four{grid-template-columns:repeat(2,1fr);gap:20px}
  .agenda-grid,.nlist,.src-grid,.scope{grid-template-columns:1fr}
  .scope-col.out{border-left:none;border-top:1px solid var(--line)}
  .lc::before,.tl::before{display:none}
  .tl{grid-template-columns:repeat(2,1fr);gap:22px}
  .ix-grid{grid-template-columns:repeat(2,1fr)}
  .rung-head{grid-template-columns:1fr;gap:8px}
  .rung .price{text-align:left}
  .rung-body{padding-left:20px}
}
