:root {
  --paper:#f3efe5; --paper-deep:#e6dfd0; --white:#fffdf8; --ink:#152721; --muted:#68716b;
  --line:#cec5b5; --orange:#e75d2a; --mint:#14796e; --yellow:#d69b2d; --red:#b84931;
  --serif:"Newsreader",Georgia,serif; --sans:"Manrope",sans-serif; --mono:"DM Mono",monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); }
a { color:inherit; }
p,h1,h2,h3 { text-wrap:pretty; }
.site-header { height:70px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 max(24px,4vw); border-bottom:1px solid var(--line); }
.wordmark { font-size:.9rem; font-weight:800; letter-spacing:-.03em; text-decoration:none; }
.wordmark span,.home-link span { color:var(--orange); }
.site-header p { margin:0; color:var(--muted); font-family:var(--mono); font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; }
.site-header p i { padding:0 5px; color:var(--orange); font-style:normal; }
.home-link { justify-self:end; font-size:.72rem; font-weight:700; text-decoration:none; }
main,.site-footer { width:min(1420px,94vw); margin:auto; }
.overline { margin:0 0 18px; color:var(--orange); font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:1200px; margin:0; font-size:clamp(4.4rem,10vw,10rem); letter-spacing:-.075em; line-height:.79; }
h1 em,h2 em { color:var(--orange); font-family:var(--serif); font-weight:500; }
h2 { margin:0; font-size:clamp(2.8rem,5.4vw,5.5rem); letter-spacing:-.055em; line-height:.91; }
.hero { min-height:760px; padding:105px 0 85px; }
.hero-bottom { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:end; margin-top:100px; }
.hero-bottom>p { max-width:620px; margin:0; color:var(--muted); font-size:1.12rem; line-height:1.75; }
.verdict { justify-self:end; width:min(100%,520px); padding:25px; border:1px solid var(--ink); background:var(--white); box-shadow:8px 8px 0 var(--ink); transform:rotate(.4deg); }
.verdict span { color:var(--mint); font-family:var(--mono); font-size:.58rem; letter-spacing:.1em; }
.verdict strong { display:block; margin-top:42px; font-family:var(--serif); font-size:2rem; font-weight:500; line-height:1.05; }
.baseline-section,.network-section,.model-section,.peak-section,.alternatives-section,.traffic-section,.operations-section,.phasing-section,.risks-section,.method-section,.sources-section { padding:110px 0; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:50px; }
.section-heading>p { max-width:500px; margin:0; color:var(--muted); font-size:.8rem; line-height:1.7; }
.baseline-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.baseline-grid article { min-height:310px; padding:24px; background:var(--white); }
.baseline-grid span { color:var(--orange); font-family:var(--mono); font-size:.55rem; }
.baseline-grid strong { display:block; margin-top:72px; font-size:clamp(3.2rem,5vw,5.4rem); letter-spacing:-.07em; }
.baseline-grid p { max-width:240px; margin:12px 0 0; color:var(--muted); font-size:.68rem; line-height:1.55; }
.baseline-note { max-width:850px; margin:24px 0 0; color:var(--muted); font-family:var(--mono); font-size:.58rem; line-height:1.65; }
.utilization-case { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; margin-top:70px; padding:34px; border:1px solid var(--ink); background:var(--white); box-shadow:8px 8px 0 var(--ink); }
.utilization-case h3 { margin:58px 0 0; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.7rem); font-weight:500; letter-spacing:-.035em; line-height:1; }
.utilization-case h3 em { color:var(--orange); font-weight:500; }
.utilization-copy { border-top:1px solid var(--ink); }
.utilization-copy p { margin:0; padding:24px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.76rem; line-height:1.75; }
.utilization-copy strong { color:var(--ink); }
.rail-overview { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }
.rail-map,.rail-cost { border:1px solid var(--ink); background:var(--white); }
.rail-map { padding:24px; }
.rail-map svg { display:block; width:100%; height:auto; background:var(--paper); }
.rail-map>p { margin:16px 0 0; color:var(--muted); font-family:var(--mono); font-size:.52rem; line-height:1.6; }
.map-grid { fill:none; stroke:var(--line); stroke-width:1; }
.line-a,.line-b,.streetcar-line { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.line-a { stroke:var(--orange); stroke-width:18; }
.line-b { stroke:var(--mint); stroke-width:18; }
.streetcar-line { stroke:var(--yellow); stroke-width:8; stroke-dasharray:5 10; }
.stations circle { fill:var(--white); stroke:var(--ink); stroke-width:3; }
.map-labels text { fill:var(--ink); font-family:var(--mono); font-size:15px; }
.map-labels .streetcar-label { fill:var(--yellow); font-size:13px; }
.line-badges text { fill:var(--white); font-family:var(--sans); font-size:20px; font-weight:800; }
.rail-cost { display:flex; flex-direction:column; padding:30px; background:var(--ink); color:var(--white); }
.rail-cost>span { color:var(--mint); font-family:var(--mono); font-size:.57rem; }
.rail-cost>strong { margin-top:70px; font-size:clamp(4rem,7vw,7rem); letter-spacing:-.075em; line-height:.85; }
.rail-cost>b { margin-top:18px; color:var(--paper-deep); font-family:var(--serif); font-size:1.6rem; font-weight:500; }
.rail-cost>p { margin-top:auto; color:var(--paper-deep); font-size:.66rem; line-height:1.65; }
.rail-ledger { display:grid; grid-template-columns:repeat(3,1fr); margin-top:35px; border-top:1px solid var(--ink); }
.rail-ledger>div { display:grid; grid-template-columns:1fr auto; gap:8px 18px; padding:20px 15px; border-bottom:1px solid var(--line); }
.rail-ledger>div:nth-child(3n+1) { padding-left:0; }
.rail-ledger span { grid-column:1/-1; color:var(--muted); font-family:var(--mono); font-size:.53rem; text-transform:uppercase; }
.rail-ledger strong,.rail-ledger b { font-size:.73rem; }
.rail-ledger b { color:var(--orange); text-align:right; }
.brt-plan { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; margin-top:90px; }
.brt-intro h3 { margin:55px 0 20px; font-family:var(--serif); font-size:2.5rem; font-weight:500; line-height:1; }
.brt-intro>p:last-child { color:var(--muted); font-size:.72rem; line-height:1.7; }
.brt-plan ol { margin:0; padding:0; border-top:1px solid var(--ink); list-style:none; }
.brt-plan li { display:grid; grid-template-columns:165px 1fr; gap:12px 24px; padding:26px 0; border-bottom:1px solid var(--line); }
.brt-plan li span { color:var(--mint); font-family:var(--mono); font-size:.53rem; }
.brt-plan li strong { font-family:var(--serif); font-size:1.45rem; font-weight:500; }
.brt-plan li p { grid-column:2; margin:0; color:var(--muted); font-size:.66rem; line-height:1.6; }
.network-pitch { display:grid; grid-template-columns:.35fr 1.65fr; gap:45px; margin-top:70px; padding:30px; border:1px solid var(--ink); background:var(--paper-deep); box-shadow:8px 8px 0 var(--ink); }
.network-pitch strong { color:var(--orange); font-family:var(--mono); font-size:.6rem; text-transform:uppercase; }
.network-pitch p { max-width:880px; margin:0; font-family:var(--serif); font-size:1.45rem; line-height:1.3; }
.model-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:18px; }
.controls,.model-results { border:1px solid var(--ink); background:var(--white); }
.controls { padding:26px; }
.control-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); }
.control-head strong { font-family:var(--serif); font-size:1.3rem; font-weight:500; }
.control-head button { border:0; color:var(--orange); background:transparent; font-family:var(--mono); font-size:.56rem; cursor:pointer; }
.controls label { display:block; padding:18px 0 8px; }
.controls label>span { display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
.controls b { font-size:.68rem; }
.controls output { color:var(--muted); font-family:var(--mono); font-size:.55rem; }
.controls input[type="range"] { width:100%; margin:17px 0 0; accent-color:var(--orange); }
.control-group { margin:16px -26px 0; padding:0 26px 10px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); }
.control-group>p { margin:16px 0 0; color:var(--orange); font-family:var(--mono); font-size:.54rem; text-transform:uppercase; }
.control-note { margin:25px 0 0; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.55rem; line-height:1.65; }
.model-results { display:flex; flex-direction:column; padding:34px; background:var(--paper-deep); box-shadow:8px 8px 0 var(--ink); }
.hero-result span,.result-grid span,.flow-line span,.fleet-row span { color:var(--muted); font-family:var(--mono); font-size:.54rem; text-transform:uppercase; }
.hero-result>strong { display:block; margin:58px 0 8px; font-size:clamp(4rem,8vw,8rem); letter-spacing:-.08em; line-height:.8; }
.hero-result p { max-width:560px; color:var(--muted); font-size:.68rem; line-height:1.55; }
.result-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:auto; background:var(--line); border:1px solid var(--line); }
.result-grid article { min-height:122px; padding:18px; background:var(--white); }
.result-grid strong { display:block; margin-top:27px; font-size:1.35rem; letter-spacing:-.04em; }
.flow-line { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:20px; margin-top:55px; padding:24px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.flow-line div { min-height:80px; }
.flow-line strong { display:block; margin-top:28px; font-size:.8rem; }
.flow-line>b { color:var(--mint); font-family:var(--serif); font-size:1.5rem; }
.fleet-table { margin-top:70px; }
.table-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:25px; }
.table-title h3 { max-width:620px; margin:0; font-family:var(--serif); font-size:2rem; font-weight:500; }
.fleet-row { display:grid; grid-template-columns:1.5fr repeat(5,1fr); gap:20px; align-items:end; padding:24px 0; border-top:1px solid var(--line); }
.fleet-row:first-child { border-color:var(--ink); }
.fleet-row div>strong { display:block; margin-top:8px; font-size:.76rem; }
.fleet-row div:first-child strong { color:var(--orange); font-family:var(--serif); font-size:1.35rem; font-weight:500; }
.capital-split { display:flex; justify-content:flex-end; gap:35px; padding:20px 0; border-top:1px solid var(--ink); color:var(--muted); font-family:var(--mono); font-size:.58rem; }
.capital-split strong { padding-left:7px; color:var(--ink); }
.peak-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; }
.peak-results { display:grid; grid-template-columns:1fr 1fr; gap:1px; border:1px solid var(--ink); background:var(--line); box-shadow:8px 8px 0 var(--ink); }
.peak-results article { min-height:220px; padding:25px; background:var(--white); }
.peak-results article span { color:var(--muted); font-family:var(--mono); font-size:.55rem; text-transform:uppercase; }
.peak-results article strong { display:block; margin:58px 0 8px; font-size:clamp(3rem,5vw,5.5rem); letter-spacing:-.07em; line-height:.85; }
.peak-results article p { color:var(--muted); font-size:.65rem; line-height:1.55; }
.peak-results .governing-result { grid-column:1/-1; background:var(--paper-deep); }
.peak-results .governing-result strong { color:var(--orange); }
.peak-results .peak-capital-result { background:var(--ink); color:var(--white); }
.peak-results .peak-capital-result span,.peak-results .peak-capital-result p { color:var(--paper-deep); }
.od-table { margin-top:70px; }
.od-head,.od-row { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:28px; align-items:center; }
.od-head { padding:12px 0; border-bottom:1px solid var(--ink); color:var(--muted); font-family:var(--mono); font-size:.52rem; text-transform:uppercase; }
.od-row { min-height:78px; border-bottom:1px solid var(--line); }
.od-row>strong { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.od-row>div { display:grid; grid-template-columns:1fr 38px; gap:8px; align-items:center; }
.od-row>div:before { content:""; grid-column:1; grid-row:1; width:100%; height:7px; background:var(--paper-deep); }
.od-row i { grid-column:1; grid-row:1; z-index:1; display:block; max-width:100%; height:7px; background:var(--mint); }
.od-row div:nth-child(3) i { background:var(--orange); }
.od-row span,.od-row b { font-family:var(--mono); font-size:.55rem; font-style:normal; }
.od-row b { font-weight:500; }
.od-row b.receiving { color:var(--orange); }
.od-row b.sending { color:var(--mint); }
.od-note { max-width:900px; margin:25px 0 0 auto; color:var(--muted); font-size:.65rem; line-height:1.65; }
.od-note strong { color:var(--ink); }
.alternative-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.alternative-cards article { min-height:350px; padding:25px; border:1px solid var(--ink); background:var(--white); }
.alternative-cards article>span { color:var(--orange); font-family:var(--mono); font-size:.58rem; text-transform:uppercase; }
.alternative-cards article>strong { display:block; margin:75px 0 18px; font-size:clamp(2.6rem,4vw,4.8rem); letter-spacing:-.065em; line-height:.9; }
.alternative-cards article>strong small { display:block; margin-top:10px; font-family:var(--mono); font-size:.62rem; font-weight:500; letter-spacing:0; }
.alternative-cards article>p { min-height:60px; color:var(--muted); font-size:.7rem; line-height:1.55; }
.alternative-cards article>i { display:block; margin-top:30px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.51rem; font-style:normal; line-height:1.6; }
.operating-comparison { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; margin-top:85px; }
.operating-comparison h3 { max-width:500px; margin:50px 0 0; font-family:var(--serif); font-size:2.2rem; font-weight:500; line-height:1.05; }
.operating-rows { border-top:1px solid var(--ink); }
.operating-rows>div { display:grid; grid-template-columns:1fr 1fr 145px 100px; gap:18px; align-items:center; min-height:74px; border-bottom:1px solid var(--line); }
.operating-rows strong { font-size:.67rem; }
.operating-rows i { height:8px; background:var(--paper-deep); }
.operating-rows em { display:block; height:100%; background:var(--orange); }
.operating-rows b,.operating-rows span { font-family:var(--mono); font-size:.53rem; }
.operating-rows span { color:var(--muted); }
.portfolio-case { display:grid; grid-template-columns:.35fr 1.65fr; gap:45px; margin-top:70px; padding:30px; border:1px solid var(--ink); background:var(--paper-deep); box-shadow:8px 8px 0 var(--ink); }
.portfolio-case strong { color:var(--mint); font-family:var(--mono); font-size:.6rem; text-transform:uppercase; }
.portfolio-case p { max-width:880px; margin:0; font-family:var(--serif); font-size:1.45rem; line-height:1.3; }
.comparison-warning { max-width:900px; margin:50px 0 0 auto; color:var(--muted); font-size:.64rem; line-height:1.7; }
.comparison-warning strong { color:var(--ink); }
.traffic-cases { display:grid; gap:10px; }
.traffic-case { display:grid; grid-template-columns:1fr 110px; gap:25px; align-items:center; padding:24px; border:1px solid var(--ink); background:var(--white); }
.traffic-case div strong,.traffic-case div span { display:block; }
.traffic-case div strong { font-family:var(--serif); font-size:1.4rem; font-weight:500; }
.traffic-case div span { margin-top:4px; color:var(--muted); font-size:.63rem; }
.traffic-case>b { justify-self:end; font-size:1.5rem; }
.traffic-case.reduction>b { color:var(--mint); }
.traffic-case.increase>b { color:var(--red); }
.traffic-case>i { grid-column:1/-1; position:relative; height:8px; background:var(--paper-deep); overflow:hidden; }
.traffic-case>i:after { content:""; position:absolute; left:50%; top:0; width:1px; height:100%; background:var(--ink); }
.traffic-case>i em { display:block; height:100%; background:var(--orange); }
.traffic-case.reduction>i em { background:var(--mint); }
.traffic-rule { display:grid; grid-template-columns:.35fr 1.65fr; gap:45px; margin-top:45px; padding-top:25px; border-top:1px solid var(--ink); }
.traffic-rule strong { color:var(--orange); font-family:var(--mono); font-size:.6rem; text-transform:uppercase; }
.traffic-rule p { max-width:800px; margin:0; font-family:var(--serif); font-size:1.55rem; line-height:1.3; }
.operations-grid,.risk-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.operations-grid article,.risk-grid article { min-height:310px; padding:24px; border:1px solid var(--ink); background:var(--white); }
.operations-grid span { color:var(--orange); font-family:var(--mono); font-size:.58rem; }
.operations-grid h3 { margin:70px 0 15px; font-family:var(--serif); font-size:1.7rem; font-weight:500; }
.operations-grid p,.risk-grid p { color:var(--muted); font-size:.7rem; line-height:1.65; }
.phasing-section { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
.phasing-section>div>p:last-child { max-width:430px; color:var(--muted); font-size:.75rem; line-height:1.7; }
.phasing-section ol { margin:0; padding:0; border-top:1px solid var(--ink); list-style:none; }
.phasing-section li { display:grid; grid-template-columns:90px 170px 1fr; gap:22px; padding:25px 0; border-bottom:1px solid var(--line); }
.phasing-section li span { color:var(--mint); font-family:var(--mono); font-size:.57rem; }
.phasing-section li strong { font-size:.76rem; }
.phasing-section li p { margin:0; color:var(--muted); font-size:.68rem; line-height:1.55; }
.risk-grid article { min-height:245px; }
.risk-grid strong { display:block; margin:52px 0 12px; color:var(--orange); font-family:var(--serif); font-size:1.5rem; font-weight:500; }
.method-section,.sources-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.method-copy { border-top:1px solid var(--ink); }
.method-copy p { margin:0; padding:22px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.72rem; line-height:1.75; }
.method-copy strong { color:var(--ink); }
.source-list { border-top:1px solid var(--ink); }
.source-list a { display:grid; grid-template-columns:140px 1fr auto; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.source-list span { color:var(--muted); font-family:var(--mono); font-size:.54rem; }
.source-list strong { font-size:.7rem; font-weight:500; }
.source-list i { color:var(--orange); font-style:normal; }
.site-footer { display:flex; justify-content:space-between; gap:25px; padding:30px 0 42px; border-top:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.56rem; }
.site-footer p { margin:0; }
.site-footer a { color:var(--orange); text-decoration:none; }

@media (max-width:1000px) {
  .hero-bottom,.rail-overview,.brt-plan,.model-layout,.peak-layout,.phasing-section,.method-section,.sources-section,.utilization-case { grid-template-columns:1fr; }
  .verdict { justify-self:start; }
  .baseline-grid { grid-template-columns:1fr 1fr; }
  .operations-grid,.risk-grid { grid-template-columns:1fr 1fr; }
  .operating-comparison { grid-template-columns:1fr; }
  .fleet-row { grid-template-columns:1.4fr repeat(2,1fr); }
  .flow-line { grid-template-columns:1fr; }
  .flow-line>b { transform:rotate(90deg); text-align:center; }
}
@media (max-width:680px) {
  .site-header { grid-template-columns:1fr 1fr; }
  .site-header p { display:none; }
  .hero { min-height:0; padding:75px 0; }
  h1 { font-size:clamp(4rem,19vw,6rem); }
  .hero-bottom { gap:35px; margin-top:65px; }
  .baseline-section,.network-section,.model-section,.peak-section,.alternatives-section,.traffic-section,.operations-section,.phasing-section,.risks-section,.method-section,.sources-section { padding:75px 0; }
  .section-heading { display:block; }
  .section-heading>p { margin-top:25px; }
  .baseline-grid,.operations-grid,.risk-grid,.result-grid,.alternative-cards { grid-template-columns:1fr; }
  .baseline-grid article { min-height:230px; }
  .utilization-case { gap:30px; padding:24px; }
  .utilization-case h3 { margin-top:35px; }
  .peak-results,.od-head,.od-row { grid-template-columns:1fr; }
  .peak-results .governing-result { grid-column:auto; }
  .od-head { display:none; }
  .od-row { gap:12px; padding:20px 0; }
  .operating-rows>div { grid-template-columns:1fr 110px; gap:10px; padding:16px 0; }
  .operating-rows i { grid-row:2; }
  .operating-rows span { text-align:right; }
  .portfolio-case { grid-template-columns:1fr; gap:18px; padding:24px; }
  .rail-ledger { grid-template-columns:1fr; }
  .rail-ledger>div:nth-child(n) { padding-left:0; }
  .brt-plan li { grid-template-columns:1fr; }
  .brt-plan li p { grid-column:1; }
  .network-pitch { grid-template-columns:1fr; gap:18px; padding:24px; }
  .model-results,.controls { padding:20px; }
  .control-group { margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; }
  .hero-result>strong { margin-top:45px; }
  .fleet-row { grid-template-columns:1fr 1fr; }
  .fleet-row div:first-child { grid-column:1/-1; }
  .capital-split,.table-title,.site-footer { align-items:flex-start; flex-direction:column; }
  .traffic-rule { grid-template-columns:1fr; gap:12px; }
  .phasing-section li { grid-template-columns:75px 1fr; }
  .phasing-section li p { grid-column:2; }
  .source-list a { grid-template-columns:105px 1fr auto; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } }

/* Concise Waymo for All page */
.concise-page .concise-hero { min-height:auto; padding-bottom:55px; }
.concise-page .hero-bottom { align-items:end; margin-top:50px; }
.infographic-link { justify-self:end; padding:16px 20px; border:1px solid var(--ink); color:var(--ink); background:var(--white); font-size:.68rem; font-weight:700; text-decoration:none; box-shadow:5px 5px 0 var(--ink); }
.infographic-link span { padding-left:12px; color:var(--orange); }
.hero-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:75px; border:1px solid var(--ink); background:var(--ink); }
.hero-summary article { min-height:150px; padding:20px; background:var(--white); }
.hero-summary span,.plan-stack span,.cost-ledger span,.annual-cost span { color:var(--muted); font-family:var(--mono); font-size:.53rem; text-transform:uppercase; }
.hero-summary strong { display:block; margin-top:44px; font-size:clamp(1.6rem,3vw,3.3rem); letter-spacing:-.055em; }
.concise-network,.journey-section,.cost-section,.compact-sources { padding:72px 0; border-top:1px solid var(--line); }
.plan-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
.concise-page .freeway { fill:none; stroke:#a8aaa4; stroke-width:9; stroke-linecap:round; }
.concise-page .brt-line { fill:none; stroke:var(--yellow); stroke-width:8; stroke-dasharray:10 12; }
.map-legend { display:flex; flex-wrap:wrap; gap:20px; margin-top:18px; color:var(--muted); font-family:var(--mono); font-size:.52rem; }
.map-legend span { display:flex; align-items:center; gap:7px; }
.map-legend i { display:block; width:34px; height:6px; }
.rail-key { background:var(--mint); }.brt-key { border-top:5px dashed var(--yellow); }.freeway-key { background:#a8aaa4; }
.plan-stack { border-top:1px solid var(--ink); }
.plan-stack article { padding:22px 0; border-bottom:1px solid var(--line); }
.plan-stack strong { display:block; margin:14px 0 8px; font-family:var(--serif); font-size:1.55rem; font-weight:500; }
.plan-stack p { margin:0; color:var(--muted); font-size:.65rem; line-height:1.6; }
.journey-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:0; padding:0; border:1px solid var(--ink); background:var(--ink); list-style:none; }
.journey-flow li { min-height:300px; padding:24px; background:var(--white); }
.journey-flow span { color:var(--orange); font-family:var(--mono); font-size:.58rem; }
.journey-flow strong { display:block; margin:80px 0 14px; font-family:var(--serif); font-size:1.55rem; font-weight:500; }
.journey-flow p { color:var(--muted); font-size:.68rem; line-height:1.65; }
.journey-rule { max-width:900px; margin:35px 0 0 auto; color:var(--muted); font-size:.72rem; line-height:1.7; }
.journey-rule strong { color:var(--ink); }
.cost-ledger { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.cost-ledger article { min-height:235px; padding:24px; border:1px solid var(--ink); background:var(--white); }
.cost-ledger strong { display:block; margin:42px 0 8px; font-size:clamp(2.5rem,4vw,4.5rem); letter-spacing:-.065em; line-height:.85; }
.cost-ledger b { color:var(--orange); font-family:var(--serif); font-size:1.4rem; font-weight:500; }
.cost-ledger p { margin-top:20px; color:var(--muted); font-size:.65rem; line-height:1.55; }
.cost-ledger .total-cost { background:var(--ink); color:var(--white); }
.cost-ledger .total-cost span,.cost-ledger .total-cost p { color:var(--paper-deep); }
.cost-ledger .total-cost strong { color:var(--mint); font-size:clamp(2.3rem,3.7vw,4rem); }
.annual-cost { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:20px; align-items:center; margin-top:60px; padding:28px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.annual-cost div { min-height:80px; }
.annual-cost strong { display:block; margin-top:25px; font-size:1.7rem; }
.annual-cost>b { color:var(--orange); font-family:var(--serif); font-size:1.8rem; }
.cost-note { max-width:900px; margin:28px 0 0 auto; color:var(--muted); font-family:var(--mono); font-size:.54rem; line-height:1.7; }
.compact-sources { grid-template-columns:.6fr 1.4fr; }

@media (max-width:1000px) {
  .plan-grid { grid-template-columns:1fr; }
  .hero-summary,.journey-flow { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .concise-page .concise-hero { padding-top:50px; padding-bottom:42px; }
  .concise-page h1 { font-size:clamp(4rem,18vw,5.2rem); }
  .concise-page h2 { font-size:2.8rem; }
  .concise-page .section-heading { margin-bottom:32px; }
  .concise-page .hero-bottom { gap:28px; margin-top:38px; }
  .infographic-link { justify-self:start; }
  .hero-summary { grid-template-columns:1fr 1fr; margin-top:45px; }
  .hero-summary article { min-height:105px; padding:15px; }
  .hero-summary strong { margin-top:28px; font-size:1.75rem; }
  .concise-network,.journey-section,.cost-section,.compact-sources { padding:58px 0; }
  .journey-flow { grid-template-columns:1fr; }
  .journey-flow li { min-height:0; padding:20px; }
  .journey-flow strong { margin:24px 0 8px; }
  .journey-flow p { margin-bottom:0; }
  .cost-ledger { grid-template-columns:1fr; gap:8px; }
  .cost-ledger article { min-height:0; padding:20px; }
  .cost-ledger strong { margin:28px 0 7px; font-size:2.5rem; }
  .cost-ledger p { margin:14px 0 0; }
  .annual-cost { grid-template-columns:1fr; }
  .annual-cost>b { transform:rotate(90deg); text-align:center; }
  .compact-sources { grid-template-columns:1fr; }
  .compact-sources .source-list a { grid-template-columns:72px 1fr auto; padding:14px 0; }
}
