/* Shared refinement of the current site. Brand orange values are unchanged. */
a { text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--ink); outline-offset: 4px;
  box-shadow: 0 0 0 4px #fff;
}
h1, h2, h3 { text-wrap: balance; overflow-wrap: break-word; }
section[id], main[id], main [id] { scroll-margin-top: 88px; }
.nav-hamburger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.nav-links a { font-size: 14px; }
.nav-brand-tagline { font-size: 12px; }
.btn { min-height: 48px; line-height: 1.45; }
.wrap > p, .wrap--narrow > p, .section-note { max-width: 72ch; }
.card p, .card li, .pattern p, .status-card li, .ownership-col li,
.ownership-col > p, .commercial-card p, .commercial-card li,
.example-boundary, .result-card p, .stack-step p { font-size: 16px; line-height: 1.7; }
.footer-brand-desc, .footer-links a { font-size: 14px; color: #cbd3df; }
.footer-brand-tag, .footer-col-title, .footer-copy, .footer-disclaimer { font-size: 13px; color: #b5c1d0; }
.footer-links a { display: inline-block; padding-block: 5px; }
.footer-links a:hover { text-decoration: underline; }
.footer-grid > *, .evidence-layout > *, .commercial-grid > *, .ownership > * { min-width: 0; }
@media (min-width: 1151px) {
  .has-dropdown:focus-within .nav-dropdown { display: block; }
  .nav-links a { padding-inline: 11px; }
}
@media (max-width: 1150px) {
  .nav-links.open { max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior: contain; }
  .nav-links a { min-height: 44px; font-size: 16px; }
}
@media (max-width: 720px) {
  .wrap, .wrap--narrow { padding-inline: 22px; }
  .sec { padding-block: 52px; }
  .status-card, .ownership-col, .commercial-card, .pattern { padding: 24px; }
  .hero-actions { gap: 12px; }
  .hero-actions > .btn, .cta-actions > .btn { width: 100%; justify-content: center; text-align: center; }
  input, select, textarea { font-size: 16px; }
  .footer-grid { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Approved shared typography and color standard, 6 September 2026. */
body { font-family: Inter, system-ui, sans-serif; font-size: 17px; line-height: 1.7; }
body h1 { font-size: 56px !important; font-weight: 800 !important; line-height: 1.12 !important; }
body h2 { font-size: 40px !important; font-weight: 700 !important; line-height: 1.2 !important; }
body h3 { font-size: 22px !important; font-weight: 700 !important; line-height: 1.35 !important; }
body h4 { font-size: 19px !important; font-weight: 700 !important; line-height: 1.4 !important; }
body main p, body main li, body main dd { font-size: 17px !important; line-height: 1.7; }
body .hero-sub, body .hero-lede, body .page-hero-intro, body .subtype-intro,
body .lead, body .sec-head > p, body .ad-lede { font-size: 19px !important; line-height: 1.7 !important; }
body .nav-links a, body .nav-links summary { font-size: 14px !important; }
body .card-label, body .result-name, body .step-num,
body .pattern-num, body .tm, body .role, body .label,
body .ad-label, body .ad-index { font-size: 14px !important; font-weight: 700; }
body .footer-links a, body .footer-grid a, body .footer-brand-desc,
body .footer-boundary, body .footer-bottom, body .footer-copy,
body .footer-disclaimer, body .footer-col-title, body .footer-heading,
body .footer-brand-tag, body .ad-ref, body .ad-source-note,
body .source-note, body .ev-cite { font-size: 14px !important; line-height: 1.7; }
body .footer-brand-desc, body .footer-boundary, body .footer-bottom,
body .footer-copy, body .footer-disclaimer, body .footer-links a,
body .footer-grid a, body .footer-col-title, body .footer-heading,
body .footer-brand-tag { color: #cbd3df !important; }
@media (max-width: 760px) {
  body h1 { font-size: 36px !important; }
  body h2 { font-size: 28px !important; }
  body .hero-sub, body .hero-lede, body .page-hero-intro, body .subtype-intro,
  body .lead, body .sec-head > p, body .ad-lede { font-size: 18px !important; }
  body .nav-links a, body .mobile-nav a { font-size: 16px !important; }
}
html body .kicker { font-size: 14px !important; font-weight: 700; }
body .cred-eyebrow { font-size: 14px !important; font-weight: 700; }

:root { --muted: #526477; --orange-text: #98430f; }
body .kicker, body .card-label, body .result-name, body .step-num,
body .pattern-num, body .tm, body .role, body .label { color: #98430f !important; }
body #hero .kicker, body .hero-kicker, body .sec--dark .kicker,
body #cta .kicker, body #manifesto-band .kicker, body .mb-inner .kicker,
body .atlas-intro-heading .kicker { color: #ef7835 !important; }
body .btn-primary, body .nav-links .nav-cta { background: #ef7835 !important; color: #0a1628 !important; }
body .card p, body .card li, body .pattern p, body .status-card li,
body .ownership-col li, body .ownership-col > p, body .commercial-card p,
body .commercial-card li, body .example-boundary, body .result-card p,
body .stack-step p, body .stack-card p, body .frame-cell p,
body .stack-example-card p { font-size: 17px; line-height: 1.7; }
body .hero-sub, body .hero-foundation, body .sec--dark p,
body .commercial-card p, body .commercial-card li, body .cta-sub,
body .cta-inner > p, body .mb-body { color: #cbd3df; }

body .nav-links a, body .nav-links summary, body .mobile-nav a { color: #2d3f52; }
body .nav-links a[aria-current="page"], body .nav-links a.active { color: #0a1628; font-weight: 700; }
body .btn, body .button { font-size: 14px; }
