.cost-legend { display:flex; flex-wrap:wrap; gap:10px 22px; margin:22px 0 0; padding:0; list-style:none; font:12px/1.5 var(--sans); color:var(--ink-soft); }
.cost-legend li { display:flex; gap:7px; align-items:center; }
.cost-legend li::before { content:''; inline-size:11px; block-size:11px; border-radius:2px; background:var(--ink-mute); flex-shrink:0; }
.cost-legend [data-cost-group="repeat"]::before { background:var(--f-side); }
.cost-legend [data-cost-group="adjustment"]::before { background:var(--ink-soft); }
.cost-legend [data-cost-group="refund"]::before { background:var(--w-side); }
.cost-repeat-callout { display:flex; gap:20px; align-items:center; padding:18px 22px; border-inline-start:4px solid var(--f-side); background:var(--f-soft); border-radius:0 8px 8px 0; margin:14px 0; }
.cost-repeat-callout > strong { font:800 clamp(22px,3vw,30px)/1.2 var(--sans); color:var(--f-deep); white-space:nowrap; }
.cost-repeat-callout h4 { font:750 16px/1.35 var(--sans); margin:0 0 4px; }
.cost-repeat-callout p { font:13px/1.5 var(--sans); color:var(--ink-soft); margin:0; }
.cost-headline-pair { display:grid; grid-template-columns:1.15fr 1fr; gap:26px; margin-block:28px; }
.cost-headline-pair > * { margin:0; padding:26px; border-radius:10px; }
.cost-headline-pair .cost-repeat-callout { display:block; background:var(--f-soft); border-inline-start:4px solid var(--f-side); }
.cost-headline-pair > article { background:var(--w-soft); border-inline-start:4px solid var(--w-side); }
.cost-headline-pair strong { display:block; font:800 clamp(32px,4.5vw,58px)/1.1 var(--sans); color:var(--w-deep); }
.cost-headline-pair .cost-repeat-callout strong { color:var(--f-deep); }
.cost-headline-pair h3,.cost-headline-pair h4 { font:700 20px/1.4 var(--sans); margin:12px 0; }
.cost-headline-pair p,.cost-readthrough { font:14px/1.6 var(--sans); color:var(--ink-soft); }
.cost-headline-pair p { margin:0; }
.cost-readthrough { max-width:84ch; margin-block:0 24px; }
.wage-comparison { margin-block-start:32px; padding-block-start:24px; border-top:1px solid var(--rule); scroll-margin-block-start:120px; }
.wage-comparison .sec-title { font-size:clamp(23px,3vw,30px); margin-bottom:18px; }
.wage-comparison .research-budget { margin:0; padding:22px; gap:30px; }
.wage-comparison .research-budget blockquote { font-size:clamp(20px,2.2vw,25px); }
.quote-reading { display:grid; gap:8px; border-top:1px solid var(--rule); padding-top:12px; margin:0; }
.quote-reading > div { display:grid; grid-template-columns:85px 1fr; gap:10px; font:12px/1.5 var(--sans); }
.quote-reading dt { font-weight:750; color:var(--f-deep); }
.quote-reading dd { margin:0; color:var(--ink-soft); }
.quote-takeaway { border-top:1px solid var(--rule); padding-top:12px; font:700 14px/1.5 var(--sans); margin:0; }
#executive-summary #voices { padding:20px 24px; margin-block-start:20px; scroll-margin-block-start:120px; }
.research-action-grid .action-owner { border-top:1px solid var(--rule); padding-top:14px; margin-top:18px; font:12px/1.5 var(--sans); }
.action-owner > span { display:block; color:var(--ink-mute); margin-bottom:5px; }
.action-owner strong { color:var(--w-deep); }
.evidence-role { padding:24px; margin-top:24px; border-inline-start:4px solid var(--w-side); background:var(--w-soft); }
.evidence-role h3 { font:750 22px/1.4 var(--sans); margin:0 0 12px; }
.evidence-role p { font:15px/1.6 var(--sans); margin:8px 0; max-width:95ch; }
.evidence-role a,.supporting-link a,.support-hero a { display:inline-block; margin-top:10px; color:var(--w-deep); font:700 14px/1.5 var(--sans); text-underline-offset:4px; }
.supporting-link { display:grid; grid-template-columns:1fr auto; column-gap:24px; margin-top:20px; padding:20px 0; border-block:1px solid var(--rule); font:15px/1.5 var(--sans); }
.supporting-link strong { font-size:18px; }
.supporting-link p { margin:6px 0 0; color:var(--ink-soft); grid-column:1; }
.supporting-link a { grid-row:1 / span 2; grid-column:2; align-self:center; margin:0; }
.support-hero { padding-block:140px 40px; }
.report-support .research-examples-content { padding:0; }
.report-support .report-nav-inner > a { font:700 14px/1.4 var(--sans); color:var(--w-deep); }
.report-support .report-nav button { background:var(--card); color:var(--ink); border:1px solid var(--rule); border-radius:6px; padding:8px 14px; }
/* Issue tree: root -> side -> theme -> issue. Connectors are CSS, so they survive
   print, JS-off and RTL without a layout pass, and every branch stays traceable. */
/* The root rule and the side stubs must meet: --tree-drop + --tree-row is the whole
   distance from root to side head, and --tree-stem is where the rule sits within it. */
#issue-tree { position:relative; --tree-row:26px; --tree-drop:30px; --tree-stem:15px;
  gap:var(--tree-row) 46px; margin-block:30px 6px; align-items:start; scroll-margin-block-start:120px; }
#issue-tree::before { display:none; }
#issue-tree .issue-tree-root { grid-column:1 / -1; margin:0 0 var(--tree-drop); }
#issue-tree .issue-tree-root strong { font-size:17px; padding:13px 24px; }
#issue-tree .issue-tree-root::after { display:block; block-size:var(--tree-stem); }
#issue-tree .issue-tree-root::before { content:''; position:absolute; inset-inline:25%; inset-block-start:calc(100% + var(--tree-stem)); border-top:2px solid var(--rule); }
#issue-tree .research-concerns::before { display:block;
  inset-block-start:calc(var(--tree-stem) - var(--tree-drop) - var(--tree-row));
  block-size:calc(var(--tree-drop) + var(--tree-row) - var(--tree-stem)); }
#issue-tree .research-concerns h3 { margin:0; }
#issue-tree .issue-side-total { margin:6px 0 0; text-align:center; font:12px/1.4 var(--sans); color:var(--ink-mute); }
#issue-tree .issue-branches { margin-block-start:16px; display:grid; gap:16px; }
#issue-tree .issue-theme { position:relative; margin:0; padding:0; border:0; background:none; }
#issue-tree .issue-theme::before { content:''; position:absolute; inset-inline-start:-20px; inset-block-start:18px; inline-size:18px; border-top:2px solid var(--w-side); }
#issue-tree .family .issue-theme::before { border-top-color:var(--f-side); }
#issue-tree .issue-theme-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:8px 13px; border-radius:7px; background:var(--w-soft); }
#issue-tree .family .issue-theme-head { background:var(--f-soft); }
#issue-tree .issue-theme-head h4 { margin:0; font:750 15px/1.3 var(--sans); color:var(--w-deep); }
#issue-tree .family .issue-theme-head h4 { color:var(--f-deep); }
#issue-tree .issue-theme-head strong { font:700 16px var(--mono); color:var(--w-deep); }
#issue-tree .family .issue-theme-head strong { color:var(--f-deep); }
#issue-tree .issue-theme-stage { display:inline-block; margin:6px 0 0 13px; margin-inline:13px 0; font:600 11px/1.4 var(--sans); color:var(--ink-mute); text-underline-offset:3px; }
#issue-tree .issue-theme[data-connected] .issue-theme-head { box-shadow:inset 0 0 0 2px var(--w-side); }
#issue-tree .family .issue-theme[data-connected] .issue-theme-head { box-shadow:inset 0 0 0 2px var(--f-side); }
#issue-tree .issue-leaves { list-style:none; margin:10px 0 0; padding:0; padding-inline-start:18px; margin-inline-start:20px; border-inline-start:2px solid var(--rule); display:grid; gap:8px; }
#issue-tree .issue-leaf,#issue-tree .issue-leaf:first-child,#issue-tree .issue-leaf:last-child { position:relative; margin:0; padding:9px 12px; border:1px solid var(--rule); border-radius:7px; background:var(--card); min-width:0; }
#issue-tree .issue-leaf::before { content:''; position:absolute; inset-inline-start:-20px; inset-block-start:17px; inline-size:18px; border-top:2px solid var(--rule); }
#issue-tree .issue-leaf > div { gap:12px; }
#issue-tree .issue-leaf h4 { font:750 14px/1.35 var(--sans); color:var(--w-deep); }
#issue-tree .family .issue-leaf h4 { color:var(--f-deep); }
#issue-tree .issue-leaf strong { font:700 15px var(--mono); color:var(--w-deep); }
#issue-tree .family .issue-leaf strong { color:var(--f-deep); }
#issue-tree .issue-leaf p { font:12px/1.45 var(--sans); margin:5px 0 0; }
/* The count is also a length, so 31 and 1 stop looking alike. Scale is shared across both sides. */
#issue-tree .issue-bar { display:block; block-size:4px; margin-block-start:7px; border-radius:3px; background:var(--rule); overflow:hidden; }
#issue-tree .issue-bar i { display:block; block-size:100%; inline-size:var(--w); border-radius:3px; background:var(--w-side); }
#issue-tree .family .issue-bar i { background:var(--f-side); }
#issue-tree .issue-leaf[data-connected] { border-color:var(--w-side); background:var(--w-soft); }
#issue-tree .family .issue-leaf[data-connected] { border-color:var(--f-side); background:var(--f-soft); }
#issue-tree .issue-leaf[data-connected]::before { border-top-color:var(--w-side); }
#issue-tree .family .issue-leaf[data-connected]::before { border-top-color:var(--f-side); }
@media(max-width:860px) {
  /* One column, but the tree keeps its spine and its root link: the base stylesheet
     hides these three pseudo-elements below 760px, so re-assert them here. */
  #issue-tree { grid-template-columns:minmax(0,1fr); --tree-row:30px; --tree-drop:0px; --tree-stem:0px; }
  #issue-tree .issue-tree-root { margin-bottom:0; text-align:start; }
  #issue-tree .issue-tree-root::before { display:none; }
  #issue-tree .issue-tree-root::after { display:block; inset-inline-start:22px; block-size:var(--tree-row); }
  #issue-tree .research-concerns:first-of-type::before { display:none; }
  #issue-tree .research-concerns + .research-concerns::before { display:block; inset-inline-start:22px;
    inset-block-start:calc(-1 * var(--tree-row)); block-size:var(--tree-row); }
  #issue-tree .research-concerns h3 { inline-size:max-content; margin-inline-start:0; }
  #issue-tree .issue-side-total { text-align:start; }
  #issue-tree .issue-leaf h4 { font-size:15px; }
  #issue-tree .issue-leaf p { font-size:13px; }
}
@media(max-width:760px) {
  .cost-headline-pair { grid-template-columns:1fr; gap:14px; }
  .cost-headline-pair > * { padding:20px; }
  .supporting-link { display:block; }
  .supporting-link a { margin-top:12px; }
  .quote-reading > div { grid-template-columns:78px 1fr; }
  .report-support .report-nav-links { overflow-x:auto; }
}
#voices { padding-block:30px 12px; }
#voices .sec-title { font-size:clamp(24px,3vw,32px); }
.research-spotlight { padding:20px 24px; margin:0; border-radius:8px; }
.research-spotlight blockquote { margin-block:12px; font-size:clamp(21px,2.5vw,27px); max-width:72ch; }
.research-spotlight .research-eyebrow { margin:0; }
.quote-journey-link { display:inline-block; font:700 13px/1.5 var(--sans); margin-top:14px; color:var(--w-deep); text-underline-offset:4px; }
.journey-route { position:relative; padding-inline-start:64px; }
.journey-return-line { position:absolute; inset:0; inline-size:100%; block-size:100%; pointer-events:none; overflow:visible; }
.hiring-journey::before { content:''; position:absolute; inset-inline-start:-22px; inset-block:19px 30px; border-inline-start:2px solid var(--rule); }
.journey-stage { grid-template-columns:minmax(140px,.8fr) minmax(0,1.8fr) minmax(140px,1fr); padding:16px 18px; border:0; border-bottom:1px solid var(--rule); border-radius:0; background:transparent; gap:18px; margin-bottom:16px; scroll-margin-block-start:120px; }
.journey-stage:not(:last-child)::after { display:none; }
.journey-number { position:absolute; inset-inline-start:-37px; inset-block-start:16px; display:grid; place-items:center; inline-size:32px; block-size:32px; border:1px solid var(--rule); border-radius:50%; background:var(--paper); margin:0; z-index:1; }
.journey-stage-heading { position:static; padding:0; }
.journey-stage h3 { font-size:17px; }
.journey-stage p { font-size:13px; }
.journey-stage-impact { padding-inline-start:14px; }
.journey-stage-impact strong { font-size:19px; }
.journey-stage.journey-key { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:26px; row-gap:12px; padding:22px; border:1px solid var(--f-side); border-radius:10px; background:var(--f-soft); }
.journey-key .journey-number { background:var(--f-side); color:var(--card); border-color:var(--f-side); font-size:13px; }
.journey-key .journey-stage-heading,.journey-key .journey-stage-issues,.journey-key .journey-stage-impact { grid-column:1; }
.journey-key .journey-stage-impact { border-inline-start:0; border-top:1px solid var(--rule); padding:12px 0 0; }
.journey-key h3 { font-size:22px; }
.journey-stage .journey-quote { grid-column:2; grid-row:1 / span 3; border:0; border-inline-start:1px solid var(--rule); border-radius:0; padding:0; padding-inline-start:24px; margin:0; background:transparent; align-self:center; }
.journey-quote h4 { font:700 12px/1.4 var(--sans); text-transform:uppercase; letter-spacing:.045em; color:var(--ink-soft); margin:0 0 12px; }
.journey-quote blockquote { font:clamp(20px,2.2vw,25px)/1.4 var(--serif); margin:0 0 12px; }
.journey-quote mark { background:transparent; color:var(--ink); box-shadow:inset 0 -.28em var(--warning-soft); font-weight:650; }
.journey-stage .research-attribution { font:11px/1.5 var(--sans); margin-bottom:12px; color:var(--ink-mute); }
.journey-stage .research-quote-meaning { font:13px/1.5 var(--sans); border-top:1px solid var(--rule); padding-top:12px; }
[data-journey-stage="replace"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
[data-journey-stage="replace"] .journey-stage-heading,[data-journey-stage="replace"] .journey-stage-issues,[data-journey-stage="replace"] .journey-stage-impact { grid-column:1; }
[data-journey-stage="replace"] .journey-stage-impact { border:0; padding:0; }
.journey-return-note { display:flex; align-items:center; gap:16px; padding:18px 22px; background:var(--f-soft); border:1px solid var(--f-side); border-radius:9px; margin-inline-start:64px; }
.journey-return-note > span { color:var(--f-deep); font:36px var(--sans); }
.journey-return-note strong { font:750 16px/1.35 var(--sans); }
.journey-return-note p { margin:4px 0 0; font:13px/1.5 var(--sans); color:var(--ink-soft); }
.journey-return-note a { margin-inline-start:auto; font:700 12px/1.5 var(--sans); color:var(--f-deep); text-underline-offset:3px; }
.issue-connections { margin-top:22px; }
.issue-connections > p:first-child { font:16px/1.4 var(--sans); margin:0 0 12px; }
.issue-connection-controls { display:none; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.issue-connections[data-ready] .issue-connection-controls { display:flex; }
.issue-connection-controls button { padding:9px 17px; border-radius:30px; background:var(--card); color:var(--ink); border:1px solid var(--rule); font:700 13px/1.4 var(--sans); cursor:pointer; }
.issue-connection-controls button[aria-pressed="true"] { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.issue-connection-controls button:hover { border-color:var(--ink); }
.issue-connection-controls button:focus-visible,.journey-return-note a:focus-visible,.quote-journey-link:focus-visible { outline:3px solid var(--warning); outline-offset:4px; }
.issue-connection-panel { border:1px solid var(--rule); border-radius:10px; overflow:hidden; }
.issue-connection-panel h3 { text-align:center; font:750 18px/1.4 var(--sans); margin:0; padding:14px 20px; background:var(--paper-deep); }
.issue-connection-effects { display:grid; grid-template-columns:1fr 1fr; }
.issue-connection-effects p { display:flex; flex-direction:column; gap:4px; padding:16px 20px; margin:0; font:14px/1.5 var(--sans); background:var(--w-soft); }
.issue-connection-effects strong { font-size:11px; color:var(--w-deep); text-transform:uppercase; letter-spacing:.05em; }
.issue-connection-effects .family-effect { background:var(--f-soft); }
.issue-connection-effects .family-effect strong { color:var(--f-deep); }
.issue-connections .issue-connection-note { font:12px/1.5 var(--sans); margin:10px 0 0; color:var(--ink-mute); }
#fair .btn-ghost { color:var(--ink); background:var(--card); border-color:var(--ink-soft); }
#fair .btn-ghost:hover { background:var(--paper-deep); }
[dir="rtl"] .cost-repeat-callout { border-radius:8px 0 0 8px; }
[dir="rtl"] .journey-return-note > span { transform:scaleX(-1); }
.hero { padding-block:0; }
.hero-inner { padding-block:34px 30px; }
.hero .edition-switch { margin-bottom:18px; }
.hero .eyebrow { margin-bottom:16px; }
.hero .thesis { margin-top:20px; }
.market-scale { margin:0 0 26px; }
.market-scale > h2 { font:750 13px/1.4 var(--sans); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-mute); margin:0 0 14px; }
.market-scale-grid { display:grid; grid-template-columns:1fr; }
.market-scale .market-platform { display:grid; grid-template-columns:1.3fr 1fr; gap:0 30px; }
.market-platform .market-scope { grid-column:1 / -1; }
.market-scale article { border:1px solid var(--rule); border-radius:12px; padding:24px; background:var(--card); }
.market-scale .market-scope { font:700 12px/1.45 var(--sans); color:var(--ink-soft); margin:0 0 20px; }
.market-platform-volume > strong { display:block; font:800 clamp(38px,5.7vw,65px)/1 var(--sans); letter-spacing:-.04em; color:var(--w-deep); }
.market-scale h3 { font:650 17px/1.4 var(--sans); margin:8px 0 0; }
.market-outside { display:flex; align-items:center; gap:18px; padding-inline-start:28px; border-inline-start:1px solid var(--rule); }
.market-outside > strong { font:800 36px/1 var(--sans); color:var(--f-deep); white-space:nowrap; }
.market-outside h3 { font-size:14px; margin:0; }
.market-outside p { font:13px/1.5 var(--sans); margin:4px 0 0; color:var(--ink-soft); }
.market-social-numbers { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.market-social-numbers strong { display:block; font:800 clamp(30px,3.8vw,42px)/1.1 var(--sans); color:var(--ink); letter-spacing:-.04em; white-space:nowrap; }
.market-social-numbers h3 { font-size:15px; }
.market-social-basis { font:13px/1.5 var(--sans); color:var(--ink-soft); margin:24px 0 0; border-top:1px solid var(--rule); padding-top:16px; }
.search-supply { display:grid; grid-template-columns:1fr 1.2fr; gap:24px; margin:24px 0; }
.search-supply article { padding:4px 0; }
.search-supply article + article { padding-inline-start:24px; border-inline-start:1px solid var(--rule); }
.search-supply .market-scope { margin:0 0 16px; font:650 12px/1.4 var(--sans); color:var(--ink-soft); }
.search-supply h3 { font:650 15px/1.4 var(--sans); margin:8px 0 0; }
.search-profiles > strong { display:block; font:800 clamp(38px,4.4vw,50px)/1.1 var(--sans); color:var(--w-deep); letter-spacing:-.035em; }
.search-supply .market-social-basis { margin-top:16px; padding-top:12px; }
.household-hiring-path ol { grid-template-columns:1.5fr 1.2fr .55fr; gap:26px; }
.household-hiring-path { scroll-margin-block-start:110px; }
.household-hiring-path strong { font-size:clamp(32px,4.6vw,54px); }
.hiring-outcomes { margin-top:30px; padding-top:24px; border-top:2px solid var(--rule); scroll-margin-block-start:120px; }
.hiring-outcomes > h2 { font:800 clamp(25px,3vw,34px)/1.25 var(--sans); margin:12px 0; }
.outcome-intro { font:14px/1.5 var(--sans); color:var(--ink-soft); margin:0 0 20px; }
.hiring-outcome-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.hiring-outcome-grid article { padding:22px; border:1px solid var(--rule); border-radius:10px; background:var(--f-soft); }
.hiring-outcome-grid .retained-outcome { background:var(--paper-deep); }
.hiring-outcome-grid .outcome-scope { font:750 12px/1.4 var(--sans); text-transform:uppercase; letter-spacing:.06em; margin:0 0 12px; }
.hiring-outcome-grid strong { display:block; font:800 clamp(42px,5.2vw,62px)/1 var(--sans); color:var(--f-deep); }
.hiring-outcome-grid h3 { font:750 20px/1.3 var(--sans); margin:12px 0 8px; }
.hiring-outcome-grid p { font:13px/1.5 var(--sans); margin:0; color:var(--ink-soft); }
.outcome-bar { block-size:7px; background:var(--rule); margin-top:18px; border-radius:7px; overflow:hidden; }
.outcome-bar span { display:block; inline-size:25%; block-size:100%; background:var(--f-side); }
.retained-outcome .outcome-bar span { inline-size:20%; background:var(--ink-soft); }
.hiring-repeat { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; align-items:center; margin:20px 0; padding:20px 22px; border:1px solid var(--f-side); border-radius:10px; }
.repeat-round { display:flex; gap:16px; align-items:center; }
.repeat-symbol { font:50px/1 var(--sans); color:var(--f-deep); }
[dir="rtl"] .repeat-symbol { transform:scaleX(-1); }
.hiring-repeat h3 { font:750 18px/1.4 var(--sans); margin:0 0 8px; }
.hiring-repeat p { font:13px/1.5 var(--sans); color:var(--ink-soft); margin:6px 0; }
.hiring-repeat a { display:inline-block; font:700 13px/1.4 var(--sans); color:var(--f-deep); margin-top:8px; text-underline-offset:3px; }
.placement-result { border-inline-start:1px solid var(--rule); padding-inline-start:24px; }
.placement-result strong { display:block; font:800 48px/1 var(--sans); color:var(--f-deep); margin-bottom:8px; }
.placement-result h3 { font-size:16px; }
.hiring-outcomes .household-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 18px; }
.household-metrics .household-metric { border-top:0; }
.household-metrics .household-metric:not(:first-child) { border-inline-start:1px solid var(--rule); }
.household-metrics .household-metric:first-child { border-inline-start:0; }
.outcome-cost-bridge { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:20px; margin:24px 0 0; border-top:1px solid var(--rule); font:650 15px/1.5 var(--sans); }
.outcome-cost-bridge > span { flex:1 1 400px; }
.outcome-cost-bridge a { color:var(--f-deep); text-underline-offset:3px; }
.repeat-round a:focus-visible,.outcome-cost-bridge a:focus-visible { outline:3px solid var(--warning); outline-offset:4px; }
@media(max-width:900px) {
  .journey-stage { grid-template-columns:1fr 1.6fr; }
  .journey-stage-impact { grid-column:2; padding:0; border:0; }
  .journey-stage-heading { grid-row:1 / span 2; }
  .journey-key .journey-stage-heading,[data-journey-stage="replace"] .journey-stage-heading { grid-row:auto; }
}
@media(max-width:720px) {
  .market-scale .market-platform { grid-template-columns:1fr; gap:18px; }
  .market-platform .market-scope { margin-bottom:0; }
  .market-scale article { padding:20px; }
  .market-outside { padding:16px 0 0; border-inline-start:0; border-top:1px solid var(--rule); }
  .market-platform-volume > strong { font-size:48px; }
  #executive-summary { padding:20px; }
  .search-supply { grid-template-columns:1fr; gap:18px; }
  .search-supply article + article { padding:18px 0 0; border-inline-start:0; border-top:1px solid var(--rule); }
  .market-social-numbers strong { font-size:36px; }
  .market-social-numbers { gap:14px; }
  .market-social-numbers h3 { font-size:14px; }
  .household-hiring-path { padding:16px; }
  .household-hiring-path ol { gap:20px; }
  .household-hiring-path strong { font-size:clamp(21px,5.5vw,32px); }
  .hiring-outcome-grid { grid-template-columns:1fr; gap:14px; }
  .hiring-outcome-grid article { padding:20px; }
  .hiring-repeat { grid-template-columns:1fr; gap:18px; padding:20px; }
  .placement-result { padding:18px 0 0; border-inline-start:0; border-top:1px solid var(--rule); }
  .hiring-outcomes .household-metrics { grid-template-columns:1fr; }
  .household-metrics .household-metric { padding:16px 0; border-inline-start:0; }
  .household-metrics .household-metric:not(:first-child) { border-inline-start:0; border-top:1px solid var(--rule); }
  .cost-legend { gap:8px 16px; font-size:11px; }
  .cost-repeat-callout { flex-wrap:wrap; gap:10px; padding:16px; }
  .cost-repeat-callout > div { flex:1 1 220px; }
  .journey-route { padding-inline-start:38px; }
  .hiring-journey::before { inset-inline-start:-13px; }
  .journey-stage,.journey-stage.journey-key,[data-journey-stage="replace"] { grid-template-columns:minmax(0,1fr); padding:15px; gap:12px; }
  .journey-number { inset-inline-start:-26px; inline-size:25px; block-size:25px; font-size:10px; }
  .journey-key .journey-number { font-size:10px; }
  .journey-stage-heading,.journey-stage-impact { grid-row:auto; grid-column:1; }
  .journey-stage h3,.journey-key h3 { font-size:19px; }
  .journey-stage .journey-quote { grid-column:1; grid-row:auto; padding:14px 0 0; border-inline-start:0; border-top:1px solid var(--rule); }
  .journey-quote blockquote { font-size:21px; }
  .journey-return-note { margin-inline-start:38px; padding:14px; flex-wrap:wrap; gap:10px; }
  .journey-return-note > div { flex:1; }
  .journey-return-note a { margin-inline-start:0; }
  .issue-connection-effects { grid-template-columns:1fr; }
  .issue-connection-controls { gap:6px; }
  .issue-connection-controls button { padding:10px 13px; }
  .issue-connection-panel h3 { text-align:start; font-size:17px; }
  .issue-connection-effects p { padding:12px 16px; }
}
@media print {
  .market-scale { break-inside:avoid; }
  .search-supply,.hiring-outcome-grid { grid-template-columns:1fr 1fr; }
  .hiring-outcome-grid,.hiring-repeat { break-inside:avoid; }
  .journey-return-line { display:none; }
  .journey-route { padding-inline-start:35px; }
  .journey-stage { break-inside:avoid; }
  .issue-connections .issue-connection-controls { display:none; }
  .issue-connection-panel[hidden] { display:block; margin-bottom:10px; }
  #issue-tree .issue-theme,#issue-tree .issue-leaf { break-inside:avoid; }
  /* Every panel prints, so no single theme may look selected. */
  #issue-tree .issue-theme[data-connected] .issue-theme-head,
  #issue-tree .family .issue-theme[data-connected] .issue-theme-head { box-shadow:none; }
  #issue-tree .issue-leaf[data-connected],
  #issue-tree .family .issue-leaf[data-connected] { border-color:var(--rule); background:var(--card); }
  #issue-tree .issue-leaf[data-connected]::before,
  #issue-tree .family .issue-leaf[data-connected]::before { border-top-color:var(--rule); }
}

/* Figure 1 legend lives in HTML so it mirrors with the document direction. */
.fig-legend { display:flex; flex-wrap:wrap; gap:8px 26px; list-style:none; padding:0; margin:12px 0 0; }
.fig-legend li { display:flex; align-items:center; gap:8px; font:12px/1.4 var(--sans); color:var(--ink-soft); }
.fig-swatch { inline-size:14px; block-size:14px; border-radius:3px; flex:none; }
.fig-swatch.cash { background:var(--f-side); }
.fig-swatch.hours { background:repeating-linear-gradient(45deg, var(--f-soft) 0 3px, var(--f-side) 3px 6px); border:1px solid var(--f-side); }
.fig-swatch.credit { background:var(--paper); border:1.5px dashed var(--ink-mute); }
