/* MetaLab. Journal-style serif headings, a plain sans for reading, mono for data.
   Plot blue matches the figures; gold marks only "where you are" and the pooled result. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/Newsreader-500-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/Newsreader-500-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/PublicSans-400-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/PublicSans-400-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
 --ink:#15212e;--text:#15212e;--muted:#56636f;--paper:#f2f4f7;--card:#fff;--surface:#f6f8fa;
 --line:#d5dbe2;--line-soft:#e6eaef;--field:#7d8996;
 --accent:#1f4e79;--accent-dark:#163a5b;--accent-soft:#e9f0f7;--ci:#8796a8;--gold:#c98a1b;--gold-text:#946213;--gold-soft:#c98a1b33;--faint:#6b7785;
 --ok:#2f7d5b;--warn:#8a5300;--warn-line:#d39a2c;--warn-soft:#fff7e8;--bad:#a3261b;--bad-soft:#fdf1ef;
 --serif:'Newsreader',Georgia,'Times New Roman',serif;
 --sans:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
 --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 --radius:12px;
 font-family:var(--sans);color:var(--text);background:var(--paper);
}
*{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.55;background:var(--paper)}
button,input,textarea,select{font:inherit;color:inherit}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-dark)}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.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}
.skip{position:absolute;left:16px;top:-100px;background:#fff;padding:10px;z-index:5}
.skip:focus{top:10px}
code{font-family:var(--mono);font-size:13.5px}

/* Page frame */
.wrap{width:min(1320px,calc(100% - 64px));margin:0 auto}
.site-header{background:var(--ink);color:#fff}
.header-inner{display:flex;align-items:center;gap:14px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font:600 23px/1 var(--serif);color:#fff;text-decoration:none;letter-spacing:.2px}
.brand svg{width:26px;height:20px;flex:none}
.brand:hover{color:#fff}
.brand-tag{color:#b9c4d0;font-size:13.5px;border-left:1px solid #3b4a5a;padding-left:14px}
.header-link{margin-left:auto;font-size:14.5px;color:#dfe7ef}
.header-link:hover{color:#fff}
.site-header :focus-visible{outline-color:#e3a83a}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr) 260px;gap:36px;align-items:start;padding:36px 0 56px}
main{min-width:0}
.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px;background:var(--card)}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;padding:20px 0 28px}
.footer-inner p{margin:0}
.footer-name{color:var(--ink)}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 16px}
.text-button{min-height:32px;padding:0;border:0;background:none;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.text-button:hover{color:var(--accent-dark)}
.info-dialog{width:calc(100% - 32px);max-width:640px;max-height:85vh;padding:24px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--text);font-size:15px}
.info-dialog::backdrop{background:#15212e4d}
.info-dialog p{margin:0 0 12px}
.info-dialog p:last-child{margin-bottom:0}
.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.dialog-head h2{margin:0;font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}
.dialog-close{flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted)}
.dialog-close:hover{background:var(--surface);color:var(--ink)}
.citation-box{margin:0 0 12px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;overflow-wrap:anywhere}

/* Step list, drawn as a forest plot: each step is a study row, Results is the pooled diamond. */
.step-nav{position:sticky;top:24px}
.step-nav ol{position:relative;list-style:none;margin:0;padding:0}
.step-nav ol:before{content:'';position:absolute;left:236px;top:6px;bottom:6px;border-left:1.5px dashed #b8c2cd}
.step-nav a{display:grid;grid-template-columns:minmax(0,1fr) 72px;column-gap:10px;align-items:center;min-height:54px;padding:6px 0 6px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}
.step-nav a:hover{background:#e6ebf1}
.step-name{grid-column:1;font-size:14.5px;font-weight:500;line-height:1.3}
.step-state{grid-column:1;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.step-state:empty{display:none}
.ci{grid-column:2;grid-row:1/span 2;position:relative;height:16px}
.ci:before{content:'';position:absolute;top:50%;left:var(--l);right:var(--r);border-top:1.5px solid var(--ci)}
.ci i{position:absolute;top:50%;left:var(--x);width:11px;height:11px;transform:translate(-50%,-50%);border:1.5px solid var(--ci);background:var(--paper)}
.state-done .step-state{color:var(--ok)}
.state-done .ci i{background:var(--accent);border-color:var(--accent)}
.state-attention .step-state{color:var(--warn)}
.state-attention .ci i{background:var(--warn-line);border-color:var(--warn-line)}
.state-blocked .step-state{color:var(--bad)}
.state-blocked .ci i{background:var(--bad);border-color:var(--bad)}
.step-nav a[aria-current]{background:#e6ebf1}
.step-nav a[aria-current] .step-name{color:var(--accent);font-weight:700}
.step-nav a[aria-current] .ci i{width:15px;height:15px;background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
#nav-results .ci:before{display:none}
#nav-results .ci i{width:34px;height:15px;border:0;background:var(--ci);opacity:.55;clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%);box-shadow:none}
#nav-results.state-done .ci i{background:var(--accent);opacity:1}
#nav-results a[aria-current] .ci i{background:var(--gold);opacity:1;width:34px;height:15px}

/* Plan summary */
.plan{position:sticky;top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 16px}
.plan h2{font:600 20px/1.2 var(--serif);margin:0 0 14px}
.plan dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;font-size:14px}
.plan dt{color:var(--muted)}
.plan dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.plan dd.wait{font-weight:400;font-style:italic;color:var(--muted)}
/* Wide content (the data table, the plots) takes the plan panel's column. */
.layout[data-step=step-data] .plan,.layout[data-step=results-step] .plan{display:none}
.layout[data-step=step-data] main,.layout[data-step=results-step] main{grid-column:2/4}
.plan-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}

/* Headings and text */
h1{font:600 40px/1.12 var(--serif);letter-spacing:-.3px;margin:0 0 12px}
h2{font:600 22px/1.25 var(--serif);margin:0 0 12px}
h3{font-size:16.5px;line-height:1.4;margin:28px 0 8px}
p{margin:0 0 12px}
.intro{padding:4px 0 28px;max-width:760px}
.intro-copy{font-size:17px}
.intro .help{margin-bottom:16px}
.step{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:36px 44px 32px;scroll-margin-top:16px}
.step>*:not(.table-scroll):not(#results):not(.recommendation-card){max-width:720px}
.step>h2,.step>.heading-row h2{font:600 36px/1.15 var(--serif);letter-spacing:-.2px;margin:4px 0 10px}
/* Headings receive focus when a step opens (for screen readers); they are not controls, so no ring. */
.step h2:focus{outline:none}
.step-label{font:500 18px var(--mono);color:var(--gold-text);letter-spacing:.07em;text-transform:uppercase;margin:0 0 20px}
.heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;max-width:none!important}
.help,.small{font-size:15px;color:var(--muted)}
.lead{font-size:16.5px}
.subsection{margin-top:8px}
.notice{border:1px solid var(--warn-line);background:var(--warn-soft);padding:12px 16px;border-radius:10px}
.notice.ok{border-color:#9cc7b2;background:#eef7f2;color:#1f5a40}
.intro .notice.ok{margin-top:14px;max-width:640px}
.notice-text{color:var(--warn);font-weight:600}
.status-tag{font:500 12.5px var(--mono);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.status-tag:empty{display:none}

/* Questions. Steps 1 and 2 number their questions so a class can refer to "question 2.3". */
#step-question{counter-reset:q;--step:'1.'}
#step-combine{counter-reset:q;--step:'2.'}
fieldset.question{border:0;margin:0 0 26px;padding:0;min-width:0}
legend,.field>label{display:block;padding:0;font-size:16.5px;font-weight:600;line-height:1.4;margin:0 0 6px}
#step-question fieldset.question:not([hidden]),#step-combine fieldset.question:not([hidden]){counter-increment:q}
#step-question fieldset.question>legend:before,#step-combine fieldset.question>legend:before{content:var(--step) counter(q);font:500 13px var(--mono);color:var(--faint);margin-right:9px}
fieldset.question>.help{margin:-2px 0 10px}
.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#input-type-choices{flex-direction:column;align-items:flex-start}
.choice{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 11px;min-height:34px;border:1.5px solid var(--line);border-radius:18px;cursor:pointer;font-size:15px;line-height:1.3;background:#fff;max-width:100%}
.choice:hover{border-color:var(--accent)}
.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.choice:has(input:disabled){cursor:not-allowed;opacity:.6}
.choice input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--accent)}
.choice input:focus-visible{outline:0}
.field{margin:0 0 20px}
.field>.help{margin:-2px 0 8px}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.field-pair>.help{grid-column:1/-1;margin-top:-8px}
input[type=text],input[type=number],select{display:block;width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--field);border-radius:10px;background:#fff;font-size:16px}
input[type=text]:hover,input[type=number]:hover,select:hover,textarea:hover{border-color:var(--muted)}
input::placeholder{color:var(--faint)}
.short-input{max-width:200px}
textarea{display:block;width:100%;border:1.5px solid var(--field);border-radius:10px;padding:12px;font:13.5px/1.6 var(--mono);resize:vertical;background:#fff;margin-bottom:12px}
.check-label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:16px}
.check-label input{width:18px;height:18px;accent-color:var(--accent);flex:none}
#compare-option{margin:20px 0}

/* Disclosures */
details.hint,details#alternatives{border-top:1px solid var(--line-soft);padding:10px 0;margin:4px 0}
summary{cursor:pointer;color:var(--accent);font-size:15.5px;font-weight:500;min-height:28px}
details>div{padding:8px 0 4px;font-size:15px}
fieldset.question details.hint{border:0;padding:6px 0 0}

/* Guidance and citations: advice, not quotation */
.guidance{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;padding:14px 18px;margin:20px 0;font-size:15px}
.guidance:empty{display:none}
.guidance>strong:first-child{display:block;font-size:16px;margin-bottom:6px}
.guidance ul,#result-notes ul{margin:4px 0 12px;padding-left:22px}
.guidance details{margin-top:4px}
.inline-citations{font-size:13.5px;color:var(--muted);margin:8px 0 0}

/* Recommendation */
.recommendation-card{border:1px solid var(--line);border-left:5px solid var(--ci);border-radius:var(--radius);padding:18px 22px;margin:8px 0 16px;max-width:720px;background:#fff}
.recommendation-card h3{font:600 24px/1.2 var(--serif);margin:4px 0 8px}
.recommend-badge{font:500 12px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.recommendation-card.recommended{border-left-color:var(--ok)}
.recommendation-card.recommended .recommend-badge{color:var(--ok)}
.recommendation-card.decide{border-left-color:var(--warn-line)}
.recommendation-card.decide .recommend-badge{color:var(--warn)}
#step-method.stopped>*:not(.step-label):not(h2):not(#recommendation):not(.step-actions){display:none!important}
.recommendation-card.paused{border:2px solid var(--bad);border-left-width:8px;padding:24px 26px}
.recommendation-card.paused .recommend-badge{display:block;font:700 44px/1.1 var(--serif);letter-spacing:0;color:var(--bad);margin-bottom:12px}
.recommendation-card.paused h3{font-size:28px;margin:0 0 14px}
.stop-reasons{margin:0 0 14px;padding-left:22px}
.stop-reasons li{margin-bottom:8px}
.recommendation-card .technical{color:var(--muted);font-size:15px}
.recommendation-card .caution{border:1px solid var(--warn-line);background:var(--warn-soft);padding:10px 14px;border-radius:10px}
.alternative-grid{display:grid;gap:12px;margin:8px 0 16px}
.alternative{border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px}
.alternative h3{margin:0 0 6px}
.alternative strong{display:block;font-size:15px;margin-top:6px}
.alternative p{margin:0 0 6px}

/* Buttons: one filled button per step for the main action; everything else is quieter. */
.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border-radius:10px;border:1.5px solid transparent;font-size:15.5px;font-weight:600;line-height:1.3;text-decoration:none}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.button.primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}
.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}
.button.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.text-button{background:none;border:0;padding:10px 4px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:15.5px}
.file-button{position:relative;cursor:pointer;margin:0}
.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.file-button:focus-within{outline:3px solid var(--accent);outline-offset:2px}

/* Data */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:12px 0 16px}
table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
caption{text-align:left;font:500 12.5px var(--mono);color:var(--muted);padding:10px 14px;letter-spacing:.03em}
th,td{padding:6px 12px;text-align:right;border-top:1px solid var(--line-soft)}
th{font-weight:600;background:var(--surface)}
th:first-child,td:first-child{text-align:left}
th code{font-size:12.5px;font-weight:500}
.column-guide-row{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.error{white-space:pre-line;padding:12px 16px;border:1px solid var(--bad);border-left-width:5px;color:var(--bad);background:var(--bad-soft);border-radius:10px;font-size:15px;margin:16px 0}

/* Run */
.load-status{font-size:15px;color:var(--muted);margin:-4px 0 16px}
.run-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:8px 0 16px;background:var(--surface)}
.run-bar strong{display:block;font-size:16.5px}
.run-bar span{display:block;font-size:15px;color:var(--muted)}
.run-bar .button{min-width:170px}

/* Results */
.result-sentence p{font-size:16.5px;margin:0 0 10px}
.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0 24px}
.result-stat{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:#fff}
.result-stat:first-child{border-top:4px solid var(--gold)}
.result-stat span{display:block;font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.result-stat strong{display:block;font:600 34px/1.15 var(--serif);margin:4px 0 2px;font-variant-numeric:tabular-nums}
.result-stat p{margin:0;font-size:15px}
.result-stat .result-detail{margin-top:6px;font-size:14px;color:var(--muted);white-space:pre-line;line-height:1.7}
.plot-panel{border-top:1px solid var(--line-soft);padding:18px 0}
.plot-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.plot-toolbar h3{margin:0;font:600 20px var(--serif)}
.plot-toolbar .button-row{margin:0}
.plot-toolbar .button{min-height:36px;padding:6px 12px;font-size:14px}
.plot-image-scroll{overflow-x:auto}
.plot-panel img{display:block;width:auto;max-width:100%;height:auto;margin-top:10px}
.mobile-plot-hint{display:none}
.download-panel{border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:24px 0 12px;background:var(--surface)}
.download-panel h3{margin:0 0 6px;font:600 20px var(--serif)}
.download-panel p{font-size:15px;color:var(--muted)}
.download-panel .button-row{margin-bottom:0}
.code-preview{font-size:13.5px}
.decision-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:13.5px/1.6 var(--mono);padding:14px;background:var(--surface);border-radius:10px;max-height:600px;overflow:auto;margin:0}

/* References page */
.reference-page{padding:36px 44px 40px;margin:36px auto 56px;max-width:860px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.reference-page ol{padding-left:24px}
.reference-page li{padding:14px 0;border-top:1px solid var(--line-soft)}
.reference-page li:target{background:var(--accent-soft)}
.reference-page h3{margin:0 0 4px}
.reference-page li p{font-size:15px;color:var(--muted);margin:0 0 6px}

/* One step per panel */
.step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line-soft);margin-top:32px;padding-top:22px;max-width:720px}
.step-actions .button:only-child,.step-actions .button+.button{margin-left:auto}
.step-actions .button.primary:after{content:'\2192';margin-left:8px}
.req{font-weight:400;color:var(--muted)}
.field-error{color:var(--bad);font-weight:600;font-size:15px;margin:4px 0 8px}
[aria-invalid=true] .choice,input[aria-invalid=true]{border-color:var(--bad)}
#data-error:focus{outline:3px solid var(--accent);outline-offset:2px}
th.data-used,td.data-used{text-align:left;white-space:normal;min-width:180px;font-family:var(--sans)}
td.cell-approx{color:var(--warn)}
td.cell-error{color:var(--bad);font-weight:600}

@media(max-width:1200px){
 .layout{grid-template-columns:250px minmax(0,1fr)}
 .plan{display:none}
 .layout[data-step] main{grid-column:auto}
}
@media(max-width:960px){
 .layout{display:block;padding-top:24px}
 .step-nav{display:none}
 .step{padding:28px 28px 24px}
}
@media(max-width:600px){
 .wrap{width:calc(100% - 32px)}
 .header-inner{flex-wrap:wrap;gap:6px 12px;padding:12px 0}
 .brand-tag{border:0;padding:0}
 .header-link{margin-left:0;width:100%}
 h1{font-size:30px}
 .step{padding:22px 18px 20px;border-radius:12px}
 .step>h2,.step>.heading-row h2{font-size:28px}
 .field-pair{grid-template-columns:1fr}
 .column-guide-row{grid-template-columns:1fr;gap:2px}
 .run-bar{flex-direction:column;align-items:stretch}
 .run-bar .button{width:100%}
 .heading-row{flex-wrap:wrap}
 .button-row .button{flex:1 1 auto}
 .footer-inner{flex-direction:column;gap:8px}
 .recommendation-card{padding:16px}
 .mobile-plot-hint{display:block;font-size:14px;color:var(--muted)}
 th,td{padding:6px 10px}
 .reference-page{padding:22px 18px;margin:20px auto 32px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
