/* ============================================================
   AMW DEMO — shared artifact stylesheet
   Design system: Vercel/Geist (sibling of the new index.html).
   Monochrome ink-on-near-white, Geist Sans/Mono, flat hairline
   cards, a single deep-blue accent (#0761d1) used sparingly.

   One stylesheet restyles every Brightline briefing artifact.
   It is keyed on the union of class names used across all the
   demo-native pages so each page renders consistently after its
   own legacy <style> block has been removed.
   ============================================================ */

:root{
  --ink:#171717; --body:#4d4d4d; --mute:#8f8f8f; --faint:#a1a1a1;
  --hairline:#ebebeb; --hairline-soft:#f2f2f2;
  --canvas:#fafafa; --surface:#ffffff;
  --accent:#0761d1; --accent-link:#0070f3; --accent-soft:#d3e5ff; --accent-wash:#f4f8fe;
  --sans:'Geist','Inter',Arial,sans-serif;
  --mono:'Geist Mono','JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --maxw:1080px;
  --r-sm:6px; --r-md:12px; --r-lg:16px; --r-pill:100px;

  /* ---- Semantic finance colors -------------------------------
     Monochrome stays the default for neutral data. These carry
     financial meaning only: muted green = gain/positive,
     muted red = loss/negative, blue accent = highlighted/chosen.
     Tuned to read clearly on the #fafafa/#ffffff surfaces and
     to read as "up/down", never as a bright alarm. Bright error
     red (#ee0000) is reserved for true validation states. */
  --pos:#1f7a4d; --neg:#c0392b;
  --pos-wash:#f3faf6; --neg-wash:#fdf5f4;      /* faint column/row tints (mirror --accent-wash) */
  --pos-deep:#e6f4ec; --neg-deep:#fbe9e6;      /* deeper tints for total/subtotal rows */
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--canvas); color:var(--body);
  font-family:var(--sans); font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* Containers used across the set (.container, .wrap) */
.container,.wrap{ max-width:var(--maxw); margin:0 auto; padding:56px 48px 96px; }

/* ---------- Typography ---------- */
h1,h2,h3,h4{ color:var(--ink); font-weight:600; letter-spacing:-0.02em; line-height:1.15; }
h1,.masthead h1,h1.title{
  font-family:var(--sans); font-weight:600;
  font-size:clamp(30px,4.4vw,44px); letter-spacing:-0.035em; line-height:1.06;
  margin:0 0 12px;
}
.masthead h1 em,h1 em{ font-style:normal; color:var(--accent); font-weight:600; }
h2,.panel h2,h2.section,.panel-header h2{
  font-family:var(--sans); font-weight:600;
  font-size:clamp(24px,3vw,30px); letter-spacing:-0.025em; line-height:1.15;
  margin:0 0 10px;
}
h3,.panel h3,h3.subsection{
  font-family:var(--sans); font-weight:600; font-size:19px;
  letter-spacing:-0.015em; line-height:1.3; margin:34px 0 12px; color:var(--ink);
}
h3 .num{ font-family:var(--mono); font-size:12px; color:var(--accent); margin-right:10px; font-weight:500; }
p{ margin:0 0 14px; color:var(--body); }
p.lead,.lead{ font-size:clamp(16px,1.7vw,17px); color:var(--body); }
strong{ color:var(--ink); font-weight:600; }
em.flag{ font-style:normal; color:var(--accent); font-weight:600; }
.prose{ max-width:780px; }
.prose p{ font-size:15px; line-height:1.7; }

/* Eyebrow / mono labels */
.eyebrow,.section-eyebrow,.kicker,.panel-sub,.callout-eyebrow,.rec-eyebrow,
.modal-eyebrow,.lever-rank,.dive-num,.dive-label,.obs-num,.scenario-label,
.option-head,.metric-label,.stat-label,.dive-cta,.thread-cta{
  font-family:var(--mono); text-transform:uppercase; letter-spacing:0.14em;
  font-size:11px; font-weight:500; color:var(--mute);
}
.section-eyebrow,.kicker{ color:var(--accent); letter-spacing:0.12em; margin-bottom:10px; }
.eyebrow .accent{ color:var(--accent); }

/* ---------- Masthead ---------- */
.masthead{
  border-bottom:1px solid var(--hairline);
  padding-bottom:26px; margin-bottom:30px;
}
.masthead .eyebrow{ margin-bottom:14px; }
.deck,.subtitle,.panel-lede,.lede,.section-lede,.panel-header .deck{
  font-family:var(--sans); font-style:normal; font-weight:400;
  font-size:clamp(16px,1.7vw,18px); color:var(--body); line-height:1.5;
  max-width:760px; margin:0;
}
.panel-lede,.lede,.section-lede{ margin:0 0 32px; }
.section-lede{ margin:18px 0 34px; }
.masthead-meta,.meta,.meta-line,.masthead-right{
  font-family:var(--mono); font-size:11px; color:var(--mute);
  letter-spacing:0.05em; line-height:1.7; margin-top:18px;
}
.masthead-right,.masthead-meta{ margin-top:0; }
.masthead-meta strong,.masthead-right strong{ color:var(--ink); font-weight:500; }
.meta-line{ display:flex; gap:24px; flex-wrap:wrap; }
.masthead-meta span,.meta span{ margin-right:0; }

/* masthead variants that were flex split */
.masthead{ }
.masthead-left{ flex:1 1 auto; }

/* ---------- Tabs ---------- */
.tabs{
  display:flex; flex-wrap:wrap; gap:0;
  border-bottom:1px solid var(--hairline);
  margin-bottom:38px;
  position:sticky; top:0; z-index:10;
  background:var(--canvas); padding-top:6px;
  overflow-x:auto;
}
.tab{
  background:none; border:none; cursor:pointer;
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--mute);
  padding:14px 18px; margin:0; border-bottom:2px solid transparent;
  margin-bottom:-1px; white-space:nowrap;
  transition:color .15s, border-color .15s;
}
.tab:first-child{ padding-left:0; }
.tab:hover{ color:var(--ink); }
.tab.active{ color:var(--ink); border-bottom-color:var(--accent); }
.tab .num,.tab-num{ font-family:var(--mono); font-size:11px; color:var(--mute); margin-right:8px; font-weight:500; }
.tab.active .num,.tab.active .tab-num{ color:var(--accent); }

/* ---------- Panels ---------- */
.panel{ display:none; }
.panel.active{ display:block; animation:amwfade .25s ease-out; }
@keyframes amwfade{ from{ opacity:0; transform:translateY(4px);} to{ opacity:1; transform:none; } }
.panel-header{ margin-bottom:26px; }

/* ---------- Metric / stat / headline cards ---------- */
.metric-row,.metric-strip,.metrics,.stat-grid,.stat-row,.headline-stack{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:24px 0 34px;
}
.headline-stack{ grid-template-columns:repeat(3,1fr); gap:24px; }
.metric-row{ grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }

.metric,.stat,.headline{
  background:var(--surface); border:1px solid var(--hairline);
  border-radius:var(--r-md); padding:18px 20px;
  display:flex; flex-direction:column;
}
.headline{ border:none; border-top:2px solid var(--ink); border-radius:0; padding:16px 0 0; background:none; }
.stat-row{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:6px; gap:0; }
.stat-row .stat{ border:none; border-radius:0; padding:18px 20px; border-right:1px solid var(--hairline); background:none; }
.stat-row .stat:last-child{ border-right:none; }
.metric-strip{ gap:0; border:1px solid var(--hairline); border-radius:var(--r-md); background:var(--surface); overflow:hidden; }
.metric-strip .metric{ border:none; border-right:1px solid var(--hairline); border-radius:0; }
.metric-strip .metric:last-child{ border-right:none; }
.metrics{ gap:0; border:1px solid var(--hairline); border-radius:var(--r-md); overflow:hidden; background:var(--surface); }
.metrics .metric{ border:none; border-right:1px solid var(--hairline); border-radius:0; }
.metrics .metric:last-child{ border-right:none; }
/* file 06 metric uses a left accent bar */
.metric[class*="warning"],.metric[class*="positive"],.metric[class*="negative"]{ }

.metric-label,.stat-label,.metric .label,.headline .label{
  font-family:var(--mono); font-size:10px; letter-spacing:0.13em; text-transform:uppercase;
  color:var(--mute); margin-bottom:8px;
}
.metric-value,.stat-value,.metric .value,.headline .value{
  font-family:var(--sans); font-size:26px; font-weight:600; letter-spacing:-0.02em;
  line-height:1.1; color:var(--ink);
}
.metric-detail,.metric-sub,.stat-sub,.metric .sub,.headline .sub,.metric-note{
  font-family:var(--mono); font-size:11px; color:var(--mute); margin-top:6px;
}
.metric-note{ font-family:var(--sans); }
/* semantic value colors: green = gain, red = loss, blue = highlighted */
.metric-detail.pos,.stat-sub.good,.metric .value.pos,.stat-value.pos,.headline .value.pos{ color:var(--pos); }
.metric-detail.neg,.stat-sub.bad,.metric .value.neg,.stat-value.neg,.headline .value.neg{ color:var(--neg); }
.metric .value.amb{ color:var(--accent); }
/* metric cards explicitly flagged positive/negative get a quiet semantic edge */
.metric.positive{ border-left:3px solid var(--pos); }
.metric.negative{ border-left:3px solid var(--neg); }

/* ---------- Tables ---------- */
table{ width:100%; border-collapse:collapse; margin:14px 0 8px; font-size:14px; }
th{
  text-align:left; font-family:var(--mono); font-size:10px; font-weight:500;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--mute);
  border-bottom:1.5px solid var(--ink); padding:10px 12px 8px;
}
th.num,td.num{ text-align:right; font-family:var(--mono); font-variant-numeric:tabular-nums; }
td{ padding:10px 12px; border-bottom:1px solid var(--hairline); color:var(--body); vertical-align:top; }
td:first-child,th:first-child{ }
td.client,td.label,td.label-cell{ color:var(--ink); font-weight:500; }
td.muted,td.dim,.dim{ color:var(--mute); font-size:12px; }
tr:last-child td{ }
td.neg,td.pos,table .neg,table .pos,td .neg,td .pos{ font-variant-numeric:tabular-nums; }
.neg,td.neg,table .neg,td .neg,td.negative{ color:var(--neg); }
.pos,td.pos,table .pos,td .pos,td.positive{ color:var(--pos); }
.delta-pos{ color:var(--pos); }
.delta-neg{ color:var(--neg); }
.num-strong{ font-weight:600; }

/* emphasised / total rows */
tr.total td,tr.totals td,tr.bottom-line td,tr.subtotal td{
  font-weight:600; color:var(--ink);
  border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink);
  background:var(--hairline-soft);
}
tr.totals td{ background:var(--hairline-soft); }
tr.subtotal td{ border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
tr.highlight-row td,tr.emphasis td{ background:var(--accent-wash); color:var(--ink); }
tr.indent td:first-child{ padding-left:26px; color:var(--body); font-size:13px; }
tr.margin-row td{ font-style:italic; color:var(--mute); font-size:12px; border-bottom:1px solid var(--hairline); }
tr.margin-row td:first-child{ padding-left:26px; }
tr.section-header td{
  font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--mute); background:var(--hairline-soft);
  border-bottom:1px solid var(--hairline);
}

/* P&L tables (file 01/02) */
table.pl,table.pl-table,.pl-table{ font-family:var(--mono); font-size:13px; }
.pl-wrapper{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:24px 28px; margin:22px 0 16px; overflow-x:auto; }
table.pl thead tr.header-1 th,table.pl thead tr.header-2 th{
  font-family:var(--sans); text-align:right; color:var(--mute);
}
table.pl thead tr.header-1 th:first-child,table.pl thead tr.header-2 th:first-child{ text-align:left; }
table.pl thead tr.header-2 th{ border-bottom:1.5px solid var(--ink); color:var(--ink); }
th.actuals-group{ color:var(--ink); }
th.scenario-group{ color:var(--accent); }
table.pl tbody td,.pl-table tbody td{ text-align:right; font-family:var(--mono); }
table.pl tbody td:first-child,.pl-table tbody td:first-child{ text-align:left; font-family:var(--sans); }
/* scenario column tints: base = blue (chosen), upside = faint green, downside = faint red */
.col-base{ background:var(--accent-wash) !important; }
.col-up{ background:var(--pos-wash) !important; }
.col-down{ background:var(--neg-wash) !important; }
tr.subtotal .col-base,tr.bottom-line .col-base{ background:#e8f1fc !important; }
tr.subtotal .col-up,tr.bottom-line .col-up{ background:var(--pos-deep) !important; }
tr.subtotal .col-down,tr.bottom-line .col-down{ background:var(--neg-deep) !important; }

/* data table (file 03) */
table.data thead th{ border-bottom:1.5px solid var(--ink); white-space:nowrap; }
table.data tbody td{ font-family:var(--mono); font-size:13px; }
table.data tbody td:first-child{ font-family:var(--sans); font-weight:500; color:var(--ink); }
table.data tbody tr:hover{ background:var(--hairline-soft); }
.pill{
  display:inline-block; padding:2px 9px; border-radius:var(--r-pill);
  font-family:var(--mono); font-size:11px; font-weight:500;
  background:var(--hairline-soft); color:var(--ink); border:1px solid var(--hairline);
}
.pill.pos{ color:var(--pos); border-color:#cfe6da; background:var(--pos-wash); }
.pill.neg{ color:var(--neg); border-color:#eccfca; background:var(--neg-wash); }
.pill.amb{ color:var(--accent); border-color:var(--accent-soft); background:var(--accent-wash); }

/* client table (file 02) */
.client-table td,.client-table th{ font-family:var(--mono); font-size:12.5px; }
.client-table td:first-child{ font-family:var(--sans); }

/* scenario rows (file 04/06): upside green, downside red, base blue */
tr.scenario-positive td,.scenario-up{ color:var(--pos); }
tr.scenario-negative td,.scenario-down{ color:var(--neg); }
tr.scenario-base td,.scenario-base{ color:var(--accent); }
tr.scenario-strong td{ background:var(--accent-wash); }

/* ---------- Source / caption lines ---------- */
.source,.source-line,.source-cite,.table-cap,.caption,.footnote,.colophon,.footer{
  font-family:var(--mono); font-size:10.5px; color:var(--mute);
  letter-spacing:0.04em; line-height:1.6;
}
.source,.source-line,.source-cite,.table-cap{ margin:8px 0 26px; }
.caption{ font-family:var(--sans); font-size:13px; font-style:italic; color:var(--mute); max-width:820px; margin:8px 0 26px; }
.caption strong{ color:var(--ink); font-weight:500; }
.footnote{ font-family:var(--sans); font-style:italic; font-size:12px; max-width:760px; margin-top:18px; padding-top:16px; border-top:1px solid var(--hairline); }
.colophon,.footer{ margin-top:60px; padding-top:22px; border-top:1px solid var(--hairline); text-transform:uppercase; }
.footer{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; text-transform:none; }

/* ---------- Callouts ---------- */
.callout{
  border-left:3px solid var(--ink);
  background:var(--hairline-soft);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:18px 22px; margin:24px 0; max-width:840px;
}
.callout .callout-label,.callout .label,.callout-eyebrow{
  font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink); margin-bottom:6px; font-weight:500;
}
.callout p{ margin-bottom:0; font-size:14.5px; color:var(--body); }
.callout p+p{ margin-top:8px; }
.callout-headline{ font-family:var(--sans); font-size:18px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); margin-bottom:8px; line-height:1.35; }
/* variants: recommendation = blue (chosen); positive = green; negative/warning = red.
   Blue is kept exclusively for the recommended/highlighted callout. */
.callout.recommendation{ border-left-color:var(--accent); background:var(--accent-wash); }
.callout.recommendation .callout-eyebrow,.callout.recommendation .label{ color:var(--accent); }
.callout.pos,.callout.positive{ border-left-color:var(--pos); background:var(--pos-wash); }
.callout.pos .label,.callout.positive .label{ color:var(--pos); }
.callout.neg,.callout.negative,.callout.warning{ border-left-color:var(--neg); background:var(--neg-wash); }
.callout.neg .label,.callout.negative .label,.callout.warning .callout-eyebrow{ color:var(--neg); }

/* observation blocks (file 02) */
.obs-grid{ display:grid; grid-template-columns:1fr; gap:20px; margin:12px 0 24px; }
.obs{ border-left:3px solid var(--hairline); padding:4px 0 4px 22px; }
.obs.positive{ border-left-color:var(--pos); }
.obs.negative{ border-left-color:var(--neg); }
.obs.neutral{ border-left-color:var(--ink); }
.obs h4{ font-family:var(--sans); font-weight:600; font-size:19px; letter-spacing:-0.015em; margin:0 0 8px; }
.obs p{ margin:0 0 8px; color:var(--body); font-size:14px; }
.obs-fig{ font-family:var(--mono); font-size:12px; color:var(--ink); background:var(--accent-wash); padding:2px 6px; border-radius:var(--r-sm); }

/* pullquote (file 05) */
.pull{ border-left:2px solid var(--accent); padding:8px 0 8px 22px; margin:24px 0; font-family:var(--sans); font-style:italic; font-size:17px; color:var(--ink); max-width:720px; line-height:1.5; }

/* ---------- Charts: SVG helper classes (file 03) ---------- */
.chart-block,.chart-wrap{ margin:22px 0 26px; }
.chart-wrap{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:22px 24px 18px; }
.chart-block.boxed{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:28px; }
.chart-title{ font-family:var(--sans); font-size:16px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); margin:0 0 4px; }
.chart-sub,.chart-subtitle{ font-family:var(--mono); font-size:11px; color:var(--mute); margin-bottom:14px; }
.chart-caption{ font-family:var(--sans); font-style:italic; font-size:13.5px; color:var(--mute); margin:10px 0 4px; max-width:680px; line-height:1.45; }
.chart-canvas{ position:relative; width:100%; height:280px; }
svg.chart,svg{ max-width:100%; height:auto; display:block; }
.bar-label{ font-family:var(--sans); font-size:12px; fill:var(--ink); }
.bar-value{ font-family:var(--mono); font-size:11px; fill:var(--ink); }
.bar-value.muted{ fill:var(--mute); }
.axis{ font-family:var(--mono); font-size:10px; fill:var(--mute); }
.grid-line{ stroke:var(--hairline); stroke-width:1; stroke-dasharray:2 3; }

/* ---------- CSS bar charts (var-viz file02, bar-chart file04, traj file06) ---------- */
.var-viz,.bar-chart{ margin:8px 0 24px; }
.var-row{ display:grid; grid-template-columns:200px 1fr 90px; align-items:center; gap:16px; padding:8px 0; border-bottom:1px solid var(--hairline); }
.var-label{ font-size:13px; color:var(--ink); }
.var-bar-track{ position:relative; height:22px; background:var(--hairline-soft); border-radius:var(--r-sm); }
.var-bar-center{ position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--ink); }
.var-bar-fill{ position:absolute; top:2px; bottom:2px; background:var(--ink); border-radius:2px; }
.var-bar-fill.pos{ background:var(--pos); }
.var-bar-fill.neg{ background:var(--neg); }
.var-amt{ font-family:var(--mono); font-size:12.5px; text-align:right; font-weight:600; }
.var-amt.pos{ color:var(--pos); }
.var-amt.neg{ color:var(--neg); }

.bar-row{ display:grid; grid-template-columns:240px 1fr 110px; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--hairline); font-size:13px; }
.bar-row:last-child{ border-bottom:none; }
.bar-row .lbl{ font-weight:500; color:var(--ink); }
.bar-row .bar-track{ height:22px; background:var(--hairline-soft); position:relative; border-radius:var(--r-sm); }
.bar-row .bar-track::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:1.5px; background:var(--ink); transform:translateX(-50%); z-index:2; }
.bar-row .bar-fill{ position:absolute; top:0; height:100%; background:var(--ink); border-radius:2px; }
.bar-row .bar-fill.pos{ left:50%; background:var(--pos); }
.bar-row .bar-fill.neg{ background:var(--neg); }
.bar-row .val{ font-family:var(--mono); font-size:13px; text-align:right; color:var(--ink); }
.bar-row .val.neg{ color:var(--neg); }
.bar-row .val.pos{ color:var(--pos); }

/* trajectory bars (file 06) */
.traj-bar{ display:flex; align-items:center; gap:16px; padding:14px 18px; background:var(--surface); border:1px solid var(--hairline); border-left:3px solid var(--ink); border-radius:0 var(--r-sm) var(--r-sm) 0; margin-bottom:10px; }
.traj-bar-name{ width:90px; font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink); }
.traj-bar-bar{ flex:1; height:22px; background:var(--hairline-soft); position:relative; border:1px solid var(--hairline); border-radius:var(--r-sm); overflow:hidden; }
.traj-bar-fill{ height:100%; background:var(--ink); }
.traj-bar.up .traj-bar-fill{ background:var(--pos); }
.traj-bar.down .traj-bar-fill{ background:var(--neg); }
.traj-bar.base .traj-bar-fill{ background:var(--accent); }
.traj-bar.base{ border-left-color:var(--accent); }
.traj-bar.up{ border-left-color:var(--pos); }
.traj-bar.down{ border-left-color:var(--neg); }
.traj-bar-label{ width:110px; text-align:right; font-family:var(--mono); font-size:12px; color:var(--ink); }

/* ---------- Scenario cards (file 01) ---------- */
.scenario-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0; }
.scenario-card{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:22px; }
.scenario-card.down{ border-top:3px solid var(--neg); }
.scenario-card.base{ border-top:3px solid var(--accent); }
.scenario-card.up{ border-top:3px solid var(--pos); }
.scenario-label{ font-family:var(--mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--mute); margin-bottom:8px; }
.scenario-title{ font-family:var(--sans); font-weight:600; font-size:19px; letter-spacing:-0.015em; margin-bottom:12px; color:var(--ink); }
.scenario-desc{ font-size:13.5px; color:var(--body); margin-bottom:16px; line-height:1.45; }
.scenario-metric{ display:flex; justify-content:space-between; padding:6px 0; border-top:1px solid var(--hairline); font-family:var(--mono); font-size:12.5px; }
.scenario-metric .label{ color:var(--mute); }
.scenario-metric .value{ color:var(--ink); font-weight:500; }

/* ---------- Recommendation / options (file 04/05) ---------- */
.recommendation,.rec-block{
  background:var(--ink); color:var(--surface);
  padding:32px 36px; border-radius:var(--r-md); margin:28px 0;
}
.recommendation .rec-label,.rec-block .rec-eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--accent-soft); margin-bottom:14px;
}
.recommendation .rec-headline,.rec-block .rec-headline{
  font-family:var(--sans); font-size:clamp(22px,2.6vw,26px); font-weight:600; line-height:1.25;
  letter-spacing:-0.02em; margin-bottom:16px; color:var(--surface);
}
.rec-block .rec-headline .accent,.rec-headline .accent{ color:#7db1ef; }
.recommendation p,.rec-block .rec-body,.rec-block p{ color:#d4d4d4; font-size:14.5px; max-width:680px; line-height:1.6; }
.recommendation strong{ color:var(--surface); font-weight:600; }

.options-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:22px 0 14px; }
.option-card{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md); padding:20px 22px; }
.option-card.preferred{ border-color:var(--accent); border-width:1.5px; background:var(--accent-wash); }
.option-head{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--mute); margin-bottom:8px; }
.option-card.preferred .option-head{ color:var(--accent); }
.option-name{ font-family:var(--sans); font-weight:600; font-size:19px; letter-spacing:-0.015em; margin-bottom:10px; line-height:1.2; color:var(--ink); }
.option-meta{ font-family:var(--mono); font-size:12px; color:var(--body); margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--hairline); }
.option-meta div{ margin-bottom:3px; }
.option-body{ font-size:13.5px; color:var(--body); line-height:1.5; }

/* ---------- Dive / thread / lever cards ---------- */
.dive-grid,.dives{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:18px; }
.dive-card,.thread,.lever{
  background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r-md);
  padding:22px 24px; transition:border-color .15s, transform .15s, background .15s;
  cursor:pointer; text-align:left; font-family:inherit; width:100%;
}
.dive-card:hover,.thread:hover,.lever:hover{ border-color:var(--ink); transform:translateY(-1px); }
.dive-num,.dive-label,.lever-rank{ color:var(--accent); margin-bottom:8px; display:block; }
.dive-card h4,.dive-title,.thread-question,.lever-title{
  font-family:var(--sans); font-weight:600; font-size:17px; letter-spacing:-0.015em;
  line-height:1.3; color:var(--ink); margin:0 0 8px;
}
.lever-title{ font-size:21px; }
.dive-card p,.dive-body,.thread-why,.lever p,.option-body{ font-size:13.5px; color:var(--body); line-height:1.55; margin:0 0 14px; }
.lever p:last-child,.dive-card p:last-child{ margin-bottom:0; }
.dive-cta,.thread-cta,.arrow{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--accent); margin-top:0;
}
.arrow{ display:inline-block; margin-top:12px; }
.thread-cta{ margin-top:14px; display:block; }
.dive-cta::after{ content:" →"; }
.thread:hover .thread-cta,.dive-card:hover .dive-cta{ color:var(--ink); }
.lever-impact{
  display:inline-block; font-family:var(--mono); font-size:11px;
  background:var(--ink); color:var(--surface); padding:4px 10px; margin-left:12px;
  letter-spacing:0.04em; vertical-align:3px; border-radius:var(--r-sm);
}
.lever-grid{ display:grid; grid-template-columns:1fr; gap:18px; margin:12px 0 8px; }
.threads-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

/* dive-prompt: legacy inline prompt link/button -> consistent blue CTA */
.dive-prompt{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:0.02em;
  color:var(--accent); cursor:pointer; background:none; border:none;
  padding:12px 0 0; margin-top:4px; border-top:1px solid var(--hairline);
  line-height:1.45; text-align:left; transition:color .15s;
}
.dive-card .dive-prompt{ width:100%; }
.dive-prompt:hover{ color:var(--accent-link); }

/* ---------- Two-column prose ---------- */
.two-col,.twocol{ display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:24px 0; }

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .container,.wrap{ padding:40px 28px 64px; }
  .metric-row,.metric-strip,.metrics,.stat-grid,.stat-row{ grid-template-columns:repeat(2,1fr); }
  .stat-row .stat:nth-child(2n){ border-right:none; }
  .metric-strip .metric:nth-child(2n),.metrics .metric:nth-child(2n){ border-right:none; }
  .scenario-grid,.options-grid,.headline-stack{ grid-template-columns:1fr; }
  .dive-grid,.dives,.threads-grid,.two-col,.twocol{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .container,.wrap{ padding:32px 20px 56px; }
  .metric-row,.metric-strip,.metrics,.stat-grid,.stat-row{ grid-template-columns:1fr; }
  .stat-row .stat{ border-right:none; border-bottom:1px solid var(--hairline); }
  .metric-strip .metric,.metrics .metric{ border-right:none; border-bottom:1px solid var(--hairline); }
  .var-row,.bar-row{ grid-template-columns:1fr; gap:6px; }
  .var-bar-track,.bar-row .bar-track{ display:none; }
  .traj-bar{ flex-wrap:wrap; }
  .footer{ flex-direction:column; gap:8px; }
}

/* ============================================================
   Standalone AMW header — injected into every briefing.
   Hidden by default; a small inline script in each briefing
   reveals it based on viewing context:
     • top-level window      -> .show (full header + back link)
     • iframe + ?lightbox=1  -> .show.minimal (wordmark only)
     • iframe (in the shell) -> stays hidden (shell owns the chrome)
   ============================================================ */
.amw-brief-header{ display:none; background:var(--surface);
  border-bottom:1px solid var(--hairline); }
.amw-brief-header.show{ display:block; }
.amw-brief-header.sticky{ position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.86);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px); }
.amw-brief-header__inner{ max-width:var(--maxw); margin:0 auto; padding:16px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; }
.amw-brief-header__mark{ font-family:var(--sans); font-weight:600; font-size:16px;
  color:var(--ink); letter-spacing:-0.02em; text-decoration:none; white-space:nowrap; }
.amw-brief-header__back{ font-family:var(--sans); font-size:13.5px; color:var(--body);
  text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .15s; }
.amw-brief-header__back:hover{ color:var(--ink); }
@media (max-width:600px){ .amw-brief-header__inner{ padding:14px 22px; } }
