.calculators-page{background:#f8faf8}.calculator-page-hero{position:relative;isolation:isolate;overflow:hidden;padding:88px 0 78px;background:radial-gradient(circle at 80% 15%,rgba(184,147,88,.15),transparent 27%),linear-gradient(125deg,#fff 0%,#f7faf7 58%,#eaf1ed 100%);border-bottom:1px solid var(--line)}.calculator-page-hero:after{content:"";position:absolute;z-index:-1;right:-120px;top:-310px;width:690px;aspect-ratio:1;border:1px solid rgba(184,147,88,.2);border-radius:50%;box-shadow:0 0 0 88px rgba(47,89,69,.018),0 0 0 176px rgba(47,89,69,.012)}.calculator-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.62fr);gap:clamp(60px,9vw,130px);align-items:end}.calculator-page-hero .eyebrow{margin:0 0 20px;color:var(--green-accent);font-size:11px;font-weight:650!important}body .calculator-page-hero h1{margin:0;color:var(--ink);font-size:clamp(52px,5.8vw,82px)!important;font-weight:430!important;line-height:.98!important;letter-spacing:-.055em!important}body .calculator-page-hero h1 em{color:var(--green-accent);font-family:var(--font-ui)!important;font-weight:440!important;font-style:normal}.calculator-page-hero-grid>div:last-child>p{max-width:520px;margin:0;color:var(--muted);font-size:16px;line-height:1.72}.calculator-hero-points{display:grid;gap:11px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.calculator-hero-points span{position:relative;padding-left:21px;color:var(--ink);font-size:11px;font-weight:600!important}.calculator-hero-points span:before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%;background:#fff}
.calculator-workspace{padding-top:78px;padding-bottom:92px}.calculator-workspace-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:31px}.calculator-workspace-heading .eyebrow{margin:0;color:var(--green-accent);font-size:11px;font-weight:650!important}body .calculator-workspace-heading h2{margin:0;font-size:clamp(35px,4vw,51px)!important;font-weight:440!important;line-height:1!important;letter-spacing:-.04em!important}.calculator-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.calculator-tabs button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:74px;padding:15px 20px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:620!important;cursor:pointer;transition:background .2s,color .2s}.calculator-tabs button:last-child{border-right:0}.calculator-tabs button:hover{background:#f5f8f6;color:var(--ink)}.calculator-tabs button span{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(184,147,88,.6);border-radius:50%;color:var(--gold);font-size:8px;font-weight:750!important}.calculator-tabs button.active{background:linear-gradient(130deg,#244535,#315a45);color:#fff}.calculator-tabs button.active span{border-color:rgba(235,211,164,.75);color:#ecd5a6}.calculator-tabs button:focus-visible,.choice-buttons button:focus-visible{position:relative;z-index:2;outline:2px solid var(--gold);outline-offset:-3px}.calculator-panel{padding:clamp(36px,5vw,64px);background:#fff;border:1px solid var(--line);border-top:0}.calculator-panel-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.55fr);column-gap:clamp(50px,9vw,120px);align-items:end;margin-bottom:48px;padding-bottom:38px;border-bottom:1px solid var(--line)}.calculator-panel-intro .eyebrow{grid-column:1/-1;margin:0 0 15px;color:var(--green-accent);font-size:10px;font-weight:650!important}body .calculator-panel-intro h2{max-width:720px;margin:0;font-size:clamp(39px,4.2vw,58px)!important;font-weight:440!important;line-height:1.02!important;letter-spacing:-.045em!important}.calculator-panel-intro>p:last-child{max-width:500px;margin:0;color:var(--muted);font-size:13px;line-height:1.75}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.72fr);gap:clamp(46px,7vw,90px);align-items:start}.calculator-controls{display:grid;gap:27px}
.range-control{padding:2px 0 19px;border-bottom:1px solid var(--line)}.range-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.range-label label{color:var(--ink);font-size:13px;font-weight:620!important}.range-label output{color:var(--green-accent);font-size:24px;font-weight:520!important;letter-spacing:-.035em!important}.range-control input[type="range"]{width:100%;height:5px;margin:0;padding:0;border:0;border-radius:999px;outline:0;background:linear-gradient(to right,var(--gold) 0,var(--gold) var(--range-fill,0%),#e6ebe8 var(--range-fill,0%),#e6ebe8 100%);appearance:none;-webkit-appearance:none;cursor:pointer}.range-control input[type="range"]::-webkit-slider-thumb{width:23px;height:23px;border:5px solid #fff;border-radius:50%;background:var(--green-accent);box-shadow:0 0 0 1px var(--gold),0 4px 12px rgba(29,57,45,.19);appearance:none;-webkit-appearance:none}.range-control input[type="range"]::-moz-range-thumb{width:14px;height:14px;border:5px solid #fff;border-radius:50%;background:var(--green-accent);box-shadow:0 0 0 1px var(--gold),0 4px 12px rgba(29,57,45,.19)}.range-control input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(184,147,88,.38),0 4px 12px rgba(29,57,45,.19)}.range-scale{display:flex;justify-content:space-between;margin-top:10px;color:#8a938e;font-size:8px;font-weight:600!important}.overpayment-highlight{margin-top:3px;padding:22px 22px 23px;background:linear-gradient(120deg,#f4f8f5,#f7f2e8);border:1px solid rgba(184,147,88,.35)}
.calculator-result-card{position:sticky;top:120px;overflow:hidden;padding:38px;background:linear-gradient(145deg,#1f3e30 0%,#2c5440 72%,#385e49 100%);color:#fff;border:1px solid rgba(184,147,88,.62);box-shadow:18px 22px 45px rgba(29,57,45,.12)}.calculator-result-card:after{content:"";position:absolute;right:-120px;top:-150px;width:310px;aspect-ratio:1;border:1px solid rgba(232,204,150,.19);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.012)}.calculator-result-card>p:first-child{position:relative;z-index:1;margin:0 0 12px;color:#e6cc99;font-size:10px;font-weight:720!important;text-transform:uppercase;letter-spacing:.12em!important}.calculator-result-card>strong{position:relative;z-index:1;display:block;color:#fff;font-size:clamp(43px,5vw,66px);font-weight:450!important;line-height:1;letter-spacing:-.05em!important}.calculator-result-card>span{position:relative;z-index:1;display:block;margin-top:7px;color:#b9cbc2;font-size:11px}.calculator-result-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.calculator-result-grid>div{display:grid;gap:7px;padding:19px 16px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.calculator-result-grid small,.overpayment-saving small{color:#aebfb7;font-size:8px;font-weight:650!important;text-transform:uppercase;letter-spacing:.09em!important}.calculator-result-grid b{color:#fff;font-size:15px;font-weight:560!important}.ltv-meter{position:relative;z-index:1;margin-top:25px}.ltv-meter>div{display:flex;justify-content:space-between;margin-bottom:9px;color:#cedbd5;font-size:9px}.ltv-meter b{color:#fff;font-weight:600!important}.ltv-meter>i{display:block;overflow:hidden;height:5px;background:rgba(255,255,255,.16);border-radius:99px}.ltv-meter>i>span{display:block;height:100%;background:linear-gradient(90deg,#d2ad67,#f0d49e);border-radius:inherit;transition:width .2s}.calculator-result-button{position:relative;z-index:1;width:100%;margin-top:27px;background:#f7f3e9!important;color:var(--ink)!important;border-color:#f7f3e9!important}.overpayment-result>strong{max-width:360px;font-size:clamp(37px,4.2vw,55px)}.overpayment-saving{position:relative;z-index:1;display:grid;gap:5px;margin-top:28px;padding:20px;background:rgba(255,255,255,.075);border:1px solid rgba(232,204,150,.23)}.overpayment-saving b{color:#efd49e;font-size:31px;font-weight:500!important;letter-spacing:-.04em!important}.calculator-result-note{position:relative;z-index:1;margin:22px 0 0!important;color:#b9cac2!important;font-size:10px!important;line-height:1.6!important}
.choice-control{margin:0;padding:0;border:0}.choice-control legend{margin-bottom:12px;color:var(--ink);font-size:12px;font-weight:650!important}.choice-buttons{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.choice-buttons button{min-height:54px;padding:12px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px;font-weight:600!important;cursor:pointer}.choice-buttons button:last-child{border-right:0}.choice-buttons button:hover{background:#f5f8f6;color:var(--ink)}.choice-buttons button.active{background:#294c3b;color:#fff}.tax-price-control{margin-top:3px}.switch-control{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;cursor:pointer}.switch-control[hidden]{display:none}.switch-control input{position:absolute;opacity:0}.switch-control>span{position:relative;width:42px;height:23px;background:#dfe6e2;border-radius:99px;transition:.2s}.switch-control>span:after{content:"";position:absolute;left:4px;top:4px;width:15px;height:15px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(29,57,45,.15);transition:.2s}.switch-control input:checked+span{background:var(--green-accent)}.switch-control input:checked+span:after{transform:translateX(19px)}.switch-control input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.switch-control b{color:var(--muted);font-size:10px;font-weight:600!important}.tax-context-note{margin:0!important;padding:14px 16px;background:#f5f8f6;color:var(--muted)!important;border-left:2px solid var(--gold);font-size:10px!important;line-height:1.55!important}.tax-result>strong{font-size:clamp(49px,5.3vw,70px)}.tax-breakdown{position:relative;z-index:1;margin-top:28px;border-top:1px solid rgba(255,255,255,.16)}.tax-breakdown-heading,.tax-breakdown>div>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13)}.tax-breakdown-heading small{color:#aebfb7;font-size:8px;text-transform:uppercase;letter-spacing:.09em!important}.tax-breakdown-heading b{color:#e8d0a0;font-size:9px;font-weight:650!important}.tax-breakdown>div>div span{color:#bdcdc5;font-size:9px}.tax-breakdown>div>div b{color:#fff;font-size:10px;font-weight:600!important}
.calculator-disclaimer{display:grid;grid-template-columns:minmax(270px,.62fr) minmax(0,1fr);gap:clamp(45px,8vw,100px);margin-top:36px;padding:36px 0 0;border-top:1px solid var(--line)}.calculator-disclaimer .eyebrow{margin:0 0 13px;color:var(--green-accent);font-size:9px;font-weight:650!important}.calculator-disclaimer h2{margin:0;font-size:30px!important;font-weight:470!important;line-height:1.1!important;letter-spacing:-.035em!important}.calculator-disclaimer>div:last-child>p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.calculator-disclaimer .calculator-sources{margin-top:13px!important}.calculator-sources a{color:var(--green-accent);font-weight:650!important;text-decoration:underline;text-decoration-color:rgba(184,147,88,.55);text-underline-offset:3px}.calculator-cta{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:95px;padding:54px 58px;background:linear-gradient(125deg,#eef4f0 0%,#fff 58%,#f5eddf 100%);border:1px solid rgba(184,147,88,.36)}.calculator-cta .eyebrow{margin:0 0 15px;color:var(--green-accent);font-size:9px;font-weight:650!important}.calculator-cta h2{max-width:750px;margin:0;font-size:clamp(38px,4.2vw,56px)!important;font-weight:450!important;line-height:1.02!important;letter-spacing:-.045em!important}.calculator-cta>div:last-child{display:grid;gap:15px;min-width:225px;text-align:center}.calculator-cta>div:last-child>a:last-child{color:var(--green-accent);font-size:10px;font-weight:650!important}
@media(max-width:980px){.calculator-page-hero-grid,.calculator-layout{grid-template-columns:1fr}.calculator-page-hero-grid{align-items:start}.calculator-page-hero-grid>div:last-child{max-width:650px}.calculator-panel-intro{grid-template-columns:1fr;gap:22px}.calculator-result-card{position:relative;top:auto}.calculator-cta{align-items:flex-start;flex-direction:column}.calculator-cta>div:last-child{width:100%;text-align:left}.calculator-cta .button{width:max-content}}
@media(max-width:650px){.calculator-page-hero{padding:57px 0 51px}.calculator-page-hero-grid{gap:30px}.calculator-page-hero h1{font-size:46px!important}.calculator-page-hero-grid>div:last-child>p{font-size:14px}.calculator-workspace{width:calc(100% - 24px);padding-top:48px;padding-bottom:65px}.calculator-workspace-heading{align-items:flex-start;flex-direction:column;gap:12px}.calculator-tabs{grid-template-columns:1fr}.calculator-tabs button{justify-content:flex-start;min-height:58px;border-right:0;border-bottom:1px solid var(--line)}.calculator-tabs button:last-child{border-bottom:0}.calculator-panel{padding:31px 17px}.calculator-panel-intro{margin-bottom:34px;padding-bottom:29px}.calculator-panel-intro h2{font-size:38px!important}.calculator-layout{gap:34px}.range-label{align-items:flex-end}.range-label output{font-size:21px}.calculator-result-card{padding:29px 21px}.calculator-result-card>strong{font-size:45px}.calculator-result-grid>div{padding:16px 11px}.choice-buttons{grid-template-columns:1fr}.choice-buttons button{min-height:48px;border-right:0;border-bottom:1px solid var(--line)}.choice-buttons button:last-child{border-bottom:0}.calculator-disclaimer{grid-template-columns:1fr;gap:20px}.calculator-cta{width:calc(100% - 28px);margin-bottom:68px;padding:34px 23px}.calculator-cta h2{font-size:38px!important}.calculator-cta .button{width:100%}}
/* Compact calculator refinement */
.calculators-page{background:#fbfaf7}.calculator-page-hero{background:radial-gradient(circle at 80% 15%,rgba(184,147,88,.15),transparent 27%),linear-gradient(125deg,#fff 0%,#fbfaf7 58%,#f4eee3 100%)}
.calculator-workspace{padding-top:68px;padding-bottom:82px}.calculator-panel{padding:clamp(32px,4.4vw,54px)}.calculator-panel-intro{margin-bottom:35px;padding-bottom:29px}
.calculator-layout{grid-template-columns:minmax(0,1.2fr) minmax(370px,.68fr);gap:clamp(38px,5vw,68px);align-items:stretch}.calculator-panel:not(#panel-tax) .calculator-controls{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:0;align-self:stretch}.calculator-panel:not(#panel-tax) .range-control{display:flex;min-height:0;padding:10px 0 11px;flex-direction:column;justify-content:center}.calculator-panel:not(#panel-tax) .range-control:first-child{padding-top:0}.calculator-panel:not(#panel-tax) .range-control:last-child:not(.overpayment-highlight){padding-bottom:0}.range-label{gap:16px;margin-bottom:9px}.range-label label{font-size:12px}.range-label label small{display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:550!important}.range-label output{font-size:21px}.range-scale{margin-top:6px}.calculator-panel:not(#panel-tax) .overpayment-highlight{margin:6px 0 0;padding:11px 16px 12px;background:linear-gradient(120deg,#faf8f3,#f6efe4)}.calculator-panel:not(#panel-tax) .calculator-result-card{position:relative;top:auto;height:auto;align-self:stretch}
.calculator-cta{background:linear-gradient(125deg,#fbf9f4 0%,#fff 54%,#f3eadb 100%)}
@media(max-width:980px){.calculator-layout{grid-template-columns:1fr}.calculator-panel:not(#panel-tax) .calculator-controls{grid-template-columns:1fr;grid-template-rows:none;height:auto}.calculator-panel:not(#panel-tax) .range-control{min-height:80px}.calculator-panel:not(#panel-tax) .calculator-result-card{height:auto}}
@media(max-width:650px){.calculator-workspace{padding-top:44px;padding-bottom:62px}.calculator-panel{padding:28px 17px}.calculator-panel-intro{margin-bottom:29px;padding-bottom:25px}.calculator-panel:not(#panel-tax) .range-control{min-height:76px;padding:9px 0 10px}}

/* Repayment type selector */
.mortgage-type-control{margin:0;padding:0 0 15px;border:0;border-bottom:1px solid var(--line)}.mortgage-type-control legend{margin-bottom:9px;color:var(--ink);font-size:12px;font-weight:620!important}.mortgage-type-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.mortgage-type-options label{position:relative;cursor:pointer}.mortgage-type-options label+label{border-left:1px solid var(--line)}.mortgage-type-options input{position:absolute;opacity:0}.mortgage-type-options span{display:grid;place-items:center;min-height:42px;padding:7px 12px;background:#fff;color:var(--muted);font-size:10px;font-weight:620!important;transition:background .2s,color .2s}.mortgage-type-options input:checked+span{background:#294c3b;color:#fff}.mortgage-type-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:-3px}#panel-repayment .calculator-controls{grid-template-rows:auto repeat(4,minmax(0,1fr))}
/* Stable live-calculation dimensions */
.range-label output,.calculator-result-card>strong,.calculator-result-grid b,.overpayment-saving b,.tax-breakdown b{font-variant-numeric:tabular-nums}.range-label output{min-width:145px;text-align:right;white-space:nowrap}.calculator-result-grid b,.overpayment-saving b{white-space:nowrap}.range-control input[type="range"]{touch-action:none}.tax-breakdown{min-height:258px}.tax-result #tax-relief-note{min-height:48px}
@media(min-width:981px){.calculator-panel:not(#panel-tax) .calculator-layout{height:520px}.calculator-panel:not(#panel-tax) .calculator-controls,.calculator-panel:not(#panel-tax) .calculator-result-card{box-sizing:border-box;height:100%;min-height:0}.overpayment-result{padding:31px 34px}.overpayment-result>strong{min-height:1.96em;font-size:clamp(34px,3.6vw,48px)}.overpayment-result .overpayment-saving{margin-top:18px;padding:15px 17px}.overpayment-result .calculator-result-grid{margin-top:20px}.overpayment-result .calculator-result-grid>div{padding:14px 13px}.overpayment-result .calculator-result-note{margin-top:15px!important}.tax-calculator-layout{height:640px;align-items:stretch}.tax-calculator-layout>.calculator-controls,.tax-result{box-sizing:border-box;height:100%;min-height:0}}
@media(max-width:650px){.range-label output{min-width:112px}.tax-breakdown{min-height:230px}}
/* Fixed overpayment result geometry */
.overpayment-result{box-sizing:border-box;height:520px!important;min-height:520px!important;max-height:520px!important}.overpayment-result>strong{display:block;height:1.96em!important;min-height:1.96em!important;max-height:1.96em!important;overflow:hidden}
@media(max-width:650px){.overpayment-result{height:570px!important;min-height:570px!important;max-height:570px!important}.overpayment-result>strong{height:2.94em!important;min-height:2.94em!important;max-height:2.94em!important}}
