/* Shared reading density: preserve full evidence behind native disclosures. */
.site-header{padding-block:14px}
.passage-nav{padding-block:6px;gap:28px}
.intro,.passage-intro{padding-block:28px;gap:40px;align-items:center}
.intro h1,.passage-intro h1{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.08}
.lede{font-size:1rem;line-height:1.6;margin-top:16px}
.section{padding-block:28px}
h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.section-heading{gap:32px;margin-bottom:16px}
.section-heading p{margin:0}
.estimate-number{font-size:clamp(2.8rem,5vw,4.25rem);margin-bottom:8px}
.estimate h2{margin-bottom:8px}
.estimate p{margin-block:8px}
.result-replay{margin-bottom:0}
.short-findings{margin-block:12px}
.short-findings a{min-height:56px;padding-block:12px}
.continue{gap:32px}
.passage-meta{gap:12px 32px;margin-bottom:16px}
.passage-display{max-width:none;margin-bottom:24px}
.passage-display .cipher:not(.route-board){font-size:clamp(.95rem,1.8vw,1.35rem)}
.solution-text{font-size:1.0625rem;line-height:1.6;max-width:80ch}
.solution-text p{margin-bottom:12px}
.transcription-note{margin-top:12px}
.route-viewport{max-height:420px;overflow:auto;margin-block:12px}
.route-state,.audit-status{min-height:0}
.demo-controls,.clue-buttons{margin-block:8px}
.compact-details>summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none}
.compact-details>summary::-webkit-details-marker{display:none}
.compact-details>summary::before{content:'+';font:24px var(--sans);color:var(--muted);width:18px;flex:none}
.compact-details[open]>summary::before{content:'−'}
.compact-details>summary h2{margin:0;font-size:1.25rem;line-height:1.4}
.compact-details>summary:hover{background:var(--surface)}
.compact-details>summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}
.section[data-compact]{display:block;padding-block:8px}
.compact-body{padding-block:12px 20px}
.compact-body .section-heading{display:block;margin-bottom:16px}
.compact-body .audit-row{padding-block:20px;gap:32px}
.compact-body .file-list a{min-height:56px}
.compact-body figure{max-width:600px;margin:0 0 20px}
.compact-body img{width:100%;height:auto}
footer{padding-block:20px}
.research-page .intro .cipher-figure{display:none}
.research-page .intro{display:block}
.research-page .intro .lede{max-width:80ch;margin-block:12px}
.research-page .intro .byline{margin-block:8px}
.research-page .finding{margin-block:16px 20px}
.research-page .coverage-notes{gap:24px;margin-bottom:16px}
@media(min-width:1000px){
 body:has(.passage-intro) main{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
 body:has(.passage-intro) main>.passage-nav,body:has(.passage-intro) main>.passage-intro,body:has(.passage-intro) main>.passage-meta,body:has(.passage-intro) main>#method,body:has(.passage-intro) main>.passage-next{grid-column:1/-1}
 .passage-display{grid-column:1;min-width:0}
 #solution{grid-column:2;padding-top:12px;border-top:0}
 #solution .section-heading{display:block}
 #solution .section-heading p{font-size:.875rem;margin-top:8px}
 .passage-display .cipher:not(.route-board){grid-template-columns:repeat(21,minmax(0,1fr));font-size:1rem}
}
@media(max-width:700px){
 .intro,.passage-intro{padding-block:24px;gap:20px}
 .intro h1,.passage-intro h1{font-size:2.4rem}
 .section{padding-block:24px}
 .section-heading{gap:12px;margin-bottom:12px}
 .passage-meta{gap:12px 24px}
 .passage-display .cipher:not(.route-board){gap:4px;font-size:.95rem;padding-block:12px}
 .continue{gap:16px}
 .route-viewport{max-height:330px}
 .compact-body .audit-row{gap:12px}
 .compact-details>summary h2{font-size:1.125rem}
}
