.cost-page { padding-bottom: 112px; }
.cost-page p,.cost-page dt,.cost-page dd { font-weight: 300; }
.cost-page .eyebrow { font-weight: 400; }
.cost-page .small { font-size: 16px; line-height: 1.6; }
.cost-page a:not(.button) { color: var(--teal); }
.cost-page a:focus-visible,.cost-page input:focus-visible,.cost-page select:focus-visible,.cost-page summary:focus-visible,.cost-page button:focus-visible { outline-color: var(--teal); }
.cost-navigation { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; padding-top: 28px; font-size: 15px; font-weight: 300; }
.cost-navigation a { display: inline-flex; align-items: center; min-height: 44px; }
.cost-navigation span { color: var(--muted); }
.cost-intro { max-width: 720px; padding-block: 48px 56px; }
.cost-intro h1 { font-size: clamp(38px,4.6vw,58px); line-height: 1.15; margin-bottom: 24px; }
.cost-intro > p:last-child { font-size: 21px; max-width: 57ch; text-wrap: pretty; }
.cost-page .cost-workspace { background: transparent; border: 0; padding: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: clamp(48px,7vw,96px); }
.cost-fields { min-width: 0; gap: 40px; padding-top: 28px; border-top: 1px solid var(--ink); }
.cost-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.cost-fieldset legend { font: 400 28px/1.3 var(--serif); margin: 0; padding: 0 0 24px; }
.cost-field-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px 20px; }
.cost-page label { font-size: 17px; min-width: 0; }
.cost-page input,.cost-page select { margin-top: 8px; min-width: 0; min-height: 48px; padding: 10px 12px; font: 300 19px/1.5 var(--sans); border-color: var(--muted); }
.cost-page input:hover,.cost-page select:hover { border-color: var(--teal); }
.cost-page input[aria-invalid=true] { border-color: #a43c2b; }
.cost-page .field-error { font-weight: 300; font-size: 15px; line-height: 1.45; }
.cost-current-fields { display: grid; gap: 20px; }
.cost-page .calculator-input-help { margin: 0; }
.cost-page .cost-results { display: block; min-width: 0; background: var(--soft); padding: 32px; }
.cost-page .calculated-savings { border: 0; padding-top: 0; }
.cost-page .calculated-savings #savings-label { font: 400 18px/1.45 var(--sans); max-width: 28ch; margin-bottom: 16px; }
.cost-page .calculated-savings strong { display: block; font: 400 clamp(42px,4.5vw,58px)/1.1 var(--serif); color: var(--teal); margin-bottom: 20px; overflow-wrap: anywhere; }
.cost-page .cost-results p { margin: 0; }
.cost-page .cost-results dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.7fr); gap: 12px 20px; font-size: 17px; line-height: 1.5; margin: 24px 0 0; }
.cost-page .cost-results dd { text-align: right; font-variant-numeric: tabular-nums; }
.cost-page .cost-quantity { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; }
.cost-quantity h3 { font-size: 26px; margin: 0 0 20px; }
.cost-page .cost-results .quantity-plan { margin: 0; }
.cost-page #context-cost { font-weight: 400; }
.cost-next-step { padding-top: 28px; }
.cost-next-step .button { width: 100%; text-align: center; padding-inline: 16px; min-height: 48px; }
.cost-page .cost-next-step .enquiry-note { margin-top: 16px; font-size: 16px; }
.cost-page .copy-enquiry { display: inline-flex; align-items: center; font-weight: 300; font-size: 16px; margin-top: 8px; }
.cost-page .copy-enquiry[hidden] { display: none; }
.cost-page .copy-enquiry-status { font-size: 16px; }
.cost-page .calculator-trial { display: flex; align-items: center; width: fit-content; min-height: 44px; margin-top: 8px; font-size: 17px; font-weight: 300; }
.cost-methodology { margin-top: 48px; max-width: 850px; }
.cost-page .calculator-assumptions { font-size: 17px; line-height: 1.65; margin: 0; max-width: none; }
.cost-methodology > p + p { margin-top: 16px; }
.cost-methodology details { margin-top: 28px; border-top: 1px solid var(--line); }
.cost-methodology summary { font-size: 18px; letter-spacing: 0; }
.cost-methodology details > div { font-size: 17px; font-weight: 300; }
.cost-page .comparison { margin-top: 28px; font-size: 17px; }
.cost-page .comparison caption { font-size: 23px; }
.cost-page .comparison th,.cost-page .comparison td { padding: 14px 16px 14px 0; }
.cost-page .comparison td { font-weight: 300; }
.cost-methodology .comparison + p { margin-top: 20px; }
@media (max-width: 900px) {
  .cost-page .cost-workspace { gap: 40px; }
  .cost-page .cost-results { padding: 24px; }
  .cost-field-pair { gap: 20px 16px; }
  .cost-page .cost-results dl { grid-template-columns: minmax(0,1fr) minmax(0,.8fr); gap: 12px 16px; }
}
@media (max-width: 760px) {
  .cost-page { padding-bottom: 64px; }
  .cost-navigation { padding-top: 16px; gap: 4px 20px; }
  .cost-intro { padding-block: 32px 40px; }
  .cost-intro h1 { font-size: 40px; }
  .cost-intro > p:last-child { font-size: 19px; }
  .cost-page .cost-workspace { grid-template-columns: 1fr; gap: 40px; }
  .cost-fields { padding-top: 24px; gap: 32px; }
  .cost-fieldset legend { font-size: 26px; padding-bottom: 20px; }
  .cost-page .cost-results { padding: 28px 24px; }
  .cost-page .cost-results dl { grid-template-columns: minmax(0,1fr) minmax(0,.75fr); }
  .cost-page .calculated-savings #savings-label { max-width: none; }
  .cost-page .calculated-savings strong { font-size: 48px; }
  .cost-methodology { margin-top: 32px; }
  .cost-page .comparison { font-size: 16px; }
  .cost-page .comparison th,.cost-page .comparison td { padding-right: 12px; }
}
@media (max-width: 380px) {
  .cost-navigation { gap: 0 16px; }
  .cost-intro h1 { font-size: 36px; }
  .cost-field-pair { grid-template-columns: 1fr; }
  .cost-page .cost-results { padding: 24px 20px; }
  .cost-page .cost-results dl { grid-template-columns: minmax(0,1fr) minmax(0,.8fr); gap: 14px 12px; font-size: 16px; }
  .cost-page .cost-results dd { margin-bottom: 0; }
}

/* Quiet wayfinding for the same live calculator, with no separate wizard steps. */
.cost-intro{padding-bottom:32px}.cost-steps{display:flex;flex-wrap:wrap;gap:8px 36px;margin-bottom:40px;padding-block:14px;border-block:1px solid var(--line)}.cost-steps a{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font-size:16px;font-weight:300}.cost-steps a:hover{text-decoration:underline}.cost-steps span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.cost-fieldset,.cost-results{scroll-margin-top:28px}.cost-fieldset:focus,.cost-results:focus{outline:none}.cost-fieldset:focus-visible,.cost-results:focus-visible{outline:2px solid var(--teal);outline-offset:8px}.cost-form-actions{display:grid;gap:14px}.cost-form-actions .button{justify-self:start;gap:20px}.cost-form-actions p{max-width:36ch;color:var(--muted)}.cost-result-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.cost-result-heading h2{font-size:28px}.cost-result-heading a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:300;white-space:nowrap}.cost-page .cost-results .cost-scenario{font-size:15px;line-height:1.6;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.cost-page .cost-form-actions p{margin:0}
@media(max-width:760px){.cost-steps{gap:4px 24px;margin-bottom:32px}.cost-steps a{font-size:15px;gap:8px}.cost-result-heading h2{font-size:27px}.cost-page label{line-height:1.4}.cost-form-actions .button{width:100%}}

@media(max-width:760px){.cost-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cost-steps a{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;font-size:14px}}
