/* A quiet editorial tool: paper controls, charcoal results, native page on mobile. */
.calculator-link{white-space:nowrap;font-size:14px;font-weight:400;letter-spacing:0;gap:24px;min-height:44px}
.menu nav .menu-calculator{font-size:23px;letter-spacing:-.02em;margin-top:14px;padding-top:22px;border-top:1px solid #ffffff30}
.calculator-dialog{padding:0;border:1px solid #ffffff35;width:min(1120px,calc(100vw - 80px));max-width:none;max-height:calc(100svh - 64px);margin:auto;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #1F1F1F44}
.calculator-dialog::backdrop{background:#1F1F1F99;backdrop-filter:blur(10px);transition:background .3s,backdrop-filter .3s}
.calculator-dialog[data-state=closing]::backdrop{background:transparent;backdrop-filter:blur(0)}
.calc-close{position:sticky;float:right;top:20px;width:44px;height:44px;margin:20px 22px 0 -66px;z-index:3;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);transition:background .25s,color .25s}
.calc-close:hover{background:var(--ink);color:var(--paper)}
.calculator{padding:40px 44px 30px;--calc-muted:#63655e;font-size:16px;line-height:1.4}
.calculator [hidden]{display:none!important}
.calc-kicker{font-size:12px;letter-spacing:.1em;display:block;color:var(--calc-muted);margin-bottom:17px}
.calc-heading :is(h1,h2){font-weight:400;letter-spacing:-.04em;font-size:clamp(36px,3.7vw,54px);line-height:1.04}
.calc-heading :is(h1,h2) br{display:none}.calc-heading>p{font-size:14px;color:var(--calc-muted);margin-top:12px}
.calc-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:42px;margin-top:30px;align-items:stretch}
.calc-controls{min-width:0;display:flex;flex-direction:column;gap:24px}
.calc-field{padding:0;margin:0;border:0;min-width:0}.calc-field label,.calc-field legend{font-size:14px;font-weight:400}.calc-field legend{margin:0 0 10px;padding:0}
.calc-field label[for]{display:block}.calc-select-wrap{position:relative;border-bottom:1px solid #7e8077}
.calc-select-wrap svg{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;width:20px;height:20px}
.calc-select-wrap select{width:100%;color:var(--ink);background:transparent;border:0;border-radius:0;padding:10px 27px 12px 0;appearance:none;font-size:21px;letter-spacing:-.02em;cursor:pointer;text-overflow:ellipsis}
.calc-select-wrap select option{color:var(--ink);background:var(--paper);font-size:16px}
.calc-meta,.calc-reference{font-size:14px;line-height:1.45;color:var(--calc-muted);margin-top:8px}
.calc-reference{color:var(--ink)}.calc-label-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.calc-label-row button{font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:3px;padding:8px 0;background:none;color:var(--calc-muted)}
#calc-amount{width:100%;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #7e8077;border-radius:0;font-size:36px;letter-spacing:-.03em;padding:3px 0 7px;appearance:textfield;min-height:52px}
#calc-amount::-webkit-inner-spin-button,#calc-amount::-webkit-outer-spin-button{appearance:none;margin:0}
#calc-amount:read-only{color:var(--calc-muted)}#calc-amount[aria-invalid=true]{border-color:#913921}.calc-error{font-size:14px;color:#913921;margin-top:6px}.calc-error:empty{display:none}
.calc-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #85877d;padding:3px;gap:3px}
.calc-payment{grid-template-columns:1fr 1fr}.calc-segment label{position:relative;cursor:pointer;min-width:0}.calc-segment input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.calc-segment span{display:flex;align-items:center;justify-content:center;padding:10px 4px;min-height:44px;transition:background .25s,color .25s}
.calc-segment input:checked+span{color:var(--paper);background:var(--ink)}.calc-segment input:focus-visible+span{outline:2px solid var(--ink);outline-offset:4px}.calc-segment input:disabled+span{color:#77796e;background:#e1e2dc;text-decoration:line-through;cursor:not-allowed}.calc-segment input:disabled{cursor:not-allowed}
.calc-result{background:#1F1F1F;color:var(--paper);padding:30px;min-width:0;display:flex;flex-direction:column;position:relative}
.calc-result-top{display:flex;flex-direction:column;gap:6px;padding-bottom:22px;border-bottom:1px solid #ffffff30}.calc-result-top>span:first-child{font-size:20px;letter-spacing:-.025em}.calc-result-top>span+span{font-size:14px;color:#c5c8be}
.calc-result-main{margin:25px 0}.calc-result-main>p{font-size:14px;color:#c5c8be}.calc-number{display:flex;align-items:baseline;gap:12px;margin:5px 0 21px;min-width:0}.calc-number>span{font-size:16px;color:#c5c8be}.calc-number strong{font-size:clamp(38px,4.1vw,62px);line-height:1.06;font-weight:400;letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.calc-monthly{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:14px}.calc-monthly strong{font-size:20px;font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.calc-result-help,.calc-wait p,.calc-financing>p{font-size:14px;color:#c5c8be;line-height:1.45}.calc-result-help{margin-top:auto}
.calc-wait{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;border-top:1px solid #ffffff30;padding-top:20px;margin-top:22px;font-size:14px}.calc-wait strong{font-weight:400}.calc-wait p{flex-basis:100%}
.calc-financing{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;border-top:1px solid #ffffff30;padding:20px 0}.calc-financing>div{display:flex;flex-direction:column;gap:6px}.calc-financing span{font-size:14px;color:#c5c8be}.calc-financing strong{font-size:20px;font-weight:400;font-variant-numeric:tabular-nums}.calc-financing>p{grid-column:1/-1}
.calc-foot{margin-top:25px}.calc-foot>.calc-meta{margin:0}
.calculator-page .header{position:relative}.calculator-page .dock{display:none}.calculator-page .calculator{max-width:1200px;margin:auto;padding:25px var(--gutter) 45px}.calculator-page .calc-heading :is(h1,h2){font-size:clamp(40px,5vw,70px)}.calc-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;margin:24px var(--gutter) 0}.calc-back svg{transform:rotate(180deg);width:18px}.calculator-footer{background:var(--ink);color:var(--paper);padding:22px var(--gutter)}.calculator-footer .footer-bottom{padding:0;border:0}
.calc-nojs{padding:24px 0}
.calculator-page .is-loaded .calc-heading,.calculator-page .is-loaded .calc-controls{animation:calc-enter .55s var(--ease) both}.calculator-page .is-loaded .calc-controls{animation-delay:.07s}
@keyframes calc-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.calculator-dialog{display:none}.calculator-page .calculator{padding:20px var(--gutter) 35px}.calc-heading :is(h1,h2) br{display:block}.calc-grid{gap:25px;grid-template-columns:1fr;margin-top:30px}.calc-controls{gap:24px}.calc-result{padding:27px 24px}.calc-number strong{font-size:clamp(40px,9.5vw,66px)}.calc-result-main{margin-block:25px}.calc-heading :is(h1,h2){font-size:42px}.calc-kicker{font-size:11px}.calc-result-help{margin-top:0}.calc-foot{margin-top:24px}.calculator-page .calc-back{margin-top:16px}.calc-select-wrap select{font-size:20px}}
@media(max-width:360px){.calc-segment{gap:1px;padding:2px}.calc-segment span{font-size:13px}.calc-result{padding:24px 19px}.calc-number{gap:8px}.calc-financing{grid-template-columns:1fr}.calc-label-row{gap:5px}}
@media(prefers-reduced-motion:reduce){.calculator-dialog::backdrop{transition:none}.calc-segment span{transition:none}}

/* Amount and unit controls keep the same paper / charcoal visual system. */
.calc-slider{margin-top:12px}
#calc-range{display:block;width:100%;height:44px;margin:0;appearance:none;background:transparent;cursor:pointer;--range-fill:0%}
#calc-range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--ink) var(--range-fill),#b4b6ac var(--range-fill))}
#calc-range::-moz-range-track{height:2px;background:#b4b6ac}
#calc-range::-moz-range-progress{height:2px;background:var(--ink)}
#calc-range::-webkit-slider-thumb{appearance:none;width:20px;height:20px;margin-top:-9px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}
#calc-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}
#calc-range:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.calc-slider-labels{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--calc-muted);font-variant-numeric:tabular-nums}
.calc-wait{display:flex;flex-direction:column;gap:10px}
.calc-wait-heading,.calc-wait-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.calc-wait-heading{margin-bottom:3px}.calc-wait-heading>span+span,.calc-wait-row>span{color:#c5c8be}
.calc-wait-row strong{font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.015em}

/* A stable desktop frame; changing an offer only updates its contents. */
.calc-number{display:block}
.calc-number>span{display:block;margin-bottom:8px;font-size:14px}
.calc-number strong{display:block;white-space:nowrap;overflow-wrap:normal}
@media(min-width:901px){
 .calculator-dialog{width:min(1440px,calc(100vw - clamp(48px,6.25vw,112px)));height:calc(100svh - clamp(48px,7.11svh,96px));max-height:none;overflow:hidden}
 .calculator-dialog .calc-close{position:absolute;right:22px;top:20px;float:none;margin:0}
 .calculator-dialog .calculator{height:100%;padding:28px 32px 22px;display:flex;flex-direction:column}
 .calculator-dialog .calc-heading{flex:none;padding-right:48px}
 .calculator-dialog .calc-kicker{margin-bottom:10px}
 .calculator-dialog .calc-heading>p{margin-top:8px}
 .calculator-dialog .calc-grid{flex:1;min-height:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:32px;margin-top:24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:5px}
 .calculator-dialog .calc-controls{gap:18px;justify-content:flex-start;padding:2px 6px}
 .calculator-dialog .calc-select-wrap select{font-size:19px;padding-block:8px 10px}
 .calculator-dialog #calc-amount{font-size:34px;min-height:48px}
 .calculator-dialog .calc-result{padding:26px 28px}
 .calculator-dialog .calc-result-top{padding-bottom:18px}
 .calculator-dialog .calc-result-main{margin:clamp(22px,4svh,44px) 0}
 .calculator-dialog .calc-foot{flex:none;min-height:20px;margin-top:12px;padding-inline:11px}
 .calculator-dialog .calc-foot[hidden]{display:block!important;visibility:hidden}
 .calculator-page .calc-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr)}
}
@media(max-width:900px){.calc-number strong{font-size:clamp(26px,7.6vw,52px)}}

@media(min-width:901px) and (max-height:780px){
 .calculator-dialog .calc-grid{margin-top:20px}
 .calculator-dialog .calc-result{padding:22px 28px}
 .calculator-dialog .calc-result-top{padding-bottom:14px}
 .calculator-dialog .calc-result-main{margin:20px 0}
 .calculator-dialog .calc-number{margin-bottom:16px}
 .calculator-dialog .calc-wait{margin-top:14px;padding-top:14px;gap:8px}
 .calculator-dialog .calc-foot{margin-top:8px}
}
