/* Shared site component roles. Palette and font values come from brand-foundations.css. */
:root{color-scheme:light;--ground:var(--paper);--ink:var(--black);--muted:var(--slate);--control-line:var(--gray);--silver:var(--gray);--link:var(--blue);--orange-ink:var(--orange-fill);--orange-soft:var(--orange-tint);--on-orange:#fff;--on-blue:#fff;--grain:#0072CE;--grain-secondary:#5F6570;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--reading-width:720px}

body{background:var(--ground);color:var(--ink)}
.brand{color:var(--black)}
.top{flex-wrap:wrap}.top nav{margin-left:auto}
.desk-heading p,.desk-foot span:last-child{color:var(--line)}
.piece h3{color:var(--black)}
.hero h1{color:var(--link)}
.intro>a,.piece-foot a,.footer a,.connect-direct a{color:var(--link)}
.paper,.file{background:var(--paper)}
.file[aria-pressed=true]{background:var(--paper);color:var(--ink);border-left:8px solid var(--orange);border-bottom-color:var(--orange);box-shadow:inset 0 0 0 2px var(--paper)}
.file[aria-pressed=true] svg{color:var(--ink)}
.file .title{line-height:1.35}.file .format{font-size:13px;line-height:1.5}
.working-drawing{background:var(--soft)}.team-row{border-color:var(--line)}
.drawing-label .highlight{color:var(--link)}
.records,.arr-conclusion{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--orange);font-size:13px;line-height:1.5}
.records .evidence-mark{stroke:var(--ink)}
.outcome,.arr-tree .root{color:var(--on-blue)}
.branch b,.value-chain div{background:var(--paper)}
.value-chain div:last-child{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--orange)}
.desk .file:not([aria-pressed=true]){border-color:var(--line)}
.skip{background:var(--paper);color:var(--ink)}
.motion-toggle{background:var(--ground);color:var(--muted)}
body #gtm-engine-preview .stage-controls button[aria-pressed=true]{background:var(--paper);color:var(--ink);border:2px solid var(--orange);box-shadow:inset 0 0 0 2px var(--paper);text-decoration:underline;text-underline-offset:5px}
.essay-preview .figure-cell.accent{background:var(--orange-soft)}
.essay-preview .figure-cell.accent :is(b,strong,p,li){color:var(--ink)}
.essay-preview .sandwich-layer.end{background:var(--orange-soft)}
.essay-preview .sandwich-layer.end :is(strong,span){color:var(--ink)}
body :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
body .desk :is(a,button):focus-visible{outline:3px solid var(--on-blue);outline-offset:4px}
body .desk .paper :is(a,button):focus-visible{outline-color:var(--blue)}
body :is(.control-bar,.tool-preview) :is(input,select),body .ideas-page .ideas-search input,body .ideas-page .ideas-filters button{border-color:var(--control-line)}
body .ideas-page .ideas-filters button[aria-pressed=true]{border-color:var(--blue)}
@media(max-width:500px){.file .title{font-size:13px}.file .format{font-size:13px}.records,.arr-conclusion{font-size:13px}}
body :is(.tool-preview,.ideas-page,.essay-preview,.about-page) :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:4px}

/* Shared type, frame, controls and spacing across every public-facing preview page. */
body{font-family:var(--body);font-synthesis:none;font-size:18px;line-height:1.667}
body .wrap{max-width:1440px;padding-inline:48px}
body .top{gap:24px;padding:24px 0;flex-wrap:wrap}
body .brand{font-size:24px;font-weight:600;letter-spacing:-.04em}
body .top nav{gap:24px;font-size:16px;font-weight:600}
body .top a{min-height:44px}
body :is(h1,h2,h3,h4){font-family:var(--display)}
body :is(strong,b){font-weight:600}
body .hero h1{font-size:clamp(64px,7.4vw,104px);line-height:.96;letter-spacing:-.025em}
body .page-hero h1{font-size:clamp(48px,5.6vw,72px);line-height:1.05}
body :is(.article-body,.prose){max-width:var(--reading-width)}
body .article-layout{grid-template-columns:minmax(0,var(--reading-width)) minmax(190px,1fr);gap:64px}
body .essay-preview .article-body :is(p,li){font-size:18px;line-height:30px}
body .prose p{font-size:18px;line-height:30px}
body .tool-preview .tool-section{margin-block:64px}
body .tool-preview .tool-grid{gap:24px}
body .tool-preview .tool-card{padding:24px}
body :is(.piece-foot small,.paper-head span:last-child,.working-drawing p,.team-row,.team-row b,.drawing-label,.file .format,.person span,.site-footer,.about-map-format){font-size:13px;line-height:1.5}
body .motion-toggle{min-height:44px;font:600 14px/20px var(--body);padding:10px 12px}
body .hero{padding-bottom:64px}
body :is(.site-footer,.footer) a{min-height:44px;display:inline-flex;align-items:center}
body :is(button,input,select){font-family:var(--body)}
body button{font-weight:600}
body button:not(.file):not(.motion-toggle){min-height:44px}
body a:active{color:var(--navy)}
body .file .title{font-weight:600}
body .file[aria-pressed=true]:hover,body #gtm-engine-preview .stage-controls button[aria-pressed=true]:hover{background:var(--paper)}
body .table-wrap{overflow:auto;max-width:100%}
body :is(.metric-value,.num){font-variant-numeric:tabular-nums}
@media(max-width:1100px){body .wrap{padding-inline:24px}body .article-layout{gap:32px}}
@media(max-width:760px){body .wrap{padding-inline:20px}body .top{padding-block:16px}body .brand{font-size:22px}body .top nav{gap:20px}body .hero h1{font-size:64px;line-height:1}body .page-hero h1{font-size:48px;line-height:1.08}body .article-layout{grid-template-columns:minmax(0,1fr);gap:24px}body .essay-preview .article-body :is(p,li),body .prose p{font-size:17px;line-height:28px}body .tool-preview .tool-section{margin-block:48px}body .tool-preview .tool-card{padding:20px}body .work-surface{gap:24px}}
@media(max-width:420px){body .hero h1{font-size:56px}body .page-hero h1{font-size:40px}body .top nav{gap:18px}body .top{gap:8px}body .hero{padding-bottom:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{body{font-size:12pt}body .wrap{max-width:none;padding:0}body .desk{background:white!important;padding:0;color:black}body .desk-heading{color:black}body .files,body .motion-toggle,body #brand-motion{display:none}body .work-surface{display:block}body .paper{box-shadow:none;border:1px solid #8A8D8F}body .table-wrap{overflow:visible}body .article-layout{display:block}body .article-body{max-width:none}body .tool-preview .tool-card{break-inside:avoid}body .hero{padding:24px 0}body .hero h1{font-size:44pt}}
/* On tinted surfaces, use a deeper link to maintain normal-text contrast. */
body :is(.callout,.tool-note,.control-bar,.working-drawing,.essay-figure) a{color:var(--navy)}
body :is(.tool-note,.control-bar,.working-drawing) :is(.tool-label,.highlight){color:var(--navy)}
body .desk-heading p,body .desk-foot span:last-child{color:white}
@media print{body :is(.desk,.gtm-map,.outcome,.arr-tree .root,.records,.arr-conclusion,.value-chain div:last-child){background:white!important;color:black!important}body .tool-preview details{break-inside:auto}body .tool-preview summary{break-after:avoid}body .tool-preview details p{color:black}body :is(.stage-controls,.ideas-controls,.control-bar){display:none}}
body #arr-from-the-ground-up-preview .source-list strong,body #arr-readiness-ladder-preview .ladder-choice:has(input:checked) strong,body .ideas-page .ideas-filters button[aria-pressed=true]{color:var(--navy)}

/* Color audit 0.8: contrast follows the adjacent surface, not palette rank. */
body .tool-preview .tool-note a{color:var(--navy)}
body #arr-readiness-ladder-preview .readiness-progress button:focus-visible{outline-color:var(--on-blue)}

/* Approved white-card direction, October 5, 2026. Selection has a text cue as well as an orange edge. */
.file .selection-label{display:block;font-size:13px;line-height:1.4;font-weight:600;margin-top:8px;visibility:hidden}
.file[aria-pressed=true] .selection-label{visibility:visible}
body .desk .file:focus-visible{outline:3px solid var(--paper);outline-offset:6px}
body #gtm-engine-preview .stage-controls button:focus-visible{outline-color:var(--paper)}
@media(max-width:760px){body .file[aria-pressed=true]{border-left:0;border-bottom:6px solid var(--orange)}.file .selection-label{font-size:13px}}

/* Personal views disclosure belongs to the site, including printed pages. */
body .footer{flex-wrap:wrap}
body :is(.footer,.site-footer) .personal-disclosure{flex-basis:100%;max-width:80ch;margin:0;font-size:14px;line-height:1.6;color:var(--slate)}
