/* Leasing shares the site's typography and CTA system. */
.leasing{background:linear-gradient(180deg,#f7f7f5 0%,#fff 24%,#fff 82%,#f3f4f0 100%);scroll-margin-top:0}
.lease-inner{max-width:1280px;margin-inline:auto;min-width:0}
.lease-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(35px,5vw,78px);align-items:start}
.lease-heading .eyebrow{color:var(--muted)}
.lease-heading h2{font-size:clamp(34px,4.3vw,62px);line-height:1.06;letter-spacing:-.045em;max-width:25ch;margin-top:22px}
.lease-heading h2:focus-visible{outline:2px solid var(--gold);outline-offset:8px}
.lease-intro{display:grid;gap:16px;min-width:0;padding-top:28px}
.lease-intro p{font-size:16px;line-height:1.65;color:#5c625d;max-width:65ch}
.lease-intro .lease-lead{font-size:20px;line-height:1.45;color:var(--ink);letter-spacing:-.02em}
.lease-intro strong{color:var(--ink);font-weight:500}
.lease-context{font-size:15px;color:#5c625d;line-height:1.6;margin:25px 0 0;max-width:65ch;overflow-wrap:anywhere}
.lease-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(35px,5vw,78px);align-items:start;margin-top:54px}
.lease-controls{display:grid;gap:28px;min-width:0}
.lease-control{min-width:0}
.lease-control-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}
.lease-control-head label{font-size:15px;line-height:1.35}
.lease-value-box{display:flex;align-items:center;gap:5px;padding:9px 11px;border:1px solid #d7dcd7;border-radius:10px;background:#fff;flex-shrink:0;min-height:44px}
.lease-value-box input{width:42px;min-width:0;border:0;border-radius:0;padding:0;text-align:right;font:inherit;font-size:18px;letter-spacing:0;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);appearance:textfield}
.lease-value-box input::-webkit-inner-spin-button,.lease-value-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lease-control[data-lease-control=value] .lease-value-box input{width:108px}
.lease-value-box span{font-size:12px;color:#656e68;letter-spacing:0}
.lease-control input[type=range]{appearance:none;width:100%;height:34px;margin:0 0 8px;padding:0;border:0;border-radius:4px;background:linear-gradient(to right,var(--gold) 0,var(--gold) var(--lease-fill,40%),#dce0dc var(--lease-fill,40%),#dce0dc 100%) center/100% 4px no-repeat;accent-color:var(--gold);touch-action:pan-y}
.lease-control input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.lease-control input[type=range]::-moz-range-thumb{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.lease-control input:not([type=range]):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
/* Keep focus on the thumb, clear of the figures below the touch target. */
.lease-control input[type=range]:focus,.lease-control input[type=range]:focus-visible{outline:none;outline-offset:0}
.lease-control input[type=range][data-lease-used=true]{filter:drop-shadow(0 0 3px #a5874c66)}
.lease-control input[type=range][data-lease-used=true]::-webkit-slider-thumb{background:#b39451;box-shadow:0 0 0 1px var(--gold),0 0 0 4px #b394511f,0 0 12px #c2a05db3}
.lease-control input[type=range][data-lease-used=true]::-moz-range-thumb{background:#b39451;box-shadow:0 0 0 1px var(--gold),0 0 0 4px #b394511f,0 0 12px #c2a05db3}
.lease-control input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px #fff,0 0 0 4px #735923,0 0 12px #c2a05db3}
.lease-control input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px #fff,0 0 0 4px #735923,0 0 12px #c2a05db3}
.lease-control-foot{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 12px;font-size:12px;line-height:1.4;color:#69716b;min-height:17px}
.lease-control-foot>span:last-child{margin-left:auto}
.lease-control-foot output{font-variant-numeric:tabular-nums;color:#3d4540}
.lease-result{padding:clamp(25px,3vw,40px);background:linear-gradient(125deg,#f3f5f1,#e9eeea);border:1px solid #dfe4de;border-radius:28px;min-width:0}
.lease-result>.eyebrow{font-size:12px;line-height:1.5;color:#68726c;letter-spacing:.14em}
.lease-monthly{display:flex;align-items:baseline;gap:9px;margin:12px 0 32px;white-space:nowrap}
.lease-monthly output{font-size:clamp(34px,4.1vw,56px);line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.lease-monthly>span{font-size:20px;color:#647068}
.lease-total{display:grid;gap:10px;padding-top:27px;border-top:1px solid #d0d8d1}
.lease-total>span{font-size:15px;color:#647068}
.lease-total strong{font-size:clamp(26px,2.6vw,36px);font-weight:400;letter-spacing:-.03em;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.lease-total small{font-size:13px;color:#68726c;letter-spacing:0}
.lease-breakdown{display:grid;gap:13px;margin:30px 0 0;font-size:13px;letter-spacing:0;line-height:1.4}
.lease-breakdown>div{display:flex;justify-content:space-between;gap:13px}
.lease-breakdown dt{color:#647068;min-width:0}
.lease-breakdown dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}
.lease-contact{margin-top:30px;width:100%;font-size:14px;padding:14px 20px;column-gap:18px;min-height:46px;text-align:center;white-space:normal}
.lease-contact svg{flex-shrink:0}
.lease-note{font-size:12px;line-height:1.5;letter-spacing:0;color:#6a746d;margin-top:14px}
.lease-empty{font-size:14px;line-height:1.6;color:#4c5d50;margin-top:20px}
.lease-result[data-lease-ready="false"] .lease-breakdown,.lease-result[data-lease-ready="false"] .lease-total small{display:none}
.lease-assumptions{display:flex;gap:14px 27px;flex-wrap:wrap;align-items:flex-start;padding-top:25px;margin-top:42px;border-top:1px solid var(--line);color:#657068;font-size:13px;line-height:1.7;letter-spacing:0}
.lease-assumptions>span{flex-shrink:0}
.lease-assumptions details{flex:1;min-width:230px}
.lease-assumptions summary{cursor:pointer;list-style:revert;font-size:13px;font-weight:400;display:list-item}
.lease-assumptions details p{margin-top:13px;max-width:75ch;font-size:13px;line-height:1.7;color:#657068}
.leasing [hidden]{display:none!important}
@media(max-width:850px){
 .lease-overview{grid-template-columns:minmax(0,1fr);gap:24px}
 .lease-intro{padding-top:0}
 .lease-layout{grid-template-columns:minmax(0,1fr);gap:35px;margin-top:38px}
 .lease-inner{max-width:650px}
 .lease-controls{gap:24px}
 .lease-result{padding:32px}
 .lease-heading h2{font-size:clamp(34px,6vw,52px)}
 .lease-monthly output{font-size:46px}
 .lease-total strong{font-size:32px}
}
@media(max-width:600px){
 .leasing{scroll-margin-top:0}
 .lease-heading h2{font-size:clamp(32px,8.3vw,44px);letter-spacing:-.04em;margin-top:18px}
 .lease-intro{gap:14px}
 .lease-intro p{font-size:14px;line-height:1.65}
 .lease-intro .lease-lead{font-size:18px;line-height:1.45}
 .lease-control-head{gap:10px}
 .lease-control-head label{font-size:13px}
 .lease-value-box{padding:8px 9px;gap:4px}
 .lease-value-box input{font-size:16px;width:34px}
 .lease-control[data-lease-control=value] .lease-value-box input{width:91px}
 .lease-value-box span{font-size:11px}
 .lease-control-foot{font-size:11px;gap:4px 8px}
 .lease-context{font-size:13px}
 .lease-result{border-radius:22px;padding:24px 21px}
 .lease-result>.eyebrow{font-size:10px}
 .lease-monthly{gap:7px;margin-bottom:25px}
 .lease-monthly output{font-size:clamp(31px,9vw,42px)}
 .lease-monthly>span{font-size:16px}
 .lease-total{padding-top:22px;gap:8px}
 .lease-total>span{font-size:13px}
 .lease-total strong{font-size:clamp(25px,7vw,30px)}
 .lease-total small{font-size:11px}
 .lease-breakdown{font-size:11px;gap:12px;margin-top:25px}
 .lease-breakdown>div{gap:8px}
 .lease-contact{font-size:12px;padding:12px 14px;column-gap:10px;min-height:44px}
 .lease-contact svg{width:18px;height:18px}
 .lease-note{font-size:11px}
 .lease-assumptions{gap:8px;font-size:11px;padding-top:20px;margin-top:30px}
 .lease-assumptions details{min-width:100%}
 .lease-assumptions summary,.lease-assumptions details p{font-size:11px}
}
@media(pointer:coarse){.lease-control input[type=range]{height:44px}}
@media(forced-colors:active){
 .lease-control input[type=range][data-lease-used=true]{filter:none}
 .lease-control input[type=range]:focus-visible{outline:2px solid Highlight;outline-offset:-2px}
}
/* Compact model-page calculator; the home calculator keeps its existing rules. */
.leasing-model{padding-block:clamp(40px,5vw,72px)}
.leasing-model .lease-overview{gap:clamp(24px,4vw,48px);align-items:center}
.leasing-model .lease-heading h2{font-size:clamp(30px,3.3vw,46px);line-height:1.1;max-width:24ch;margin-top:14px}
.leasing-model .lease-intro{padding-top:0;gap:12px}
.leasing-model .lease-intro p{font-size:14px;line-height:1.6;max-width:58ch}
.leasing-model .lease-context{font-size:13px;margin-top:18px}
.leasing-model .lease-layout{gap:clamp(24px,4vw,48px);margin-top:30px}
.leasing-model .lease-controls{gap:18px}
.leasing-model .lease-control-head{margin-bottom:3px}
.leasing-model .lease-control-head label{font-size:14px}
.leasing-model .lease-value-box{padding:8px 10px}
.leasing-model .lease-value-box input{font-size:17px}
.leasing-model .lease-result{padding:28px;border-radius:24px}
.leasing-model .lease-monthly{margin-bottom:23px}
.leasing-model .lease-monthly output{font-size:clamp(32px,3.5vw,46px)}
.leasing-model .lease-total{padding-top:20px;gap:8px}
.leasing-model .lease-total strong{font-size:clamp(26px,2.6vw,34px)}
.leasing-model .lease-breakdown{font-size:12px;gap:11px;margin-top:22px}
.leasing-model .lease-contact{font-size:13px;margin-top:22px;padding:12px 18px;min-height:44px}
.leasing-model .lease-assumptions{margin-top:28px;padding-top:18px;gap:10px 22px}
@media(max-width:850px){
 .leasing-model .lease-overview{gap:16px}
 .leasing-model .lease-layout{gap:26px;margin-top:26px}
 .leasing-model .lease-controls{gap:20px}
 .leasing-model .lease-heading h2{font-size:clamp(30px,5vw,42px)}
}
@media(max-width:600px){
 .leasing-model{padding-block:40px}
 .leasing-model .lease-overview{gap:13px}
 .leasing-model .lease-heading h2{font-size:clamp(28px,7.7vw,36px);max-width:26ch;margin-top:12px}
 .leasing-model .lease-layout{gap:23px;margin-top:24px}
 .leasing-model .lease-controls{gap:18px}
 .leasing-model .lease-control-head label{font-size:13px}
 .leasing-model .lease-value-box{padding:8px 9px}
 .leasing-model .lease-value-box input{font-size:16px}
 .leasing-model .lease-result{padding:22px 18px;border-radius:20px}
 .leasing-model .lease-monthly output{font-size:clamp(30px,9vw,38px)}
 .leasing-model .lease-total strong{font-size:clamp(24px,6.8vw,29px)}
 .leasing-model .lease-breakdown{font-size:11px;gap:11px}
 .leasing-model .lease-contact{font-size:12px;padding:12px 14px}
 .leasing-model .lease-assumptions{margin-top:24px;gap:8px}
}
