.cost-note{border:0;padding:0;margin:0;flex:1;min-width:0}.cost-note summary{font-size:12px;color:var(--ink);padding:10px 0;min-height:44px;line-height:1.5}.cost-note small{margin:0 0 8px}.cost-line{padding:2px 0;align-items:start}.cost-line>b{padding-top:10px}.cost-line.total,.cost-line:has(>strong){padding:12px 0}.cost-line.total>b,.cost-line:has(>strong)>b{padding-top:0}.edit-details{margin:0;padding:0;border:0}.edit-details>summary,.funding-help summary{min-height:44px;padding:12px 0}.quick-details{margin-top:12px}.build-explainer{margin:8px 0 12px}.build-explainer>summary{min-height:44px}.chart-guide summary{min-height:44px}.funding-help{margin-top:12px}.funding-help details{margin-top:0}.funding-help>p:last-child{margin-bottom:0}
@media(max-width:650px){
 .wrap{padding:0 16px}.welcome{margin:16px auto 20px;gap:12px}.welcome-copy h1{font-size:29px;margin-bottom:6px}.welcome-copy>p:not(.eyebrow){font-size:13px}.starter-card{padding:0;border:0;background:transparent;box-shadow:none;gap:12px;grid-template-columns:1fr 1fr}.starter-card>.field{grid-column:1/-1}.starter-card>.field:has(#startLand),.starter-card>.field:has(#startBuild){grid-column:auto}.starter-card>.field label{font-size:12px}.starter-card>aside,.starter-card>.notice,.starter-card>.start-button,.starter-card>.starter-footnote{grid-column:1/-1}.starter-card .field input,.starter-card .field select{height:48px;font-size:16px;background:white}.starter-card .start-button{font-size:14px;min-height:48px;margin:0}.starter-footnote{font-size:11px!important}
 .plan-heading{padding:16px 0 12px;gap:8px}.plan-heading h1{font-size:27px}.plan-heading button{min-height:44px;padding:8px 12px;max-width:none;flex-shrink:0}.panel{padding:16px;margin-bottom:12px;border-radius:14px}.pathway h2{font-size:25px}.pathway .eyebrow{font-size:10px;margin-bottom:8px}.pathway>p,.pathwayContent>p{font-size:12px}.funding-cards{display:none}.funding-explainer{display:block;margin-top:12px}.cost-line strong,.cost-note summary{font-size:12px}.cost-line b{font-size:15px}.balance-result{padding:14px;margin-top:12px}.balance-result strong{font-size:28px}.balance-result small{font-size:11px}.edit-details{border-top:1px solid var(--line);margin-top:12px}.quick-details{padding:12px}.quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.quick-grid .wide{grid-column:1/-1}.housing-editor{margin-top:14px;padding-top:14px}.housing-editor h4{margin:0 0 4px}.quick-details input,.quick-details select{min-height:48px;font-size:16px}.quick-update{min-height:48px}.adjustments{padding:0;margin:0;border:0}.adjustments>summary{min-height:44px;font-size:13px;padding:12px 0}.toolbar{padding:4px 0 12px;border:0;gap:6px}.toolbar nav{display:none}.toolbar>div{width:100%;justify-content:space-between;gap:5px}.toolbar button{min-height:44px;font-size:11px;padding:8px 11px}
 .summary{grid-template-columns:1fr;gap:6px}.summary .stat,.summary .stat:first-child{padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.summary .stat>span{font-size:10px;min-height:0}.summary .stat>span br{display:none}.summary .stat>strong,.summary .stat:first-child>strong{grid-column:2;grid-row:1;font-size:26px;margin:0}.summary .stat>small,.summary .stat:first-child>small{grid-column:1/-1;font-size:10px}.summary .stat>small br{display:none}.estimate-note{font-size:11px;margin:10px 0 14px}.section-top{gap:8px;align-items:start}.section-top h2,.stress-panel h2{font-size:25px;margin-bottom:6px}#timeline .section-top .eyebrow{display:none}#timeline .section-top .small{font-size:12px;margin-bottom:0}.steady-note{padding:12px;margin:12px 0}.steady-note h3{font-size:17px}.steady-note p{font-size:12px;line-height:1.55}.steady-note .eyebrow{font-size:9px;margin-bottom:6px}.check,.inline-check{min-height:44px;align-items:center}.chart-heading{margin-top:12px}.chart-heading h3{font-size:17px;margin-bottom:4px}.legend{font-size:10px;gap:8px}.chart-scroll{margin-right:0}.month-detail{padding:10px;font-size:12px}.stress-panel .stress-control{max-width:100%}.stress-control input{font-size:16px;min-height:48px}.pi-band{padding:12px;gap:12px}.pi-band strong{font-size:25px}.closing{padding:18px 0}.closing h2{font-size:26px}.panel>details>summary{min-height:44px;font-size:14px}.panel>details:first-child{padding:0}.funding-help p{font-size:12px}
}
@media(max-width:350px){.quick-grid{grid-template-columns:1fr}.starter-card{grid-template-columns:1fr}.starter-card>.field:has(#startLand),.starter-card>.field:has(#startBuild){grid-column:1/-1}.plan-heading h1{font-size:24px}.toolbar button{font-size:10px}}
@media print{.funding-cards{display:grid}.cost-note>small{display:block}}

/* Keep both choices and their key figures together at phone widths. */
.allocation-choice{border:1px solid #cbdde9;background:#f3f8fc;border-radius:14px;padding:14px;margin:14px 0}
.allocation-choice h3{font-size:18px;line-height:1.35;margin:0 0 12px}
.allocation-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.allocation-select{width:100%;min-height:56px;border-radius:9px;padding:9px 6px;font-size:13px;font-weight:700;line-height:1.35;white-space:normal;background:#fff;color:#005581;border:1px solid #a9c8df}
.allocation-select span,.allocation-select small{display:block}.allocation-select small{font-size:10px;font-weight:500;margin-top:3px}
.allocation-select[aria-pressed="true"]{background:#006ab6;color:white;border-color:#006ab6}
.allocation-select:focus-visible{outline:3px solid #f49b3c;outline-offset:2px}
.allocation-figures{margin:8px 0 0}
.allocation-metric{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;border-bottom:1px solid #d8e5ef}
.allocation-metric dt{grid-column:1/-1;text-align:center;font-size:12px;font-weight:600;line-height:1.4;padding:8px 0 3px;color:#334d5d}
.allocation-metric dd{min-width:0;margin:0;padding:4px 4px 9px;text-align:center;border-radius:6px}
.allocation-metric dd strong{display:block;font-size:23px;line-height:1.25;letter-spacing:-.03em;color:#004b76;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.allocation-metric dd strong span{font-size:11px;font-weight:500;letter-spacing:0;white-space:nowrap}
.allocation-metric dd small{display:block;font-size:11px;line-height:1.4;margin-top:3px;color:#536978}
.allocation-choice [data-selected="true"]{background:#e0effa}
.allocation-choice .allocation-period{font-size:10px;line-height:1.5;margin:8px 0;color:#536978}
.allocation-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.allocation-benefits>div{min-width:0;border:1px solid #d1e1ed;background:white;border-radius:9px;padding:10px 8px}
.allocation-benefits span{display:block;font-size:10px;line-height:1.4;font-weight:700;color:#006ab6}
.allocation-benefits strong{display:block;font-size:25px;line-height:1.2;letter-spacing:-.04em;color:#004b76;margin:4px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.allocation-benefits p{font-size:11px;line-height:1.4;margin:0;color:#334d5d}
.allocation-choice .allocation-assumption{font-size:10px;line-height:1.5;margin:8px 0 0;color:#536978}
.allocation-table{width:100%;font-size:12px;margin:8px 0}.allocation-table th,.allocation-table td{padding:10px 4px;white-space:normal}
.allocation-table th:first-child{width:42%}.allocation-table td,.allocation-table th:not(:first-child){text-align:right}
.allocation-table .interest-total{background:#e3f0f8;font-weight:800}
.allocation-choice details{padding:0;margin-top:8px}.allocation-choice summary{min-height:44px;display:flex;align-items:center;font-size:12px;padding:10px 0}
/* The comparison includes these same figures for both choices. */
#planner:has(.allocation-choice) #summary{display:none}
@media(max-width:650px){.allocation-choice{padding:10px}.allocation-choice h3{font-size:17px;margin-bottom:10px}.allocation-table{font-size:11px}}
@media(max-width:350px){.allocation-select{font-size:12px}.allocation-metric dd strong{font-size:21px}.allocation-benefits strong{font-size:22px}}
@media print{.allocation-switch .allocation-select{display:block!important;background:white;color:#004b76}.allocation-select small{display:none}.allocation-choice details{display:block}}

/* Compact disclosure rows retain full-height touch targets. */
@media(max-width:650px){
 .panel{padding:12px;margin-bottom:8px}
 #pathway .funding-column>.funding-help{margin-top:8px;padding-top:0}
 #pathway .funding-help details,#pathway .edit-details,#pathwayContent>details,#pathway>.adjustments{margin-top:0;padding-top:0}
 #pathway .funding-help summary,#pathway .edit-details>summary,#pathwayContent>details>summary,#pathway>.adjustments>summary{min-height:44px;padding:10px 0;font-size:12px;line-height:1.5}
 #pathway details[open]>summary{margin-bottom:8px}
 #pathway>.adjustments{border-top:1px solid var(--line)}
 .toolbar{padding:0 0 6px;margin-top:0;gap:4px}
 .estimate-note{margin:6px 0 10px}
 .allocation-choice{padding:8px;margin:10px 0}
 .allocation-metric dt{padding-top:6px}
 .allocation-metric dd{padding-bottom:6px}
 .allocation-benefits>div{padding:8px}
 .allocation-choice details{margin-top:4px}
}

/* Simplified mobile-first calculator: costs, repayments, then optional learning. */
.funding-cards,.funding-help,.allocation-choice{display:none}
.funding-explainer{display:block;margin-top:12px}
.cost-line{padding:10px 0;gap:12px;align-items:center}.cost-line>b{padding:0}.cost-line>span{font-size:13px}
.simple-pathway-note{font-size:11px;color:var(--muted);margin:10px 0 0}
.simple-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.simple-controls input,.simple-controls select{min-height:46px;font-size:16px;width:100%}
.simple-controls label{font-size:12px}
#summary{display:block;margin:12px 0}
#summary .stat{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px;border-radius:10px}
#summary .stat>strong{font-size:27px;margin:0;grid-column:2;grid-row:1}
#summary .stat>strong small{display:inline;font-size:11px;margin-left:4px;font-weight:500}
#summary .stat>span{font-size:12px;min-height:0}
#summary .stat>small{grid-column:1/-1;font-size:11px}
.education-panel{background:#f0f7fb;margin-top:16px}
.education-panel h2{font-size:27px;margin:4px 0 8px}
.education-panel #weeklySummary>p:not(.eyebrow){font-size:13px;line-height:1.6}
.education-panel #weeklyResult .small{font-size:11px}
.optional-details{margin-top:12px}
.optional-details>summary{min-height:44px;display:flex;align-items:center;font-size:13px}
.optional-details .panel{border:0;padding:0;box-shadow:none}
.optional-details .adjustments{margin:0;padding:0;border:0}
.optional-details .panel-heading{display:none}
#timeline .section-top h2{margin-bottom:5px}
@media(max-width:650px){.cost-line>span{font-size:12px}.cost-line{padding:9px 0}.cost-line b{font-size:16px}.balance-result{padding:12px;margin-top:10px}.education-panel{margin-top:12px}.education-panel h2{font-size:24px}.simple-controls{margin:10px 0}.simple-controls .field{min-width:0}.optional-details{padding:10px 12px}.estimate-note{margin:4px 0 8px}}

.simple-controls{align-items:end}.simple-controls .housing-amount{position:relative}.simple-controls .housing-amount>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.simple-controls .housing-amount>input{padding-left:28px}
