/* F19 ledger: independent structural stylesheet, source typography retained from F01. */
:root{--accent:#167650;--surface:#ffffff;--canvas:#edf6f0;--ink:#102f29;--stroke:#beded0;--max:1120px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 14px/1.65 "Inter", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;object-fit:cover}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button,select,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.ledger-container{width:min(var(--max),calc(100% - 52px));margin:0 auto;padding-bottom:72px}
.ledger-header,.ledger-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(26px,calc((100% - var(--max))/2));background:var(--surface);border-bottom:1px solid var(--stroke)}
.ledger-header nav,.ledger-top nav{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.ledger-header nav a,.ledger-top nav a{font-size:11px;font-weight:700;letter-spacing:.025em}
.ledger-header a[aria-current],.ledger-top a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.ledger-brand,.ledger-wordmark,.ledger-identity,.ledger-seal{display:flex;align-items:center;gap:12px;font-weight:800;font-size:13px;max-width:350px;line-height:1.3}
.ledger-brand-mark,.ledger-wordmark b,.ledger-identity span,.ledger-seal{display:inline-grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border:2px solid var(--accent);color:var(--accent);border-radius:6px;font-size:11px;letter-spacing:.08em}
.ledger-masthead,.ledger-top-cta{font-size:12px}
.ledger-top-cta{border:1px solid var(--accent);padding:8px 13px}
.ledger-hero{margin:28px 0 30px;display:grid;align-items:center;gap:32px;grid-template-columns:1fr 1fr}
.ledger-hero h1{font-size:clamp(28px,3.6vw,48px);line-height:1.09;letter-spacing:-.035em;font-weight:750;margin:13px 0 16px;overflow-wrap:anywhere}
.ledger-hero p{font-size:14px;max-width:60ch;line-height:1.8;margin:0 0 20px}
.ledger-hero small,.ledger-hero span,.ledger-hero b{font-size:11px}
.ledger-hero figure{margin:0;min-width:0;overflow:hidden}
.ledger-hero img{width:100%;height:310px;border-radius:var(--photo-radius,12px)}
.ledger-cta{display:inline-flex;background:var(--accent);color:white;padding:10px 17px;font-size:12px;font-weight:650;align-items:center;gap:8px;border-radius:4px}
.ledger-cta:hover{color:white;filter:brightness(.92)}
.ledger-entries{min-width:0;margin:24px 0 26px;padding:0;list-style:none}
.ledger-entries h2{font-size:clamp(17px,1.8vw,23px);letter-spacing:-.02em;line-height:1.22;margin:0 0 13px;font-weight:740}
.ledger-entries p{font-size:13px;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}
.ledger-entries>[id^="topic-"]{min-width:0;scroll-margin-top:26px}
.ledger-entries .condensed p,.ledger-entries .headings-only p{display:none}
.ledger-facts{background:var(--surface);padding:22px;border:1px solid var(--stroke);margin:24px 0;align-self:start;min-width:0;overflow-wrap:anywhere}
.ledger-facts h2{font-size:18px;line-height:1.3;margin:0 0 16px}
.ledger-facts a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ledger-facts dl,.ledger-facts ul{margin:0;padding:0;list-style:none}
.ledger-facts dt,.ledger-facts b,.ledger-facts th,.ledger-facts small,.ledger-facts span{font-size:11px;font-weight:750;letter-spacing:.045em}
.ledger-facts dt{margin:11px 0 3px;color:var(--accent)}
.ledger-facts dd{margin:0 0 12px;font-size:12px}
.ledger-facts td,.ledger-facts th{text-align:left;font-size:12px;vertical-align:top;padding:8px 4px;border-bottom:1px solid var(--stroke)}
.ledger-facts address{font-style:normal;display:flex;flex-direction:column;gap:8px;font-size:12px}
.ledger-facts li{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;font-size:12px}
.ledger-facts .ledger-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ledger-facts .ledger-fact-grid p{display:flex;flex-direction:column;gap:4px;font-size:12px}
.ledger-facts .ledger-fact-rows>div{border-top:1px solid var(--stroke);display:flex;flex-wrap:wrap;gap:12px;padding:10px 0;font-size:12px}
.ledger-photos{margin:32px 0 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.ledger-photos figure{margin:0;min-width:0}
.ledger-photos img{width:100%;height:230px;border-radius:var(--photo-radius,12px)}
.ledger-footer{background:var(--ink);color:white;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:24px;padding:29px max(26px,calc((100% - var(--max))/2));font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.ledger-footer strong,.ledger-footer h2{font-size:16px;margin:0 0 8px}
.ledger-footer p,.ledger-footer small{margin:4px 0;font-size:11px}
.ledger-footer address{font-style:normal}
.ledger-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ledger-feature{margin:8px 0 18px;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--stroke);padding:8px 13px;font-size:12px;color:var(--ink);border-radius:6px}
.ledger-feature button{border:1px solid var(--stroke);background:transparent;padding:4px 8px;border-radius:3px}
.ledger-feature [aria-pressed="true"],.ledger-feature button[aria-pressed="true"]{background:var(--accent);color:white}
.ledger-feature input,.ledger-feature select{border:1px solid var(--stroke);padding:5px 9px;max-width:100%}
.ledger-approval{font-size:12px;background:var(--surface);border-left:3px solid var(--accent);padding:12px 15px}
.ledger-toc{display:flex;flex-direction:column;gap:9px;overflow-wrap:anywhere}
.ledger-toc a{font-size:11px;border-bottom:1px solid var(--stroke);padding:7px 3px}
.ledger-toc a.active{color:var(--accent);font-weight:bold}
.ledger-record-sheet,.ledger-modules,.ledger-story,.ledger-garden,.ledger-archive,.ledger-journal,.ledger-mosaic,.ledger-narrative,.ledger-program-grid,.ledger-pathways,.ledger-folio-layout,.ledger-index-shell,.ledger-main-layout{min-width:0}
.ledger-container h2{overflow-wrap:anywhere}
.ledger-unit{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:23px 0;border-top:1px solid var(--stroke)}.ledger-count{font-weight:800;font-size:13px;color:var(--accent)}
.ledger-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.ledger-headline{display:grid;grid-template-columns:1fr 1.2fr;gap:38px;align-items:center;grid-column:1/-1}.ledger-kicker{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:2px solid var(--stroke);padding-bottom:8px}.ledger-hero{display:block}
body[data-variant="B"] .ledger-hero img{object-position:top center}
body[data-variant="C"] .ledger-hero{border-top:3px solid var(--accent)}
body[data-variant="D"] .ledger-entries{gap:22px}
body[data-variant="E"] .ledger-facts{box-shadow:4px 4px 0 var(--stroke)}
body[data-variant="F"] .ledger-photos{grid-template-columns:1fr 1.2fr}
body[data-variant="G"] .ledger-hero{border-radius:10px;overflow:hidden}
.ledger-entries.as-list{display:block!important}
.ledger-entries.as-list>[id^="topic-"]{margin-bottom:15px}
body.reading{font-size:17px;line-height:1.9}
body.reading .ledger-entries p{font-size:16px;line-height:2}
.ledger-lightbox{border:0;padding:14px;border-radius:12px;max-width:min(900px,96vw)}
.ledger-lightbox::backdrop{background:#000a}
.ledger-lightbox img{max-height:80vh}
.ledger-progress{position:fixed;inset:0 0 auto;height:4px;z-index:100;pointer-events:none}
.ledger-progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
@media(min-width:960px){.ledger-facts{position:relative}}
@media(max-width:900px){
 .ledger-container{width:calc(100% - 34px)}
 .ledger-main-layout,.ledger-index-shell,.ledger-mosaic,.ledger-program-grid,.ledger-folio-layout,.ledger-services,.ledger-journal,.ledger-stripe-bottom,.ledger-briefing,.ledger-archive,.ledger-pathways{display:block}
 .ledger-hero{grid-template-columns:1fr 1fr}
 .ledger-facts{margin:25px 0}
}
@media(max-width:700px){
 .ledger-header,.ledger-top{padding:14px 17px;display:flex;align-items:flex-start;flex-direction:column;gap:15px}
 .ledger-header nav,.ledger-top nav{gap:12px;flex-wrap:wrap}
 .ledger-container{width:calc(100% - 28px);padding-bottom:38px}
 .ledger-hero,.ledger-headline,.ledger-intro-strip,.ledger-hero-banner,.ledger-narrative>header{display:flex!important;flex-direction:column!important;gap:16px!important}
 .ledger-hero>*{min-width:0;max-width:100%}
 .ledger-hero{margin:22px 0!important;padding:0!important;border-radius:9px!important}
 .ledger-hero h1{font-size:clamp(26px,7vw,37px)}
 .ledger-hero figure,.ledger-hero-image,.ledger-hero-photo,.ledger-hero-picture,.ledger-cover-art{width:100%!important;grid-column:auto!important;grid-row:auto!important}
 .ledger-hero img{height:210px!important;max-width:100%!important;border-radius:8px!important}
 .ledger-hero-copy,.ledger-hero-frame,.ledger-hero-content,.ledger-hero-brief,.ledger-hero-statement,.ledger-hero-folio,.ledger-cover-text,.ledger-start{padding:14px!important}
 .ledger-hero-rail,.ledger-hero-number,.ledger-hero-legend,.ledger-hero-note,.ledger-hero-id{writing-mode:horizontal-tb!important;display:block}
 .ledger-main-layout,.ledger-folio-layout,.ledger-mosaic,.ledger-services,.ledger-program-grid,.ledger-journal,.ledger-pathways,.ledger-archive{display:block}
 .ledger-tiles,.ledger-photos,.ledger-facts .ledger-fact-grid{grid-template-columns:1fr}
 .ledger-unit,.ledger-chapter,.ledger-strip{display:block;padding:16px 0}
 .ledger-strip-label{width:auto}
 .ledger-chapter-head,.ledger-record-number,.ledger-unit>.ledger-count{margin-bottom:12px}
 .ledger-footer{grid-template-columns:1fr;padding:25px 18px;gap:18px}
 .ledger-record-sheet>header,.ledger-folio summary{flex-wrap:wrap}
 .ledger-facts{padding:18px}
 .ledger-photos img{height:195px}
 .ledger-feature{max-width:100%;flex-wrap:wrap}
}
@media(max-width:480px){.ledger-entries h2{font-size:19px}.ledger-entries p{font-size:12.5px}}
@media print{.ledger-feature,.ledger-progress,.ledger-photos{display:none!important}body{background:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
