/* site-2026.css — redesign layer (8 Oct 2026). Loaded after every page's own stylesheets.
   Fonts self-hosted (SIL Open Font License, assets/fonts/OFL.txt). No third-party requests. */
@font-face{font-family:"Source Serif 4";src:url("assets/fonts/source-serif-4-latin-400-normal.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("assets/fonts/source-serif-4-latin-400-italic.woff2") format("woff2");font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("assets/fonts/source-serif-4-latin-600-normal.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-400-normal.woff2") format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-400-italic.woff2") format("woff2");font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("assets/fonts/source-sans-3-latin-700-normal.woff2") format("woff2");font-weight:700 900;font-style:normal;font-display:swap}

:root{--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Source Sans 3",Arial,Helvetica,sans-serif;--measure:68ch;--rose:#f3e1dd}
body{font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2{font-family:var(--serif);letter-spacing:-.02em}
h3{font-family:var(--serif)}
main p,main li{max-width:var(--measure)}
main td p,main td li,main th p,.status p,.door span{max-width:none}

/* ---------- header: six groups ---------- */
.site-header{position:relative;z-index:20}
.group-nav{display:flex;flex-wrap:nowrap;gap:2px;align-items:center}
.group-nav>a,.nav-group>a{font-size:15px;font-weight:700;padding:10px 12px;border-radius:6px 6px 0 0;border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap}
.group-nav>a[aria-current="page"],.nav-group.is-current>a{color:var(--teal);border-bottom-color:var(--teal);background:#eef6f4}
.nav-group{position:relative}
.nav-group>a::after{content:" ▾";font-size:11px;color:var(--muted)}
.nav-sub{display:none;position:absolute;left:0;top:100%;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:0 8px 8px 8px;box-shadow:0 14px 34px rgba(19,45,61,.14);padding:8px;z-index:30}
.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub{display:block}
.nav-sub a{display:block;padding:9px 12px;font-size:15px;font-weight:600;border-radius:5px;text-decoration:none;white-space:normal}
.nav-sub a[aria-current="page"]{background:#eaf4f1;color:var(--teal)}
.nav-group:last-of-type .nav-sub{left:auto;right:0}
@media(max-width:1020px){.group-nav>a,.nav-group>a{font-size:14px;padding:9px 8px}}
@media(max-width:860px){
 .site-header .header-row{display:block;padding-top:16px;padding-bottom:14px}
 .site-header .desktop-nav{display:none}
 .mobile-menu{display:block;margin-top:14px;width:100%}
 .mobile-menu summary{list-style:none;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:7px;padding:12px 15px;background:var(--cream);font-size:15px;font-weight:700;color:var(--ink);cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open]>summary{border-radius:7px 7px 0 0}
 .mobile-menu[open]>summary span{transform:rotate(45deg)}
 .mobile-menu .mobile-nav{display:block;background:#fff;border:1px solid var(--line);border-top:0;padding:6px 8px 8px;border-radius:0 0 7px 7px}
 .mobile-nav>a{display:flex;align-items:center;min-height:44px;padding:8px 10px;font-size:15px;font-weight:700;text-decoration:none;border-radius:5px}
 .mobile-nav details{border-top:1px solid var(--line)}
 .mobile-nav details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:8px 10px;font-size:15px;font-weight:700;cursor:pointer;border:0;background:none;border-radius:0}
 .mobile-nav details summary::-webkit-details-marker{display:none}
 .mobile-nav details summary::after{content:"+";font-size:20px;color:var(--muted)}
 .mobile-nav details[open] summary::after{content:"–"}
 .mobile-nav details a{display:flex;align-items:center;min-height:42px;padding:6px 10px 6px 22px;font-size:15px;text-decoration:none;border-radius:5px;white-space:normal}
 .mobile-nav a[aria-current="page"]{background:#eaf4f1;color:var(--teal)}
}

/* ---------- reading on cream (navy for the first screen only) ---------- */
.reading{background:var(--cream)!important;color:var(--ink)!important}
.reading .eyebrow{color:var(--teal)}
.reading .dot{background:var(--teal);box-shadow:0 0 0 4px #0b766d22}
.reading h1,.reading h2,.reading h3,.reading .story-title,.reading .story h3,.reading .hero-issue h3,.reading .opener-lead,.reading.assertion-page .hero-issue h2,.assertion-page .reading .hero-issue h2{color:var(--ink)}
.reading h1 em{color:var(--teal)}
.reading p,.reading li,.reading .story p,.reading .hero-issue p,.reading .hero-issue li,.reading .hero-intro p,.reading .opener-text,.reading .hero-lead{color:#2c4652}
.reading .story-sub,.reading .opener-close,.reading .opener-date{color:var(--teal)}
.reading .story h3,.reading .hero-issue,.reading .opener-entry,.reading .opener-close{border-color:var(--line)}
.reading .story blockquote,.reading .hero-issue blockquote{background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:0 8px 8px 0}
.reading .story blockquote p,.reading .opener blockquote p,.reading .opener blockquote li{color:var(--ink)}
.reading .opener{background:#fff;border:1px solid var(--line);border-top:4px solid var(--amber)}
.reading .opener blockquote{border-left-color:var(--teal)}
.reading .opener .opener-gap,.reading .opener .opener-editorial,.reading .hero-issue .quote-source{color:var(--muted)}
.reading .hero-issue .quote-source a,.reading a:not(.button):not(.door){color:var(--teal)}
.reading .quiet-link{border-bottom-color:var(--teal)}
.reading .quiet-link:hover{color:var(--ink)}
.reading .hero-issues h2{color:var(--ink)}
.reading .fsma-caption{color:var(--muted)}
.reading .hero-intro{border-left-color:var(--teal)}

/* ---------- components ---------- */
.inshort{background:#fff;border-left:4px solid var(--teal);padding:18px 22px;border-radius:0 10px 10px 0;max-width:var(--measure);margin:26px 0;box-shadow:0 1px 0 var(--line)}
.inshort .label{display:block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--teal);margin:0 0 8px}
.inshort p{margin:0 0 .5em;font-size:17px;color:var(--ink)}
.inshort p:last-child{margin-bottom:0}
.readon{display:inline-block;font-weight:700;font-size:18px;text-decoration:none;border-bottom:2px solid var(--mint);color:var(--teal)}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:22px 0 8px}
.door{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:transform .12s,box-shadow .12s}
.door:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(19,45,61,.08)}
.door strong{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.2}
.door span{color:var(--muted);font-size:15.5px;line-height:1.45}
.door em{color:var(--teal);font-style:normal;font-weight:700;font-size:15px;margin-top:auto}
blockquote.doc{margin:22px 0;max-width:var(--measure);background:#fff;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:0 10px 10px 0;padding:14px 20px}
.timeline{list-style:none;margin:18px 0;padding:0;max-width:var(--measure);border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 16px 22px;margin:0}
.timeline li::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid var(--cream)}
.timeline time{display:block;font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.timeline p{margin:2px 0 0;font-size:17px}

/* folds: open on desktop, closed on phones (set by site-2026.js) */
details.fold{border:1px solid var(--line);border-radius:12px;background:#fff;margin:14px 0}
details.fold>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font-weight:700;font-size:17px;color:var(--ink)}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"Show";flex:none;font-size:13px;font-weight:700;color:var(--teal);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
details.fold[open]>summary::after{content:"Hide"}
details.fold>summary .count{color:var(--muted);font-weight:600;font-size:14px;margin-left:auto}
details.fold>.fold-body{padding:4px 18px 18px;border-top:1px solid var(--line)}
details.fold.plain{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
details.fold.plain>summary{padding:12px 0}
details.fold.plain>.fold-body{padding:4px 0 10px;border-top:0}
.reading details.fold.plain>summary{color:var(--teal)}
.issue-short p{max-width:var(--measure)}
.issue-link{margin:6px 0 4px;font-weight:700}
.issue-link a{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--mint)}

/* missing letters: compact rows on phones */
.ml-period{margin:12px 0}
.ml-period>.fold-body{padding:0}
.ml-period .ml-table{margin:0;border:0}
.ml-caption{color:var(--muted);margin:10px 0 6px}
@media(max-width:720px){
 .ml-period .ml-table tbody tr{display:block!important;margin:0!important;border:0!important;border-top:1px solid var(--line)!important;padding:12px 16px!important;background:#fff!important}
 .ml-period .ml-table tbody td{display:inline!important;padding:0!important;border:0!important;width:auto!important}
 .ml-period .ml-table tbody td::before{display:none!important;content:none!important}
 .ml-period .ml-table td[data-label="Date"]{font-weight:700;font-size:15.5px}
 .ml-period .ml-table td[data-label="Date"]::after{content:" · ";font-weight:400;color:var(--muted)}
 .ml-period .ml-table td[data-label="Letter or demand"]{font-size:15.5px}
 .ml-period .ml-table td[data-label="Where copies were found"]{display:block!important;font-size:13.5px;color:var(--muted);margin-top:4px}
 .ml-period .ml-table td[data-label="Where copies were found"] ul{margin:0;padding:0;list-style:none;display:inline}
 .ml-period .ml-table td[data-label="Where copies were found"] li{display:inline;margin:0!important}
 .ml-period .ml-table td[data-label="Where copies were found"] li+li::before{content:" · "}
 .ml-period .ml-table td[data-label="Disclosed FOS file"]{display:block!important;margin-top:6px}
 .ml-period .ml-table .ml-status{display:inline-block!important;font-size:12px!important;padding:2px 9px!important;border-radius:999px!important;line-height:1.5}
 .ml-period .ml-table .ml-note-pin{display:inline;margin:0 0 0 6px;font-size:12.5px}
}
.table-caption-note{max-width:var(--measure);font-size:16.5px;color:#2c4652;background:#fff;border-left:4px solid var(--teal);padding:12px 16px;border-radius:0 8px 8px 0;margin:12px 0 4px}

/* Pass 63/63b (9 Oct 2026): homepage two-audience card, full width above the three route cards */
.route-audience{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);column-gap:34px;align-items:start;padding:25px;background:#fff;border:1px solid var(--line);border-top:4px solid #000;border-radius:8px}
.route-audience>*{grid-column:1}
.route-audience>.fsma-withheld{grid-column:2;grid-row:1/span 4;align-self:center;margin:0}
.route-audience .route-number{color:var(--ink)}
.route-audience p{margin:0 0 14px}
.route-audience .fsma-box{min-height:8rem}
.route-audience .fsma-caption{font-size:13px}
.route-audience .route-examples{font-size:14px;margin:0;color:var(--muted)}
.route-audience .route-examples a{color:var(--teal);font-weight:700;text-underline-offset:3px}
@media(max-width:860px){.route-audience{display:block;padding:20px}.route-audience>.fsma-withheld{margin:0 0 14px}.route-audience .fsma-box{min-height:4.5rem}}
