/* SRO 6.7.9 — Accessibility & Readability Foundation
   Target: WCAG 2.2 AA engineering baseline. Manual conformance review remains required. */
:root{
  --a11y-focus:#b86b00;
  --a11y-focus-gap:#fffdf8;
  --a11y-muted:#5f625d;
  --a11y-warm-text:#74572d;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px}
body{font-size:1rem;line-height:1.65}
main{outline:none}

/* Keyboard bypass */
.skip-link{position:fixed;left:12px;top:10px;z-index:10000;transform:translateY(-180%);background:#fffdf8;color:#172019!important;border:2px solid #172019;padding:11px 15px;font:700 .95rem/1.2 'IBM Plex Sans',Arial,sans-serif;text-decoration:none!important;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.skip-link:focus,.skip-link:focus-visible{transform:none;outline:3px solid var(--a11y-focus);outline-offset:2px}

/* Universal visible keyboard focus */
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--a11y-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 2px var(--a11y-focus-gap)!important}

/* Readability floor for recurring editorial content */
:where(.prose,.article-body,.reader-body,.publication-body,.case-summary,.case-narrative,.profile-narrative,.witness-profile-lede,.section-intro,.home-media-intro) p,
:where(.prose,.article-body,.reader-body,.publication-body,.case-summary,.case-narrative,.profile-narrative) li{font-size:1.0625rem;line-height:1.72}
:where(.lead,.lede,.sro-hero-lede,.home-big-copy){line-height:1.68}

/* Supporting copy and metadata: keep useful information readable */
:where(.meta,.news-meta,.media-source-meta,.media-source-provider,.media-context-note,.media-related-record,.archive-count,.breadcrumbs,.reader-breadcrumb,.article-breadcrumbs,.brand-detail-media figcaption,.location-type,.location-links-strip strong,.witness-profile-eyebrow,.witness-profile-disclaimer,.witness-composite figcaption span,.witness-trait p,.featured-witness-label){font-size:.875rem!important;line-height:1.55}
:where(.eyebrow,.kicker,.stat-label,.media-filter-group>span,.witness-trait>span,.witness-trait>div:last-child>span,.trait-kicker){font-size:.8125rem!important;line-height:1.45}
:where(.button-link,.record-link,.news-read,.integrated-media-link,.research-link,.filter-chip,.location-chip){font-size:.875rem!important}

/* Approved readable text colors on light surfaces */
:where(.meta,.archive-count,.breadcrumbs,.reader-breadcrumb,.article-breadcrumbs,.media-source-provider,.media-context-note,.media-related-record,.brand-detail-media figcaption,.witness-profile-disclaimer){color:var(--a11y-muted)!important}
:where(.text-link,.news-read,.record-link,.integrated-media-link,.research-link,.reader-breadcrumb a,.article-breadcrumbs a){color:var(--a11y-warm-text)!important}

/* Links embedded in reading copy remain visually identifiable without color alone */
:where(.prose,.article-body,.reader-body,.publication-body,.case-summary,.case-narrative,.profile-narrative) a:not(.btn):not(.button-link){text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}

/* Controls: AA target-size floor, with larger primary mobile controls */
:where(button,.menu-btn,.nav-dropdown-btn,.filter-chip,input[type="button"],input[type="submit"],select){min-height:44px}
.menu-btn{min-width:44px!important}
.site-header .nav a{min-height:44px;display:flex!important;align-items:center!important}

/* Preserve information if custom colors/backgrounds are disabled or altered */
:where(.tag,.filter-chip,.media-feature-badge){border-width:1px;border-style:solid}

/* Tables and long content remain horizontally reachable rather than clipped */
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,.codebox{max-width:100%;overflow:auto}

/* User preference support */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Approved 6.7.8 mobile lockup + requested breathing room */
@media (max-width:680px){
  .site-header .header-inner{padding-top:9px!important;padding-bottom:9px!important;min-height:94px!important}
  .site-header .brand-mobile{padding-block:2px}
  .site-header .brand-mobile-sub{font-size:.6875rem!important;line-height:1.15!important;letter-spacing:.14em!important}
}

/* Reflow safeguards */
@media (max-width:400px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .site-header .header-inner{width:calc(100% - 20px)!important;gap:8px!important}
  .site-header .brand-mobile-eye{max-width:96px;height:auto!important}
  .site-header .brand-mobile-title{font-size:1.08rem!important}
  .home-hero-actions,.filter-row,.hero-actions{gap:10px}
}

/* 6.8.0 — progressive public witness record states */
.record-status{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .7rem;border:1px solid currentColor;border-radius:999px;font-size:.875rem;font-weight:700;letter-spacing:.02em;margin:.65rem 0 0}
.record-status.developing{color:#5b4527;background:#f4ead7}
.developing-note{border-left:4px solid #8a6938;background:#f8f3e8;padding:1rem 1.1rem;margin:1.25rem 0}
.developing-note p:last-child{margin-bottom:0}
