.cost-page [hidden] { display: none !important; }
.cost-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(32px,5vw,72px); align-items: start; }
.cost-page fieldset { border: 0; margin: 0 0 36px; padding: 0 0 30px; border-bottom: 1px solid var(--hairline); min-width: 0; }
.cost-page legend { font: 500 25px/1.3 var(--font-display); margin-bottom: 18px; padding: 0; }
.cost-help { margin: 0 0 20px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.cost-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.cost-page .tool-field { margin-bottom: 22px; }
.cost-page .tool-field label { display:block; margin-bottom:8px; font-size:15px; font-weight:600; }
.cost-page .tool-field input, .cost-page .tool-field select { display:block; width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #a5aaa4; border-radius:4px; background:#fffdf9; color:var(--ink); font:16px/1.5 var(--font-body); }
.cost-page .tool-field small { display:block; margin-top:8px; color:#555f61; font-size:13px; line-height:1.6; }
.cost-page input:focus-visible, .cost-page select:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.cost-sidebar { min-width:0; }
.cost-page .tool-result { border-top:3px solid var(--teal); padding:28px; background:#eaf2ee; scroll-margin-top:100px; }
.cost-page .tool-result:focus { outline: none; }
.cost-page .tool-result:focus-visible { outline:2px solid var(--teal); outline-offset:5px; }
.cost-page .tool-result h2 { font-size:27px; margin:10px 0 18px; }
.cost-page .tool-result p { line-height:1.65; }
.cost-page .cost-total { font:500 clamp(40px,4vw,58px)/1.15 var(--font-display); color:var(--teal); margin:10px 0; overflow-wrap:anywhere; }
.cost-breakdown { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 20px; padding:24px 0; margin:24px 0; border-block:1px solid #becfc6; font-size:14px; }
.cost-breakdown dt, .cost-breakdown dd { margin:0; }
.cost-breakdown dd { text-align:right; font-variant-numeric:tabular-nums; font-weight:600; }
.cost-assumptions h3 { font-size:20px; margin-bottom:10px; }
.cost-assumptions p { font-size:14px; }
.cost-result-actions { margin-top:24px; }
.cost-page .cost-error { color:#8e2e23; border-left:3px solid #b84432; padding:12px 16px; background:#fff0e9; }
.cost-explain { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,7vw,90px); margin-top:60px; padding-top:40px; border-top:1px solid var(--hairline); }
.cost-explain h2 { font-size:29px; margin:12px 0 24px; }
.cost-explain ul { padding-left:21px; }
.cost-explain li { padding-left:5px; margin:0 0 15px; line-height:1.7; }
.cost-glossary dt { font-weight:600; margin:20px 0 5px; }
.cost-glossary dd { margin:0; line-height:1.7; }
.cost-glossary a { font-size:13px; }
.cost-page .tool-sources { margin-top:40px; font-size:14px; line-height:1.75; }
.cost-page .tool-sources h2 { font-size:24px; }
@media(max-width:900px) { .cost-layout { grid-template-columns:1fr; } }
@media(max-width:600px) { .cost-fields,.cost-explain { grid-template-columns:1fr; gap:0; } .cost-explain>div+div { margin-top:32px; } .cost-page .tool-result { padding:24px 18px; } .cost-breakdown { gap:14px 12px; } }
@media print {
  body:has(.cost-page) .site-header, body:has(.cost-page) .site-footer, body:has(.cost-page) .skip-link, .cost-page form, .cost-page .tool-actions, .cost-page .topic-back, .cost-page .tool-note, .cost-page .cost-explain, .cost-page .tool-status-message { display:none !important; }
  .cost-page .tool-hero { padding:0 0 20px !important; background:none !important; }
  .cost-page .tool-hero h1 { font-size:28pt !important; }
  .cost-page .tool-hero p { font-size:11pt !important; }
  .cost-page .tool-workspace { padding:0 !important; }
  .cost-page .cost-layout { display:block; }
  .cost-page .tool-result { background:white; padding:20px 0; break-inside:avoid; }
  .cost-page .cost-total { font-size:36pt; }
  .cost-page .tool-sources { margin-top:20px; font-size:10pt; }
}
