
:root{
  --ink:#122633;--muted:#58707b;--paper:#f3f0e9;--card:#fffdf8;--line:#d8dfd9;
  --navy:#092b3b;--sea:#176c73;--mint:#b9d9c5;--gold:#e5a543;--coral:#c9533c;
  --blue:#5a8d9e;--pale:#e5eeea;--shadow:0 16px 45px rgba(16,40,49,.08);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.58}
a{color:#176c73;text-underline-offset:3px}
a:hover{color:#0b4149}
button,select{font:inherit}
button{cursor:pointer}
.shell{max-width:1200px;margin:auto;padding:0 28px}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);color:#edf4ef}
.topbar .brand{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.topbar .meta{font-size:12px;color:#bbd0d0}
.hero{background:var(--navy);color:#f6f4ed;position:relative;overflow:hidden;padding-bottom:55px}
.hero:after{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(185,217,197,.23);border-radius:50%;right:-120px;top:100px;box-shadow:0 0 0 45px rgba(185,217,197,.035),0 0 0 100px rgba(185,217,197,.025)}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end;padding-top:68px;position:relative;z-index:1}
.kicker{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--mint)}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--serif);font-size:clamp(42px,6.3vw,82px);line-height:.98;letter-spacing:-.045em;font-weight:500;max-width:820px;margin:20px 0}
.hero .lede{font-size:18px;max-width:760px;color:#d5e3df;line-height:1.55;margin:0}
.hero-note{border-left:2px solid var(--gold);padding:4px 0 4px 18px;color:#d4e0dc;font-size:13px;max-width:300px}
.hero-note strong{color:#fff4d9;display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px;position:relative;z-index:2}
.nav a{color:#d5e3df;border:1px solid rgba(255,255,255,.24);border-radius:20px;padding:7px 12px;font-size:12px;text-decoration:none}
.nav a:hover{background:rgba(255,255,255,.1)}
.sharebar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:25px;position:relative;z-index:2}
.share-intro{color:#d5e3df;font-size:12px;max-width:420px}
.share-controls{display:flex;gap:7px;flex-wrap:wrap}
.share-controls button,.share-controls a{border:1px solid rgba(255,255,255,.3);border-radius:20px;background:rgba(255,255,255,.06);color:#f6f4ed;padding:8px 12px;font-size:11px;font-weight:750;text-decoration:none}
.share-controls button,.share-controls a,.share-more-links a,.platform-grid button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.social-icon{display:block;width:15px;height:15px;flex:none;fill:currentColor}
.social-wordmark{width:15px;height:15px;display:inline-grid;place-items:center;border-radius:2px;background:#0a66c2;color:#fff;font-family:Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:-.08em;line-height:1}
.share-controls button:hover,.share-controls a:hover{background:rgba(255,255,255,.16);color:#fff}
.share-controls button:focus-visible,.share-controls a:focus-visible,.share-more summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.share-more{font-size:11px}
.share-more summary{list-style:none;border:1px solid rgba(255,255,255,.3);border-radius:20px;background:rgba(255,255,255,.06);color:#f6f4ed;padding:8px 12px;font-size:11px;font-weight:750;cursor:pointer}
.share-more summary::-webkit-details-marker{display:none}
.share-more summary:hover{background:rgba(255,255,255,.16);color:#fff}
.share-more[open]{flex-basis:100%}
.share-more-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.share-more-links a{border:1px solid rgba(255,255,255,.3);border-radius:20px;background:rgba(255,255,255,.06);color:#f6f4ed;padding:8px 12px;font-size:11px;font-weight:750;text-decoration:none}
.share-more-links a:hover{background:rgba(255,255,255,.16);color:#fff}
.community-banner{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:16px;margin:30px 0 0;padding:22px 26px;border:1px solid #bfd5c8;border-left:5px solid var(--sea);border-radius:12px;background:linear-gradient(115deg,#f4faf5 0%,#fffdf8 74%);box-shadow:var(--shadow);position:relative;z-index:1}
.community-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#deeee4;color:#176c73}
.community-mark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-kicker{margin:0 0 5px;color:var(--sea);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.community-banner h2{font-family:var(--serif);font-size:25px;line-height:1.1;margin:0 0 7px;color:var(--ink)}
.community-banner p{max-width:930px;margin:0;color:#36515b;font-size:14px;line-height:1.55}
.community-banner .privacy-line{margin-top:10px;color:#58707b;font-size:12px}
.platform-share{margin-top:16px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;box-shadow:var(--shadow)}
.platform-share h3{margin-bottom:5px;font-family:var(--serif);font-size:22px;font-weight:500}
.platform-share p{margin-bottom:12px;color:var(--muted);font-size:13px}
.platform-grid{display:flex;flex-wrap:wrap;gap:8px}
.platform-grid button{border:1px solid #cad8d2;border-radius:20px;background:#f7faf7;color:#123640;padding:9px 13px;font-size:12px;font-weight:750}
.platform-grid button:hover{background:#e8f2ec;border-color:#95b9a8}
.platform-grid button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.platform-share .platform-status{min-height:1.2em;margin:11px 0 0;color:var(--sea);font-size:12px}
.share-status{flex-basis:100%;min-height:1.2em;color:var(--mint);font-size:11px;margin:0}
main{padding-bottom:80px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-28px;position:relative;z-index:3}
.metric{background:var(--card);box-shadow:var(--shadow);border:1px solid rgba(15,54,62,.08);padding:20px 22px;border-radius:10px;min-height:143px}
.metric .value{font-family:var(--serif);font-size:38px;letter-spacing:-.04em;line-height:1.1}
.metric .label{font-weight:750;font-size:12px;margin-top:8px}
.metric .detail{color:var(--muted);font-size:11px;margin-top:4px}
.section{padding:76px 0 10px;scroll-margin-top:20px}
.section-head{display:grid;grid-template-columns:.45fr 1.55fr;gap:28px;align-items:start;margin-bottom:28px}
.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sea);font-weight:850;padding-top:9px}
h2{font-family:var(--serif);font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.035em;font-weight:500;margin-bottom:12px}
.section-head p{color:var(--muted);max-width:760px;margin-bottom:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.thesis{display:grid;grid-template-columns:1fr auto;gap:24px;padding:28px 30px;border-left:5px solid var(--gold);align-items:center}
.thesis h3{font-family:var(--serif);font-weight:500;font-size:25px;margin-bottom:7px}
.thesis p{margin:0;color:var(--muted);max-width:790px}
.thesis .stamp{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sea);text-align:right}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{padding:24px}
.panel h3{font-size:17px;letter-spacing:-.01em;margin-bottom:8px}
.panel .sub{font-size:12px;color:var(--muted);margin-bottom:18px}
.switches{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 8px}
.switches button,.pill{border:1px solid var(--line);background:#f7f7f1;color:var(--ink);padding:8px 12px;border-radius:22px;font-size:12px;font-weight:750}
.switches button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.switches button:hover{border-color:var(--sea)}
.chartbox{width:100%;overflow:hidden}
svg.chart{width:100%;height:auto;display:block}
.chart .gridline{stroke:#dbe2dc;stroke-width:1}
.chart .axislabel{fill:#637983;font-size:11px;font-family:var(--sans)}
.chart .bar{fill:#7eaaa6}
.chart .bar.focus{fill:var(--coral)}
.chart .bar:hover{filter:brightness(.88)}
.chart .barlabel{fill:#fff;font-size:11px;font-weight:800;font-family:var(--sans)}
.chart .xlab{fill:#344d58;font-size:11px;font-family:var(--sans)}
.chart .nmb{fill:var(--coral);font-weight:850}
.caption{font-size:11px;color:var(--muted);margin:5px 0 0}
.callout{padding:15px 16px;background:#edf3ee;border-radius:9px;border:1px solid #d4e2d8;font-size:13px}
.callout strong{color:#0b4851}
.mini-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:14px}
.mini-table th,.mini-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 7px}
.mini-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.mini-table td:last-child,.mini-table th:last-child{text-align:right}
.status{font-weight:800}
.status.warn{color:#a13b2b}
.status.good{color:#146358}
.note{font-size:11px;color:var(--muted)}
.coverage{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.coverage .item{border-top:3px solid var(--sea);padding:14px 10px 4px}
.coverage .n{font-family:var(--serif);font-size:29px;line-height:1.1}
.coverage .t{font-size:12px;font-weight:750;margin-top:5px}
.coverage .s{font-size:10px;color:var(--muted);margin-top:4px}
.socio-impact{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.socio-impact h3{font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}
.socio-intro{max-width:850px;font-size:13px;color:var(--muted);margin-bottom:12px}
.impact-coverage .item{padding:13px 12px 8px;border-top:3px solid var(--coral);background:rgba(255,255,255,.42);border-radius:0 0 7px 7px}
.impact-coverage .s a{color:var(--sea);font-weight:750}
.socio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.socio-card{padding:20px 22px;border-left:4px solid var(--sea);transition:transform .18s ease,box-shadow .18s ease}
.socio-card:nth-child(3n+2){border-left-color:#c48a3a}
.socio-card:nth-child(3n){border-left-color:var(--coral)}
.socio-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(9,43,59,.09)}
.socio-card .tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sea);font-weight:850}
.socio-card h4{font-family:var(--serif);font-size:21px;line-height:1.15;font-weight:500;margin:7px 0 12px;color:var(--ink)}
.socio-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 9px}
.socio-card p strong{color:var(--ink)}
.socio-card .evidence-note{font-size:10px;border-top:1px solid var(--line);padding-top:9px;margin-top:12px;margin-bottom:0}
.impact-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.impact-steps .step{padding:16px}
.impact-steps .step h4{font-size:14px;margin:10px 0 6px}
.impact-steps .step p{font-size:11px;color:var(--muted);margin:0}
.stackbar{display:flex;width:100%;height:18px;border-radius:12px;overflow:hidden;border:1px solid rgba(9,43,59,.12);margin:8px 0}
.stackbar span{height:100%}
.stacklegend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:10px;color:var(--muted);margin-bottom:12px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.audit-step{padding:16px 14px;border-radius:9px;background:#eef2ed;border:1px solid var(--line);min-height:126px;position:relative}
.audit-step:before{content:"";position:absolute;top:-1px;left:0;right:0;height:4px;background:#c48a3a;border-radius:8px 8px 0 0}
.audit-step.better:before{background:var(--sea)}
.audit-step .year{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:850}
.audit-step .outcome{font-size:14px;font-weight:850;margin:10px 0 6px}
.audit-step .context{font-size:10px;color:var(--muted);line-height:1.4}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.finding{padding:21px 22px}
.finding .tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--coral);font-weight:850}
.finding h3{font-family:var(--serif);font-size:22px;font-weight:500;margin:8px 0}
.finding p{font-size:13px;color:var(--muted);margin-bottom:0}
.finding strong{color:var(--ink)}
.politics{background:var(--navy);color:#f6f4ed;border-radius:14px;padding:27px}
.politics p{color:#ccd9d5}
.politics h3{font-family:var(--serif);font-size:24px;font-weight:500}
.timeline-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}
.period{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:13px}
.period .dates{color:var(--mint);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.period .txt{font-size:12px;margin-top:7px;color:#f0f1eb}
.partygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.party{padding:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:9px}
.party .name{font-weight:850;color:#fff;font-size:13px}
.party p{font-size:12px;margin:7px 0;color:#d6e0dc}
.party a{color:#b9d9c5}
.verdict{padding:16px 18px;background:#f6f1e7;color:var(--ink);border-radius:9px;font-size:13px;margin-top:18px}
.verdict strong{color:#93432e}
.proofgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}
.scorebox{padding:23px}
.scorebox h3{font-size:17px}
.checklist{display:grid;gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12px}
.check input{accent-color:#176c73;margin-top:3px}
.scoreline{background:#edf3ee;border-radius:9px;padding:14px 15px;margin-top:17px;font-size:13px;font-weight:800}
.route{padding:23px}
.route select{border:1px solid var(--line);background:white;border-radius:7px;padding:9px 10px;width:100%;margin:6px 0 14px}
.route-result{background:#eff3ed;padding:16px;border-radius:9px;font-size:13px}
.route-result ol{margin:9px 0 0;padding-left:20px}
.route-result li{padding:3px 0}
.actionsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.step{padding:19px 20px}
.step .num{height:27px;width:27px;display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;font-size:12px;font-weight:850}
.step h3{font-size:15px;margin:12px 0 7px}
.step p{font-size:12px;color:var(--muted);margin-bottom:0}
.data-contract{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.data-contract div{padding:12px 15px;border-bottom:1px solid var(--line);font-size:12px}
.data-contract div:nth-child(odd){font-weight:800;background:#edf2ec}
.data-contract div:nth-last-child(-n+2){border-bottom:0}
.request{padding:22px}
.request pre{white-space:pre-wrap;font-family:var(--sans);font-size:12px;color:#344d58;background:#f0f2ed;border:1px solid var(--line);border-radius:8px;padding:15px;line-height:1.55}
.request button{background:var(--sea);color:white;border:0;border-radius:6px;padding:9px 13px;font-weight:800;font-size:12px}
.request button:hover{background:#0e5258}
.source-list{columns:2;column-gap:34px;padding-left:20px}
.source-list li{font-size:11px;margin:0 0 10px;break-inside:avoid;color:var(--muted)}
.source-list a{font-weight:750}
.footer{border-top:1px solid var(--line);margin-top:60px;padding:24px 0 50px;font-size:11px;color:var(--muted)}
.footer .row{display:flex;justify-content:space-between;gap:20px}
.actionbar{display:flex;gap:8px;align-items:center}
.actionbar button{border:1px solid rgba(255,255,255,.32);border-radius:20px;background:transparent;color:#fff;padding:7px 12px;font-size:11px}
.actionbar button:hover{background:rgba(255,255,255,.1)}
@media(max-width:850px){
 .hero-grid,.section-head,.proofgrid{grid-template-columns:1fr}
 .hero-note{max-width:600px}
 .community-banner{grid-template-columns:38px 1fr;gap:12px;padding:19px 18px}
 .community-mark{width:38px;height:38px}
 .community-banner h2{font-size:22px}
 .metrics{grid-template-columns:repeat(2,1fr)}
 .coverage{grid-template-columns:repeat(2,1fr)}
 .impact-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grid2,.twocol{grid-template-columns:1fr}
 .timeline{grid-template-columns:repeat(2,1fr)}
 .timeline-strip{grid-template-columns:repeat(2,1fr)}
 .actionsteps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
 .shell{padding:0 17px}
 .hero-grid{padding-top:45px}
 .hero .lede{font-size:16px}
 .metrics{grid-template-columns:1fr 1fr;gap:8px}
 .metric{padding:14px;min-height:128px}
 .metric .value{font-size:30px}
 .metric .label{font-size:11px}
 .metric .detail{font-size:10px}
 .section{padding-top:55px}
 .panel{padding:18px}
 .thesis{grid-template-columns:1fr;padding:21px}
 .thesis .stamp{text-align:left}
 .timeline{grid-template-columns:1fr}
 .timeline-strip,.partygrid,.actionsteps{grid-template-columns:1fr}
 .socio-grid,.impact-steps{grid-template-columns:1fr}
 .source-list{columns:1}
 .footer .row{display:block}
 .actionbar{margin-top:10px}
 .sharebar{align-items:flex-start}
 .share-controls{width:100%}
 .share-controls button,.share-controls a{flex:1 0 auto;text-align:center}
}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url("fonts/newsreader-latin-variable.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("fonts/dm-sans-latin-variable.woff2") format("woff2")}

/* Bay Ledger: an editorial field file, built around civic evidence and the coast. */
:root{
  --ink:#193336;--muted:#526a68;--paper:#f4f2eb;--card:#fffdf8;--line:#d5d9ce;
  --navy:#0d3439;--sea:#176a66;--mint:#c5dfcf;--gold:#e5ad4d;--coral:#ad4834;
  --blue:#5a8d9e;--pale:#e5eeea;--shadow:0 3px 14px rgba(18,46,45,.055);
  --sans:"DM Sans",Arial,sans-serif;--serif:"Newsreader",Georgia,serif;
  --mono:"DM Sans",Arial,sans-serif;
  color-scheme:light;
}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.62;font-size:15px}
::selection{background:#d6e9d9;color:#123b3d}
a{color:#155c58;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#9c3f2e}
:focus-visible{outline:3px solid #b87619;outline-offset:3px;border-radius:2px}
.shell{max-width:1160px;padding-right:32px;padding-left:32px}
.hero{isolation:isolate;background:var(--navy);padding-bottom:36px;border-top:5px solid var(--gold)}
.hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:610px;height:610px;right:-120px;top:75px;background:url("tidal-lines.svg") center/contain no-repeat;opacity:.82}
.hero:after{display:none}
.topbar{height:auto;min-height:68px;gap:18px;border-bottom-color:rgba(224,239,229,.19)}
.topbar .brand{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.13em}
.topbar .brand:before{content:"";display:block;width:27px;height:27px;flex:none;border:1px solid rgba(229,173,77,.82);border-radius:50%;background:url("ledger-mark.svg") center/18px no-repeat}
.topbar .meta{color:#c4d9d2;font-size:11px;letter-spacing:.035em}
.actionbar{gap:12px}
.actionbar button{border-color:rgba(229,173,77,.7);border-radius:2px;padding:7px 11px;color:#fff9e9}
.actionbar button:hover{background:rgba(229,173,77,.13)}
.hero-grid{grid-template-columns:minmax(0,1.48fr) minmax(230px,.52fr);gap:56px;padding-top:68px;align-items:center}
.hero h1{font-family:var(--serif);font-size:clamp(54px,7vw,94px);font-weight:390;line-height:.94;letter-spacing:-.04em;max-width:850px;margin:16px 0 15px;text-wrap:balance}
.kicker{color:#c5dfcf;font-size:11px;font-weight:650;letter-spacing:.055em;text-transform:none}
.hero .lede{max-width:68ch;color:#d7e5df;font-size:17px;line-height:1.62}
.hero-note{max-width:315px;border:0;border-top:1px solid var(--gold);padding:17px 0 0;color:#d3e0da;font-size:13px;line-height:1.7}
.hero-note strong{color:#f3c56e;font-size:10px;letter-spacing:.14em}
.nav{gap:0;margin-top:28px;border-top:1px solid rgba(224,239,229,.18);border-bottom:1px solid rgba(224,239,229,.18);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(197,223,207,.42) transparent}
.nav a{flex:0 0 auto;border:0;border-radius:0;border-bottom:2px solid transparent;padding:12px 12px 10px;color:#d2e2dc;font-size:11px;letter-spacing:.02em}
.nav a:first-child{padding-left:0}
.nav a:hover{background:transparent;border-bottom-color:var(--gold);color:#fff8e9}
.sharebar{justify-content:flex-start;gap:18px;margin-top:18px}
.share-intro{flex:0 1 275px;color:#edf5f0;font-size:11px;line-height:1.5}
.share-controls{gap:6px}
.share-controls button,.share-controls a,.share-more summary,.share-more-links a{border-color:rgba(224,239,229,.28);border-radius:2px;background:rgba(255,255,255,.035);padding:8px 10px;color:#f5f5ee;font-size:11px;font-weight:650}
.share-controls button:first-child{border-color:var(--gold);background:var(--gold);color:#142f30}
.share-controls button:first-child:hover{background:#f0c36d;color:#142f30}
.share-controls button:hover,.share-controls a:hover,.share-more summary:hover,.share-more-links a:hover{background:rgba(255,255,255,.13);color:#fff}
.share-status{color:var(--mint)}
.community-banner{grid-template-columns:36px 1fr;gap:17px;margin:27px 0 0;padding:22px 26px;border:1px solid #ccdbd0;border-radius:3px;background:#e8eee6;box-shadow:none}
.community-mark{width:34px;height:34px;border-radius:50%;background:#d0e3d5;color:#155c58}
.community-mark svg{width:20px;height:20px}
.community-kicker{color:#155c58;font-size:11px;letter-spacing:.05em}
.community-banner h2{font-family:var(--serif);font-size:27px;font-weight:460;color:var(--ink)}
.community-banner p{color:#344f4e;font-size:13px;line-height:1.65}
.community-banner .privacy-line{color:#506662;font-size:11px}
.platform-share{margin-top:13px;padding:17px 20px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.platform-share h3{font-family:var(--serif);font-size:22px;font-weight:480}
.platform-share p{font-size:12px}
.platform-grid{gap:7px}
.platform-grid button{border-color:#c3d0c8;border-radius:2px;background:#f8f7f0;color:#193c3d;padding:8px 11px;font-size:11px}
.platform-grid button:hover{background:#e1ebe2;border-color:#69958a}
main{padding-bottom:72px}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:-1px}
.metric{position:relative;min-height:138px;padding:19px 20px 18px;background:transparent;border:0;border-top:2px solid #6f9a8b;border-right:1px solid var(--line);border-radius:0;box-shadow:none}
.metric:first-child{border-top-color:var(--coral)}
.metric:last-child{border-right:0}
.metric .value{font-family:var(--serif);font-size:clamp(30px,3.2vw,43px);font-weight:470;letter-spacing:-.04em;color:#183f3e;font-variant-numeric:tabular-nums}
.metric .label{font-size:11px;line-height:1.4;margin-top:9px}
.metric .detail{font-size:11px;line-height:1.45}
.section{padding:72px 0 4px;scroll-margin-top:18px}
.section-head{grid-template-columns:155px minmax(0,1fr);gap:28px;margin-bottom:25px}
.eyebrow{padding-top:9px;color:#a44834;font:650 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,h4{font-family:var(--serif)}
h2{font-size:clamp(36px,4.1vw,52px);font-weight:430;line-height:.99;letter-spacing:-.04em;margin-bottom:13px;text-wrap:balance}
.section-head p{max-width:68ch;color:var(--muted);font-size:14px;line-height:1.65}
.card{background:var(--card);border:1px solid var(--line);border-radius:3px;box-shadow:none}
.thesis{grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:25px 27px;border:0;border-top:2px solid var(--gold);border-bottom:1px solid var(--line);border-radius:0;background:#ebece3;align-items:start}
.thesis h3{font-size:26px;font-weight:450}
.thesis p{max-width:760px;color:#405a57;font-size:13px}
.thesis .stamp{padding-top:4px;color:#155c58;font-size:10px;line-height:1.9;text-align:right}
.grid2{gap:16px}
.grid2>*,.twocol>*,.proofgrid>*{min-width:0}
.panel{padding:23px 24px}
.panel h3{font-family:var(--serif);font-size:22px;font-weight:460;letter-spacing:-.02em}
.panel .sub{font-size:11px;line-height:1.55}
.switches{gap:6px}
.switches button,.pill{border-color:#c6d1c9;border-radius:2px;background:#f5f4ed;color:var(--ink);padding:8px 11px;font-size:11px}
.switches button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.switches button:hover{border-color:var(--coral)}
.chartbox{overflow-x:auto;overscroll-behavior-x:contain}
.chart{min-width:560px}
.chart .gridline{stroke:#d7dcd4}
.chart .axislabel{fill:#586d6c}
.chart .bar{fill:#6f9b8b}
.chart .bar.focus{fill:var(--coral)}
.chart .xlab{fill:#38504f}
.callout{border:0;border-left:1px solid #6e9b8b;border-radius:0;background:#edf0e8;color:#344e4c;font-size:12px;line-height:1.65}
.callout strong{color:#155c58}
.mini-table{font-size:11px}
.mini-table th,.mini-table td{border-bottom-color:#dce0d7;padding:8px 7px}
.mini-table th{color:#526a68;font-size:11px;letter-spacing:.06em}
.coverage{gap:0 12px}
.coverage .item{border-top:1px solid #789d8d;padding:13px 8px 7px}
.coverage .n{font-family:var(--serif);font-size:28px;font-weight:460;color:#1d514d;font-variant-numeric:tabular-nums}
.coverage .t{font-size:12px;line-height:1.45}
.coverage .s{font-size:11px;line-height:1.45}
.socio-impact{margin-top:32px;padding-top:25px;border-top:1px solid #cfd6cb}
.socio-impact h3{font-size:31px;font-weight:440}
.socio-intro{font-size:12px;line-height:1.65}
.impact-coverage .item{border-top-color:var(--coral);border-radius:0;background:transparent}
.socio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:20px;border-top:1px solid var(--line)}
.socio-card.card{padding:21px 7px 20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.socio-card:nth-child(3n+2),.socio-card:nth-child(3n){border-left-color:transparent}
.socio-card:hover{transform:none;box-shadow:none;background:rgba(255,253,248,.55)}
.socio-card .tag{color:#963d2e;font-size:11px;letter-spacing:.04em}
.socio-card h4{font-size:23px;line-height:1.07;font-weight:460}
.socio-card p{font-size:12px;line-height:1.65}
.socio-card .evidence-note{border-top-color:#d7dcd4;font-size:11px}
.impact-steps{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.impact-steps .step{padding:17px 15px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
.impact-steps .step:last-child{border-right:0}
.impact-steps .step h4{font-size:18px;font-weight:480}
.impact-steps .step p{font-size:11px;line-height:1.55}
.stackbar{height:14px;border-radius:0}
.stacklegend{font-size:11px}
.timeline{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.audit-step{min-height:126px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:17px 12px}
.audit-step:last-child{border-right:0}
.audit-step:before{top:-1px;height:2px;border-radius:0;background:#c18b43}
.audit-step.better:before{background:var(--sea)}
.audit-step .year{font-size:11px;letter-spacing:.06em}
.audit-step .outcome{font-family:var(--serif);font-size:18px;font-weight:500}
.audit-step .context{font-size:11px;line-height:1.5}
.twocol{gap:14px}
.finding{padding:20px 21px}
.finding .tag{color:#a44834}
.finding h3{font-size:25px;font-weight:460}
.finding p{font-size:12px;line-height:1.6}
.politics{background:#123c40;border-radius:3px;padding:27px}
.politics h3{font-size:30px;font-weight:450}
.politics p{color:#eef4ef}
.timeline-strip{gap:0;border-top:1px solid rgba(220,239,226,.22);border-bottom:1px solid rgba(220,239,226,.22)}
.period{border:0;border-right:1px solid rgba(220,239,226,.22);border-radius:0;background:transparent;padding:13px}
.period:last-child{border-right:0}
.period .dates{color:#edbf64}
.period .txt{font-size:11px;line-height:1.55}
.partygrid{gap:0 16px}
.party{border:0;border-top:1px solid rgba(220,239,226,.24);border-radius:0;background:transparent;padding:16px 4px}
.party .name{color:#f0c76e}
.party p{font-size:12px;line-height:1.6}
.party a{color:#c8e0ce}
.verdict{border-radius:2px;background:#e9e9df;font-size:12px;line-height:1.6}
.verdict strong{color:#8d3c2d}
.proofgrid{gap:15px}
.scorebox,.route{padding:22px}
.scorebox h3{font-family:var(--serif);font-size:23px;font-weight:470}
.checklist{gap:12px}
.check{font-size:11px;line-height:1.5}
.check input{accent-color:#176a66}
.scoreline{border-radius:2px;background:#e8eee6;color:#174b47;font-size:12px}
.route select{border-color:#bfcbc2;border-radius:2px;background:#fffdf8;padding:10px}
.route-result{border-left:1px solid var(--gold);border-radius:0;background:#edf0e8;font-size:12px}
.route-result li{padding:4px 0;line-height:1.55}
.actionsteps{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.actionsteps .step{padding:19px 17px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
.actionsteps .step:last-child{border-right:0}
.step .num{width:25px;height:25px;border-radius:50%;background:#176a66;font-size:11px}
.step h3{font-family:var(--serif);font-size:20px;font-weight:470}
.step p{font-size:11px;line-height:1.6}
.data-contract{border-color:var(--line);border-radius:2px}
.data-contract div{font-size:11px}
.data-contract div:nth-child(odd){background:#e9eee6}
.request{padding:20px}
.request pre{border:1px solid var(--line);border-radius:2px;background:#f0f0e9;font-size:11px}
.request button{border-radius:2px;background:#176a66}
.request button:hover{background:#0d4a47}
.source-list{column-gap:38px}
.source-list li{font-size:11px;line-height:1.6}
.note{font-size:10px;line-height:1.6}
.footer{border-top-color:#cbd3c9;margin-top:54px;padding-top:20px}
.footer a{color:#155c58}
@media(max-width:850px){
 .shell{padding-right:24px;padding-left:24px}
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:48px}
 .grid2,.twocol,.proofgrid{grid-template-columns:minmax(0,1fr)}
 .hero-note{max-width:650px}
 .section-head{grid-template-columns:120px minmax(0,1fr);gap:20px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metric:nth-child(2){border-right:0}
 .metric:nth-child(3){border-top-color:#6f9a8b}
 .timeline{grid-template-columns:repeat(3,1fr)}
 .timeline .audit-step:nth-child(3){border-right:0}
 .timeline .audit-step:nth-child(n+4){border-top:1px solid var(--line)}
}
@media(max-width:560px){
 .shell{padding-right:17px;padding-left:17px}
 .topbar{padding:11px 0;align-items:flex-start}
 .topbar .brand{font-size:11px;letter-spacing:.07em}
 .topbar .brand:before{width:24px;height:24px;font-size:19px}
 .topbar .meta{font-size:11px;text-align:right}
 .actionbar{gap:7px;flex-wrap:wrap;justify-content:flex-end}
 .actionbar button{padding:6px 8px;font-size:11px}
 .hero-grid{padding-top:37px;gap:24px}
 .hero:before{width:380px;height:380px;right:-230px;top:140px;opacity:.55}
 .hero h1{font-size:clamp(50px,15vw,67px);margin-top:13px;line-height:.93}
 .hero .lede{font-size:15px}
 .hero-note{font-size:12px;padding-top:13px}
 .nav{margin-top:22px}
 .nav a{padding:11px 10px 9px;font-size:11px}
 .sharebar{gap:10px}
 .share-intro{flex-basis:100%}
 .share-controls{width:100%}
 .share-controls button,.share-controls a{flex:1 0 auto;padding:8px 9px}
 .share-more[open]{flex-basis:100%}
 .community-banner{grid-template-columns:27px 1fr;gap:11px;padding:16px 13px}
 .community-mark{width:27px;height:27px}
 .community-mark svg{width:17px;height:17px}
 .community-kicker{font-size:11px;line-height:1.5}
 .community-banner h2{font-size:23px}
 .community-banner p{font-size:12px}
 .community-banner .privacy-line{font-size:11px}
 .platform-share{padding:14px 2px}
 .platform-grid{gap:6px}
 .platform-grid button{padding:7px 8px;font-size:11px}
 .metrics{gap:0}
 .metric{min-height:127px;padding:14px 10px 13px}
 .metric:nth-child(odd){border-right:1px solid var(--line)}
 .metric:nth-child(even){border-right:0}
 .metric .value{font-size:31px}
 .metric .label{font-size:10px}
 .metric .detail{font-size:11px}
 .section{padding-top:54px}
 .section-head{grid-template-columns:1fr;gap:1px;margin-bottom:19px}
 .eyebrow{display:none}
 h2{font-size:clamp(34px,10vw,43px)}
 .section-head p{font-size:12px}
 .thesis{grid-template-columns:1fr;padding:20px 16px;gap:12px}
 .thesis h3{font-size:23px}
 .thesis .stamp{text-align:left;font-size:11px}
 .panel{padding:17px 15px}
 .panel h3{font-size:20px}
 .coverage{gap:0 8px}
 .coverage .item{padding:11px 4px 7px}
 .coverage .n{font-size:24px}
 .coverage .t{font-size:11px}
 .coverage .s{font-size:11px}
 .socio-impact h3{font-size:26px}
 .socio-grid{grid-template-columns:1fr;gap:0}
 .socio-card.card{padding:18px 3px}
 .socio-card h4{font-size:22px}
 .socio-card p{font-size:12px}
 .impact-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .impact-steps .step:nth-child(2){border-right:0}
 .impact-steps .step:nth-child(n+3){border-top:1px solid var(--line)}
 .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
 .timeline .audit-step{border-right:1px solid var(--line)}
 .timeline .audit-step:nth-child(even){border-right:0}
 .timeline .audit-step:nth-child(3){border-right:1px solid var(--line)}
 .timeline .audit-step:nth-child(n+3){border-top:1px solid var(--line)}
 .timeline .audit-step:last-child{border-right:0}
 .timeline-strip{grid-template-columns:1fr}
 .period{border-right:0;border-bottom:1px solid rgba(220,239,226,.2)}
 .period:last-child{border-bottom:0}
 .partygrid{grid-template-columns:1fr}
 .twocol,.proofgrid{grid-template-columns:1fr}
 .actionsteps{grid-template-columns:1fr}
 .actionsteps .step{border-right:0;border-bottom:1px solid var(--line)}
 .actionsteps .step:last-child{border-bottom:0}
 .source-list{columns:1;padding-left:17px}
 .footer .row{display:block}
 .footer .row>div+div{margin-top:7px}
 .chart{min-width:530px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media print{
 body{background:#fff}
 .hero{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .nav,.actionbar,.sharebar,.switches,.request button{display:none!important}
 .shell{max-width:none;padding:0 12px}
 .card,.metric{box-shadow:none;break-inside:avoid}
 .section{padding-top:28px}
 a{color:inherit}
}


/* BAY LEDGER · Editorial civic atlas */
:root{
  --ink:#142d30;--muted:#5d7370;--paper:#f4f2eb;--card:#fffef9;--line:#d9ded5;
  --navy:#0b3035;--sea:#176a66;--mint:#bfd9c9;--gold:#dfae59;--coral:#aa4938;
  --sans:"DM Sans",ui-sans-serif,system-ui,sans-serif;--serif:"Newsreader",Georgia,serif;
  --mono:"DM Sans",ui-monospace,monospace;--shadow:0 24px 60px rgba(20,45,48,.075);
  --ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:#145d59;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#9b4739}
button,select{font:inherit}
button{cursor:pointer}
::selection{background:#c8dfd0;color:#12383a}
.skip-link{position:absolute;z-index:99;left:16px;top:-50px;padding:10px 14px;background:#fff;color:#12383a}
.skip-link:focus{top:10px}
.shell{max-width:1440px;margin:auto;padding-right:clamp(20px,4vw,64px);padding-left:clamp(20px,4vw,64px)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#f8f6ef;border-top:5px solid var(--gold);padding-bottom:30px}
.hero:before{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:min(62vw,860px);background:url("tidal-lines.svg") right center/contain no-repeat;opacity:.4;animation:coast-drift 32s ease-in-out infinite alternate;pointer-events:none}
.hero:after{content:"";position:absolute;z-index:-1;width:440px;height:440px;border:1px solid rgba(224,174,89,.18);border-radius:50%;right:28%;top:100px;box-shadow:0 0 0 38px rgba(224,174,89,.025),0 0 0 82px rgba(224,174,89,.02)}
@keyframes coast-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-22px,10px,0) scale(1.035)}}
.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(230,240,231,.16)}
.brand{display:inline-flex;align-items:center;gap:12px;color:#f8f6ef;text-decoration:none}
.topbar .brand:before{display:none}
.brand img{width:32px;height:32px;padding:4px;border:1px solid rgba(223,174,89,.78);border-radius:50%}
.brand span{font-size:10px;font-weight:800;letter-spacing:.19em}
.brand i{font-style:normal;color:var(--gold);padding:0 4px}
.topbar-meta{display:flex;align-items:center;gap:12px;color:#bfd1cb;font-size:9px;font-weight:750;letter-spacing:.12em}
.meta-divider{color:#dbae59}
.chapter-nav{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;border-bottom:1px solid rgba(230,240,231,.17);scrollbar-width:none}.chapter-nav::-webkit-scrollbar{display:none}
.chapter-nav .report-link{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:44px;padding:12px 10px 10px;border:0;border-bottom:2px solid transparent;color:#cbdcd4;background:transparent;transition:color .18s,border-color .18s,background .18s}
.chapter-nav .report-link:hover{padding-left:10px;background:rgba(255,255,255,.045);color:#fff}
.chapter-nav .report-link[aria-current="page"]{border-bottom-color:var(--gold);background:rgba(255,255,255,.035);color:#fff}
.chapter-nav .report-index{grid-row:auto;color:var(--gold);font-size:8px}
.chapter-nav .report-label{font-size:9px;font-weight:700;white-space:nowrap}
.chapter-nav .report-subtitle{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:70px;align-items:end;padding-top:clamp(40px,5.4vw,68px);padding-bottom:15px;position:relative;z-index:1}
.hero-copy{animation:rise-in .8s var(--ease) both}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.kicker{display:flex;align-items:center;gap:10px;color:#c5dfcf;font-size:10px;font-weight:750;letter-spacing:.18em;margin:0 0 22px}
.kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(223,174,89,.13)}
.hero h1{max-width:970px;margin:0 0 20px;font:380 clamp(44px,6.5vw,84px)/.91 var(--serif);letter-spacing:-.045em;text-wrap:balance;color:#f8f6ef}
.hero .lede{max-width:68ch;color:#d4e0da;font-size:15px;line-height:1.72;margin:0}
.hero-note{max-width:320px;padding:14px 0 0;border:0;border-top:1px solid var(--gold);color:#d0dcd5;font-size:12px;line-height:1.7;animation:rise-in .8s .16s var(--ease) both}
.hero-note .note-index{display:block;margin-bottom:22px;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.17em}
.hero-note strong{display:block;margin-bottom:9px;color:#fff4d7;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.hero-note>span:not(.note-index){display:block}
.hero-note>a{display:inline-block;margin-top:15px;color:#d8eadc;font-size:10px;font-weight:750;letter-spacing:.06em;text-decoration:none}
.hero-note>a span{color:var(--gold);margin-left:5px}
.sharebar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:25px;padding-top:18px;border-top:1px solid rgba(230,240,231,.16);position:relative;z-index:3}
.share-intro{max-width:300px;color:#b9ccc4;font-size:10px;line-height:1.5}
.share-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.share-controls button,.share-controls>a,.share-more summary,.share-more-links>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(224,239,229,.25);border-radius:2px;background:rgba(255,255,255,.025);color:#f3f3ec;padding:8px 10px;font-size:9px;font-weight:750;text-decoration:none;transition:background .2s var(--ease),border-color .2s,color .2s,transform .2s}
.share-controls button:hover,.share-controls>a:hover,.share-more summary:hover,.share-more-links>a:hover{background:rgba(255,255,255,.11);border-color:var(--gold);color:white;transform:translateY(-1px)}
.social-icon{width:14px;height:14px;fill:currentColor;flex:none}
.social-wordmark{width:14px;height:14px;display:grid;place-items:center;border-radius:1px;background:#0a66c2;color:white;font:800 9px/1 Arial,sans-serif}
.share-more{font-size:10px}.share-more summary{list-style:none;cursor:pointer}.share-more summary::-webkit-details-marker{display:none}.share-more[open]{flex-basis:100%}.share-more-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.share-status{flex-basis:100%;min-height:1em;margin:0;color:#d7c38d;font-size:10px}
.site-shell{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:start;gap:clamp(36px,6vw,92px);padding-top:48px;padding-bottom:84px}
.site-rail{position:sticky;top:24px;align-self:start;padding:8px 0 0;min-width:0;width:100%}
.rail-heading{display:flex;justify-content:space-between;gap:8px;margin:0 0 16px;color:#4d6f68;font-size:9px;font-weight:800;letter-spacing:.17em}
.rail-heading span{font-weight:600;letter-spacing:.06em;color:#82918a}
.report-nav{display:grid;gap:3px}
.report-link{display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:11px;align-items:center;position:relative;padding:9px 10px;color:#395452;text-decoration:none;border-left:1px solid #cbd5cc;transition:background .2s var(--ease),color .2s,border-color .2s,padding .2s}
.report-link:hover{padding-left:14px;color:#124d4b;background:rgba(255,255,255,.44)}
.report-link[aria-current="page"]{border-left:2px solid var(--coral);background:#e8ebe1;color:#123d3d}
.report-index{grid-row:span 2;color:#86968e;font:600 9px/1 var(--sans);font-variant-numeric:tabular-nums}
.report-link[aria-current="page"] .report-index{color:var(--coral)}
.report-label{font-size:11px;font-weight:750;line-height:1.2}
.report-subtitle{margin-top:2px;color:#7a8c84;font-size:9px;line-height:1.2}
.rail-note{display:grid;grid-template-columns:27px 1fr;gap:10px;align-items:start;margin-top:28px;padding:14px 0;border-top:1px solid #cdd7ce;border-bottom:1px solid #cdd7ce}
.rail-seal{display:grid;place-items:center;width:24px;height:24px;border:1px solid #7fa58e;border-radius:50%;color:#2f7065;font-size:12px}
.rail-note p{margin:0;color:#687d76;font-size:9px;line-height:1.55}
.rail-note strong{color:#1c4745;font-size:10px}
.rail-sources{display:flex;justify-content:space-between;margin-top:13px;color:#617a72;font-size:9px;text-decoration:none}.rail-sources span{color:var(--coral)}
.site-main{min-width:0;width:100%;padding:0!important;max-width:none!important}
.content-meta{display:flex;align-items:center;gap:12px;margin:5px 0 0;color:#6d8179;font-size:9px;font-weight:800;letter-spacing:.15em}
.meta-rule{width:34px;height:1px;background:var(--gold)}
.report-content{min-width:0}
.report-content .section{padding:48px 0 0;scroll-margin-top:25px}
.report-content>.section:first-child{padding-top:28px}
.report-content .section-head{grid-template-columns:120px minmax(0,1fr);gap:24px;margin-bottom:25px}
.report-content .eyebrow{padding-top:9px;color:#a44834;font:700 9px/1.5 var(--sans);letter-spacing:.1em}
.report-content h2{font:440 clamp(32px,4.1vw,51px)/.99 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.report-content .section-head p{max-width:68ch;color:#657873;font-size:12px;line-height:1.7}
.report-content .card{border:1px solid #d9ded5;border-radius:3px;background:#fffef9;box-shadow:0 10px 28px rgba(20,45,48,.035)}
.report-content .panel{padding:24px}
.report-content .panel h3,.report-content .finding h3{font:480 22px/1.12 var(--serif);letter-spacing:-.015em}
.report-content .panel .sub{font-size:10px;line-height:1.65;color:#6b7f79}
.report-content .callout{border-left:2px solid #6e9b8b;border-radius:0;background:#edf0e8;color:#344e4c;font-size:11px;line-height:1.7}
.report-content .thesis{border-left:3px solid var(--gold)}
.report-content .metrics{margin:24px 0 0;background:#fdfcf7;border:1px solid #d7ddd4;box-shadow:none;border-radius:3px;overflow:hidden}
.report-content .metric{background:transparent;border:0;border-right:1px solid #d7ddd4;border-radius:0;box-shadow:none;padding:18px 19px;min-height:122px}
.report-content .metric:last-child{border-right:0}
.report-content .metric .value{font:470 clamp(26px,3vw,38px)/1.05 var(--serif);color:#1d514d;font-variant-numeric:tabular-nums}
.report-content .metric .label{font-size:10px;line-height:1.4}.report-content .metric .detail{font-size:9px;line-height:1.45;color:#75867f}
.report-content .community-banner{margin:26px 0 0;padding:20px 21px;border:1px solid #d0dbd0;border-left:3px solid var(--sea);border-radius:2px;background:#fbfaf4;box-shadow:none;grid-template-columns:35px 1fr}
.report-content .community-mark{width:31px;height:31px;background:#e6eee4}.report-content .community-mark svg{width:18px;height:18px}
.report-content .community-banner h2{font-size:25px}.report-content .community-banner p{font-size:11px;line-height:1.65}
.report-content .community-kicker{font-size:9px;letter-spacing:.11em}
.report-content .community-banner .privacy-line{font-size:10px}
.chapter-section{padding-top:56px!important}
.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cbd5cc}
.chapter-link{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;gap:13px;align-items:start;min-height:110px;padding:21px 16px;border-bottom:1px solid #cbd5cc;color:var(--ink);text-decoration:none;transition:background .22s var(--ease),padding .22s var(--ease)}
.chapter-link:nth-child(odd){border-right:1px solid #cbd5cc}
.chapter-link:hover{background:#ebeee5;padding-left:21px;color:var(--ink)}
.chapter-number{padding-top:3px;color:var(--coral);font:650 10px/1 var(--sans);letter-spacing:.04em}
.chapter-copy strong{display:block;font:520 22px/1.05 var(--serif)}
.chapter-copy small{display:block;margin-top:8px;color:#687b75;font-size:10px;line-height:1.5}
.chapter-arrow{color:#a54b38;font-size:17px;transition:transform .2s var(--ease)}
.chapter-link:hover .chapter-arrow{transform:translate(2px,-2px)}
.page-turns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:68px 0 0;padding-top:17px;border-top:1px solid #c7d0c7}
.page-turn{display:flex;flex-direction:column;gap:4px;color:#6d8178;text-decoration:none}
.page-turn span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.page-turn strong{font:500 20px/1.1 var(--serif);color:#183e3d}
.page-turn.next{text-align:right}.page-turn-empty{visibility:hidden}
.footer{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin-top:28px;padding-top:20px;border-top:1px solid #c7d0c7;color:#71817b;font-size:9px}
.footer-mark{display:flex;align-items:center;gap:8px;color:#315a53;font-size:9px;font-weight:800;letter-spacing:.15em}
.footer-mark img{opacity:.8}.footer p{margin:0;text-align:right}
.footer-links{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.footer-links a{color:#446961;text-decoration:none}.footer-links a:hover{text-decoration:underline}
.reading-progress{position:fixed;z-index:100;left:0;top:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left center;pointer-events:none}
[data-reveal]{opacity:1;transform:none}
.has-motion [data-reveal]:not(.is-visible){opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--reveal-order,0)*55ms)}
.has-motion [data-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--reveal-order,0)*55ms)}
.report-content .switches button,.report-content .request button{border-radius:2px;transition:transform .18s var(--ease),background .18s,border-color .18s}
.report-content .switches button:hover,.report-content .request button:hover{transform:translateY(-1px)}
.report-content :focus-visible,.report-nav :focus-visible,.share-controls :focus-visible{outline:3px solid #d6a54b;outline-offset:3px}
@media(max-width:1050px){.site-shell{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:25px}.site-rail{position:sticky;top:0;z-index:30;padding:5px 0 0;background:var(--paper);border-bottom:1px solid #d3dbd1}.rail-heading{display:none}.report-nav{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px 0 8px;min-width:0;max-width:100%;width:100%}.report-link{flex:0 0 150px;min-height:48px;border-left:0;border-bottom:1px solid #cbd5cc;padding:9px 8px;grid-template-columns:22px 1fr}.report-link[aria-current="page"]{border-left:0;border-bottom:2px solid var(--coral)}.report-link:hover{padding-left:11px}.report-subtitle{display:none}.rail-note,.rail-sources{display:none}.site-main{padding-top:0!important}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:28px;padding-top:52px}.hero-note{max-width:560px}.hero-note .note-index{margin-bottom:9px}.hero:before{width:90vw;opacity:.27}.sharebar{align-items:flex-start}.share-intro{max-width:none;flex-basis:100%}.share-controls{width:100%}.share-controls button,.share-controls>a{flex:1 1 auto}.report-content .section-head{grid-template-columns:1fr;gap:4px}.report-content .eyebrow{padding-top:0}.report-content .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-content .metric:nth-child(2){border-right:0}.report-content .metric:nth-child(n+3){border-top:1px solid #d7ddd4}.chapter-grid{grid-template-columns:1fr}.chapter-link:nth-child(odd){border-right:0}.chapter-link{min-height:88px;padding:17px 10px}.chapter-copy strong{font-size:20px}.footer{grid-template-columns:1fr}.footer p{text-align:left}.footer-links{grid-column:1}.page-turns{margin-top:45px}}
@media(max-width:520px){.topbar{min-height:62px}.topbar-meta{font-size:8px;gap:6px}.topbar-meta span:first-child{display:none}.brand span{font-size:9px;letter-spacing:.14em}.hero h1{font-size:clamp(45px,13.5vw,68px)}.hero .lede{font-size:13px}.hero-grid{padding-top:42px}.share-controls{gap:5px}.share-controls button,.share-controls>a,.share-more summary{padding:7px 8px;font-size:8px}.site-shell{padding-bottom:52px}.report-link{flex-basis:132px}.report-content .section{padding-top:39px}.report-content>.section:first-child{padding-top:20px}.report-content .metrics{margin-top:15px}.report-content .metric{padding:13px 11px;min-height:116px}.report-content .metric .value{font-size:29px}.report-content .metric .label{font-size:9px}.report-content .metric .detail{font-size:8px}.report-content .community-banner{grid-template-columns:26px 1fr;padding:15px 12px;gap:9px}.report-content .community-mark{width:25px;height:25px}.report-content .community-banner h2{font-size:22px}.report-content .panel{padding:17px 15px}.chapter-copy small{font-size:9px}.page-turns{gap:8px}.page-turn strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before{animation:none!important}.hero-copy,.hero-note{animation:none!important}.has-motion [data-reveal],.has-motion [data-reveal].is-visible{opacity:1!important;transform:none!important;transition:none!important}.chapter-link,.report-link,.share-controls button,.share-controls>a{transition:none!important}}
@media print{.hero{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-nav,.sharebar,.page-turns{display:none!important}.site-shell{display:block;padding:0}.site-rail{display:none}.report-content .section{padding-top:24px}.report-content .card{box-shadow:none;break-inside:avoid}}
