/* Dated comparisons, rendered as HTML and SVG before any JavaScript runs. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.understand-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:60px;padding-block:60px 42px;align-items:center}
.understand-hero h1{font-size:clamp(42px,5vw,66px);max-width:15ch;margin-bottom:20px}
.understand-hero .intro{font-size:18px;max-width:59ch}
.understand-hero .source-note{font-size:13px}
.visual-route,.campaign-route{border:1px solid var(--theme-border, #c4d1bd);background:var(--theme-soft, #edf3e8);border-radius:16px;padding:28px}
.visual-route p,.campaign-route p{font-size:14px;margin-bottom:14px}
.visual-route a,.campaign-route a{display:flex;align-items:center;gap:13px;min-height:48px;font-weight:700;font-size:14px;border-top:1px solid var(--theme-border, #c4d1bd);text-decoration:none}
.visual-route a span{font:22px Georgia,serif;color:var(--theme-readable, #557d66)}
.visual-route a:hover,.campaign-route a:hover{text-decoration:underline}
.research-disclosure{margin-bottom:48px}
.research-disclosure>summary{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.research-body{padding-top:16px}
.data-section{padding-block:48px;border-top:1px solid var(--theme-border, #cbd7ca);scroll-margin-top:112px}
.data-section h2{font-size:clamp(30px,3.3vw,42px);max-width:24ch;margin-bottom:18px}
.data-section .section-lead{font-size:17px;max-width:78ch}
.data-section .eyebrow{margin-bottom:12px}
.data-date{display:inline-block;color:var(--theme-readable, #49625a);background:var(--theme-soft, #edf3e8);border:1px solid var(--theme-border, #cad8c4);border-radius:5px;padding:5px 10px;font-size:12px;margin-bottom:18px}
.data-context{font-size:14px;max-width:87ch;color:var(--theme-readable, #53655f)}
.data-controls{display:inline-flex;flex-wrap:wrap;gap:5px;background:var(--theme-soft, #e6ede2);padding:5px;border-radius:9px;margin:8px 0}
.data-controls button{min-height:44px;padding:9px 18px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-size:14px;font-weight:700}
.data-controls button[aria-pressed="true"]{background:var(--theme-surface, white);border-color:var(--theme-border, #aabd9f);box-shadow:0 2px 5px #18373312}
.trend-status{font-size:13px;color:var(--theme-readable, #52675e);margin:4px 0 20px}
.school-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.school-chart{margin:0;background:var(--theme-surface, white);border:1px solid var(--theme-border, #d1dccc);border-radius:12px;padding:22px 18px 16px;min-width:0}
.school-chart.featured{border-color:var(--theme-border, #688f79);box-shadow:inset 0 3px 0 #0e6470}
.school-chart h3{font-size:18px;line-height:1.35;margin:0 0 8px;min-height:49px}
.school-chart .chart-result{font:28px/1.3 Georgia,serif;color:var(--theme-strong, var(--green));margin:0 0 8px}
.school-chart .chart-result small{font:13px Arial,sans-serif;color:var(--theme-readable, #53655f)}
.school-chart figcaption{font-size:12px;color:var(--theme-readable, #53655f);margin-top:4px}
.comparison-plot{width:100%;height:auto;display:block;overflow:visible}
.comparison-plot .grid{stroke:var(--theme-border, #e0e7dd);stroke-width:1}
.comparison-plot .baseline{stroke:#758b80;stroke-dasharray:4 4}
.comparison-plot text{font:12px Arial,sans-serif;fill:var(--theme-readable, #4f655b)}
.comparison-plot .series{fill:none;stroke:var(--theme-chart-secondary, #5f7f6b);stroke-width:3;stroke-linejoin:round}
.featured .comparison-plot .series{stroke:var(--theme-chart-main, #0e6470)}
.comparison-plot .point{fill:var(--theme-chart-secondary, #5f7f6b);stroke:var(--theme-border, white);stroke-width:2}
.featured .comparison-plot .point{fill:var(--theme-chart-main, #0e6470)}
.comparison-plot .end-value{font-weight:700;fill:var(--ink)}
.chart-footnote{font-size:13px;line-height:1.7;max-width:92ch;margin-top:18px}
.chart-footnote a{white-space:normal}
.data-disclosure{border-top:1px solid var(--theme-border, #d1dccc);margin-top:16px}
.data-disclosure>summary{font-size:15px;line-height:1.5;padding:16px 4px;min-height:52px}
.data-disclosure>p{font-size:14px;max-width:90ch;margin:0 0 18px}
.case-subsection{max-width:92ch;margin-top:26px;scroll-margin-top:112px}
.case-subsection h3{font-size:clamp(22px,2.4vw,28px);line-height:1.25;margin:0 0 12px}
.case-subsection p{font-size:15px;line-height:1.7;margin:0}
.case-subsection a{overflow-wrap:anywhere}
#budget-actuals,#forecast-method{scroll-margin-top:112px}
.data-table-scroll{overflow-x:auto;border:1px solid var(--theme-border, #d5dfcf);border-radius:9px;background:var(--theme-surface, white);margin-bottom:20px}
.data-table-scroll table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.5}
.data-table-scroll caption{text-align:left;padding:16px;font-weight:700;color:var(--ink)}
.data-table-scroll th,.data-table-scroll td{padding:12px 14px;border-bottom:1px solid var(--theme-border, #e1e7dd);text-align:right;vertical-align:middle;white-space:nowrap}
.data-table-scroll th:first-child,.data-table-scroll td:first-child{text-align:left;white-space:normal;min-width:160px}
.data-table-scroll thead th{background:var(--theme-soft, #edf3e8);color:var(--ink);font-weight:700}
.data-table-scroll tr.featured th,.data-table-scroll tr.featured td{background:var(--theme-soft, #edf6f2);font-weight:700}
.data-table-scroll tbody tr:last-child>*{border-bottom:0}
.data-table-scroll .phase-label{display:block;font-size:11px;font-weight:400;color:var(--theme-readable, #64766a)}
.place-list{display:grid;gap:16px;margin:24px 0}
.place-row{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.4fr) auto;align-items:center;gap:20px;padding:18px 22px;border:1px solid var(--theme-border, #d1dccc);border-radius:10px;background:var(--theme-surface, white)}
.place-row.featured{border-color:var(--theme-border, #688f79)}
.place-row h3{font-size:17px;margin:0}
.place-row .place-total{font-size:13px;color:var(--theme-readable, #53655f);display:block;margin-top:5px}
.place-row svg{width:100%;height:20px;display:block}
.place-row .place-ratio{font:28px/1.2 Georgia,serif;color:var(--ink);white-space:nowrap;text-align:right}
.place-row .place-ratio small{display:block;font:11px Arial,sans-serif;color:var(--theme-readable, #53655f);margin-top:6px}
.place-filled{fill:var(--theme-chart-secondary, #668674)}.featured .place-filled{fill:var(--theme-chart-main, #0e6470)}.place-empty{fill:#e1e9d9}
.places-key{display:flex;gap:22px;font-size:13px;margin:20px 0;flex-wrap:wrap}
.places-key span{display:inline-flex;align-items:center;gap:8px}
.places-key i{display:inline-block;width:15px;height:15px;border-radius:3px;background:#668674}
.places-key .empty-key{background:#e1e9d9;border:1px solid #a5b49a}
.cohort-list{display:grid;gap:16px;margin:24px 0}
.cohort-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:center;padding:20px;border:1px solid var(--theme-border, #d1dccc);border-radius:12px;background:var(--theme-surface, white)}
.cohort-row.featured{border-color:var(--theme-border, #688f79)}
.cohort-row h3{font-size:17px;margin:0 0 7px}
.cohort-row p{font-size:13px;margin:0;color:var(--theme-readable, #53655f)}
.cohort-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cohort-cell{background:#f2f5ec;border-radius:6px;text-align:center;padding:9px 0;color:#173d32;min-width:0}
.cohort-cell .year-label{display:block;font-size:12px;line-height:1.5}
.cohort-cell strong{display:block;font-size:23px;font-weight:600;line-height:1.5}
.band-1{background:#eef4e6}.band-2{background:#dceacb}.band-3{background:#c2d9ad}.band-4{background:#97bd8c}.band-5{background:#3e6d52;color:#fff}
.cohort-key{display:flex;align-items:center;gap:5px;font-size:12px;margin-top:18px}
.cohort-key i{width:18px;height:14px;display:block;border-radius:2px}
.cohort-key span:first-child{margin-right:5px}.cohort-key span:last-child{margin-left:5px}
.reading-note{padding:20px 24px;border-left:3px solid var(--theme-border, #84a57d);background:var(--theme-soft, #edf3e8);margin-top:24px;font-size:15px;max-width:92ch}
.reading-note p:last-child{margin-bottom:0}
.proposal-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0}
.proposal-comparison article{padding:28px;border:1px solid var(--theme-border, #d1dccc);border-radius:12px;background:var(--theme-surface, white)}
.proposal-comparison h3{font-size:21px}.proposal-comparison p{font-size:15px}.proposal-comparison .proposal-type{font-size:12px;display:inline-block;padding:5px 10px;border-radius:5px;background:var(--theme-warm-surface, #f6edda);color:var(--theme-warm-text, #725722)}
.data-method{background:var(--theme-soft, #edf1e9);margin-top:20px;border-radius:16px;padding:32px}
.data-method h2{font-size:32px}.data-method li,.data-method p{font-size:14px;max-width:90ch}
.data-method li{padding:4px 0}.data-method a{overflow-wrap:anywhere}
.data-next{padding-block:48px 70px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.data-next h2{font-size:31px;margin:0 0 12px}.data-next p{max-width:65ch;font-size:15px;margin:0}.data-next .button{flex-shrink:0}
.visual-preview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.65fr);gap:32px;align-items:center;background:#143936;color:#e4eee5;border-radius:14px;padding:30px 34px;margin-bottom:28px}
.visual-preview .eyebrow{color:#c0dda9;margin-bottom:10px}.visual-preview h3{font:29px/1.2 Georgia,serif;color:white;margin-bottom:12px}.visual-preview p{font-size:15px;margin:0;max-width:64ch}.visual-preview .button{background:var(--theme-soft, #d9f2c7);color:var(--theme-readable, #143936);justify-content:center;text-align:center}
@media(max-width:1100px){.data-section{scroll-margin-top:24px}}
@media(max-width:850px){.understand-hero{gap:30px;grid-template-columns:1fr}.understand-hero .intro{max-width:70ch}.visual-route{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px}.visual-route p{grid-column:1/-1;margin:0}.visual-route a{font-size:13px}.cohort-row{grid-template-columns:160px minmax(0,1fr)}.school-charts{gap:12px}.school-chart{padding-inline:12px}.school-chart h3{font-size:16px}.place-row{gap:16px;grid-template-columns:minmax(150px,.85fr) minmax(0,1fr) auto}}
@media(max-width:650px){.understand-hero{padding-top:34px;gap:18px}.understand-hero .intro{font-size:16px}.visual-route{grid-template-columns:1fr;gap:0;padding:16px 22px}.visual-route p{margin-bottom:8px}.visual-route a{font-size:14px;min-height:48px}.school-charts{grid-template-columns:1fr;gap:16px}.school-chart{padding:20px 18px 14px}.school-chart h3{min-height:0;font-size:18px}.comparison-plot{max-width:370px;margin-inline:auto}.school-chart .chart-result{font-size:29px}.data-section{padding-block:34px}.data-section .section-lead{font-size:16px}.data-controls{display:flex}.data-controls button{flex:1;padding-inline:10px}.place-row{grid-template-columns:minmax(0,1fr) auto;padding:18px;gap:14px}.place-row svg{grid-column:1/-1;grid-row:2}.place-row .place-ratio{font-size:25px}.cohort-row{grid-template-columns:1fr;gap:14px;padding:18px 12px}.cohort-row h3,.cohort-row p{margin-left:4px}.cohort-cells{gap:4px}.cohort-cell strong{font-size:21px}.cohort-cell .year-label{font-size:11px}.proposal-comparison{grid-template-columns:1fr;gap:16px}.proposal-comparison article{padding:22px}.data-method{padding:24px 20px}.data-method ul{padding-left:20px}.data-next{flex-direction:column;align-items:flex-start;padding-block:36px 48px}.visual-preview{grid-template-columns:1fr;padding:26px 22px;gap:22px}.visual-preview h3{font-size:27px}.visual-preview .button{justify-self:start}.reading-note{padding:18px}.data-table-scroll th,.data-table-scroll td{padding:10px}.case-subsection,#budget-actuals,#forecast-method{scroll-margin-top:24px}}
@media print{.visual-route,.data-controls,.data-next{display:none!important}.understand-hero{display:block}.school-charts{grid-template-columns:repeat(3,minmax(0,1fr))}.data-section{break-inside:avoid}.data-disclosure>*{display:block!important}.data-table-scroll{overflow:visible}.data-table-scroll th,.data-table-scroll td{white-space:normal}.data-method{background:#eee}}

/* Learning stays within the existing comparison route; facets stack on phones. */
.attainment-figure{margin:24px 0}.attainment-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:850px}.attainment-charts svg{display:block;width:100%;height:auto;background:var(--theme-surface, white);border:1px solid var(--theme-border, #cbd7ca);border-radius:12px}.attainment-charts text{font:12px Arial,sans-serif;fill:var(--theme-readable, #143936)}.attainment-charts .attainment-name{font-weight:700;font-size:14px}.attainment-bar{fill:var(--theme-chart-main, #0e6470)}.attainment-bar.series-1{fill:var(--theme-chart-secondary, #587258)}.attainment-bar.series-2{fill:var(--theme-chart-third, #7e6332)}.attainment-charts .grid{stroke:#758b80}.attainment-figure figcaption{font-size:13px;max-width:85ch;margin-top:14px}.learning-context{border-top:1px solid var(--theme-border, #cbd7ca);margin-top:30px;padding-top:24px;scroll-margin-top:112px}.learning-context h3{font-size:25px}.learning-context p,.learning-context li{font-size:15px;max-width:90ch}.learning-context li{margin-block:8px}.learning-downloads{font-size:14px}.visual-preview a:not(.button){color:#d9f2c7;text-underline-offset:3px}.visual-preview p+p{margin-top:12px}#attainment-tables,#attainment-method{scroll-margin-top:112px}
@media(max-width:850px) and (min-width:651px){.visual-route{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.attainment-charts{grid-template-columns:1fr;max-width:320px;margin-inline:auto}.learning-context,#attainment-tables,#attainment-method{scroll-margin-top:24px}}
/* Avoid moving the chart link beneath a click during direct section arrival. */
html:has(#learning-and-results:target){scroll-behavior:auto}

/* A short answer stays visible; each optional comparison has one clear entry. */
html:has(.understand-hero){scroll-behavior:auto}
.understand-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:40px 32px}
.understand-hero>*{min-width:0}
.data-section h2,.data-method h2,.data-next h2{overflow-wrap:anywhere}
.understand-hero h1{font-size:clamp(36px,4.5vw,56px);max-width:none;margin-bottom:14px;overflow-wrap:anywhere}
.understand-hero .intro{max-width:65ch;margin-bottom:12px}
.visual-route{display:flex;flex-wrap:wrap;gap:0 24px;padding:16px 20px;background:transparent;border-radius:10px}
.visual-route p{flex-basis:100%;font-weight:700;margin:0 0 4px}
.visual-route a{min-height:44px;border:0;text-decoration:underline;text-underline-offset:4px}
.data-section{padding-block:32px;max-width:960px}
.data-section h2{font-size:clamp(27px,3vw,36px);max-width:32ch;margin-bottom:14px}
.data-section .section-lead{font-size:18px;line-height:1.6;max-width:70ch;margin-bottom:14px}
.data-context{font-size:15px;line-height:1.65;max-width:80ch;margin-bottom:14px}
.data-date{margin-bottom:12px}
.data-section>.chart-footnote{margin:12px 0 16px;max-width:85ch}
.data-disclosure{margin-top:10px;border:1px solid var(--theme-border, #d1dccc);border-radius:8px;background:var(--theme-surface, #fff)}
.data-disclosure>summary{cursor:pointer;font-weight:700;padding:15px 18px;min-height:52px;font-size:15px;color:var(--ink)}
.data-disclosure[open]>summary{border-bottom:1px solid var(--theme-border, #d1dccc)}
.data-disclosure>summary:hover{text-decoration:underline;text-underline-offset:4px}
.disclosure-body{padding:20px}
.disclosure-body>:first-child{margin-top:0}
.disclosure-body>:last-child{margin-bottom:0}
.disclosure-body>.data-disclosure{background:transparent}
.data-disclosure>p,.data-disclosure>ul{margin:18px}
.data-disclosure>.data-table-scroll{margin:18px}
.data-disclosure>.reading-note{margin:18px}
.data-disclosure .section-lead{font-size:16px}
.data-disclosure[id]{scroll-margin-top:112px}
.data-method{max-width:960px;margin-top:0;padding:28px}
.data-method .data-disclosure{margin-bottom:20px}
@media(max-width:1100px){.data-disclosure[id]{scroll-margin-top:24px}}
@media(max-width:650px){.understand-hero{padding-top:28px;gap:18px}.visual-route{gap:0 18px;padding:12px 16px}.visual-route a{font-size:14px}.data-section{padding-block:28px}.data-section .section-lead{font-size:17px}.data-context{font-size:14px}.disclosure-body{padding:16px}.data-disclosure>summary{padding:14px 16px}.data-method{padding:22px 18px}}
@media print{.data-disclosure{border:0}.data-disclosure>summary{font-weight:700}.disclosure-body{padding:0}.data-section{break-inside:auto}}

/* Put the useful findings before the optional topic routes. */
.number-findings{max-width:78ch;margin-top:22px}
.number-findings article+article{margin-top:20px;padding-top:18px;border-top:1px solid var(--theme-border,#cbd7ca)}
.number-findings h2{font:700 19px/1.4 Arial,sans-serif;margin:0 0 6px;overflow-wrap:anywhere}
.number-findings p{font-size:16px;line-height:1.65;margin:0}
.number-findings a{text-underline-offset:3px}
.understand-hero .number-findings+.source-note{margin-top:18px;margin-bottom:0}
@media(max-width:650px){.number-findings{margin-top:18px}.number-findings h2{font-size:18px}.number-findings p{font-size:15px}.number-findings article+article{margin-top:16px;padding-top:16px}}
