/* Reading and navigation refinements shared by every atlas page. */
.ad-guide h1, .ad-guide h2, .ad-guide h3 { text-wrap: balance; overflow-wrap: break-word; }
.ad-guide .ad-section-heading { max-width: 800px; }
.ad-guide .ad-section-heading h2 { line-height: 1.18; }
.ad-guide .ad-section > .container > p,
.ad-guide .ad-subsection > p, .ad-guide .ad-editorial > p,
.ad-guide .page-hero-intro { max-width: 72ch; }
.ad-guide .ad-section > .container > p + p { margin-top: 18px; }
.ad-guide .ad-section > .container > .ad-three { margin-block: 30px; }
.ad-guide .nav-links a, .ad-guide .nav-links summary { font-size: 14px; padding-inline: 11px; }
.ad-guide .brand small { font-size: 12px; }
.ad-guide .mobile-menu > summary { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.ad-guide .mobile-nav a { font-size: 16px; min-height: 44px; color: var(--ink); }
.ad-guide .mobile-nav p { font-size: 12px; }
.ad-guide .mobile-nav { overscroll-behavior: contain; }
.ad-guide a:focus-visible, .ad-guide summary:focus-visible, .ad-guide [tabindex]:focus-visible {
  outline: 3px solid var(--navy); outline-offset: 4px; box-shadow: 0 0 0 4px #fff;
}
.ad-guide .atlas-jump { gap: 8px 24px; }
.ad-guide .atlas-jump a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.5; }
.ad-guide .ad-read-link { padding-block: 9px; }
.ad-guide .ad-table-wrap { border: 1px solid var(--line); scrollbar-color: var(--ink) var(--paper); }
.ad-guide .ad-table caption { padding: 14px 18px 0; }
.ad-guide .ad-table-wrap:focus-visible { outline-offset: 2px; }
.ad-guide .footer-grid > *, .ad-guide .footer-bottom > * { min-width: 0; }
.ad-guide .footer-grid a { padding-block: 5px; }
.ad-guide .footer-bottom { gap: 16px 32px; line-height: 1.65; }
.ad-guide .ad-source-list li { scroll-margin-top: 145px; }
@media (max-width: 760px) {
  .ad-guide .ad-section { padding-block: 48px; }
  .ad-guide .ad-section-heading { margin-bottom: 28px; }
  .ad-guide .ad-section-heading h2 { font-size: clamp(1.75rem, 5vw, 2.25rem); }
  .ad-guide .atlas-jump { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; padding-top: 18px; }
  .ad-guide .atlas-jump a { padding-block: 10px; border-bottom: 1px solid rgba(255,255,255,.22); }
  .ad-guide .ad-section .atlas-jump a { border-color: var(--line); }
  .ad-guide .ad-three, .ad-guide .ad-reading-grid { gap: 28px; }
  .ad-guide .ad-subsection { margin-top: 32px; padding-top: 26px; }
  .ad-guide .site-nav { padding-inline: 20px; gap: 12px; }
  .ad-guide .mobile-nav { padding-inline: 22px; }
  .ad-guide .footer-bottom { flex-direction: column; align-items: flex-start; }
}
@media print {
  .ad-guide .ad-table-wrap { border: 0; }
}

/* 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 .kicker, 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; }
}

:root { --muted: #526477; }
body.ad-guide .kicker, body.ad-guide .ad-index, body.ad-guide .ad-label { color: #98430f; }
body.ad-guide .kicker-light, body.ad-guide .ad-dark .kicker,
body.ad-guide .hero-shell .kicker, body.ad-guide .page-hero .kicker,
body.ad-guide .subtype-hero .kicker { color: #ef7835; }
body.ad-guide .button-primary, body.ad-guide .nav-links .nav-cta { color: #0a1628 !important; background: #ef7835; }
body.ad-guide .hero-lede, body.ad-guide .page-hero-intro,
body.ad-guide .subtype-intro, body.ad-guide .ad-hero-meta,
body.ad-guide .ad-dark p { color: #cbd3df; }
body.ad-guide .ad-table td, body.ad-guide .ad-table th { font-size: 17px; }

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; }
