/* Guided SDLT calculator — shared by the public site (site.css tokens) and the app (.calcx-scope). */
.calcx-scope{
  --ob-950:#0b110e;--lime-50:#f3fce9;--lime-100:#e3f8ce;--lime-200:#caf1a6;--lime-400:#a2db35;--lime-500:#89c02b;--lime-600:#71a924;--lime-700:#558319;--lime-800:#446817;
  --cream-50:#f4f6f4;--n-50:#f8faf9;--n-100:#f0f3f1;--n-200:#e5e9e6;--n-300:#d1d8d3;--n-400:#a1b5a7;--n-500:#6c7b70;--n-600:#556358;--n-700:#424e45;--n-900:#29312c;--n-950:#141a16;
  --rose:#e5484d;--rose-l:#fde8e8;--amber:#f2a93b;--amber-l:#fdf1dc;--r-xl:22px;--sh-lg:0 14px 34px -20px rgba(11,17,14,.35);
  --fb:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--fm:ui-monospace,Menlo,Consolas,monospace;
  font-family:var(--fb);color:var(--n-950);font-size:15px;
}
.calcx-scope .calcx{margin-top:0}
.calcx-scope .calcx__side{top:76px}
.calcx-scope h2,.calcx-scope h3{font-family:var(--fb)}
.calcx-scope p{margin:0}
.calcx-scope .ic{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.calcx-scope .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .9rem/1.3 var(--fb);border:1.5px solid transparent;cursor:pointer;border-radius:999px;padding:11px 22px;text-decoration:none;white-space:nowrap;transition:.2s}
.calcx-scope .btn--primary{background:var(--lime-400);color:var(--ob-950);border-color:var(--lime-400)}
.calcx-scope .btn--primary:hover{background:var(--lime-500)}
.calcx-scope .btn--primary[disabled]{opacity:.45;cursor:not-allowed}
.calcx-scope .btn--outline{background:#fff;border-color:var(--n-300);color:var(--n-900)}
.calcx-scope .btn--outline:hover{border-color:var(--lime-600)}
.calcx-scope .btn--lg{padding:13px 26px;font-size:.95rem}
.calcx-scope .btn--block{width:100%}
.calcx-scope .money{position:relative}
.calcx-scope .money::before{content:"£";position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--n-500);font-weight:700;z-index:1}
.calcx-scope .money input{padding-left:29px!important}
.calcx-scope .dot{width:6px;height:6px;border-radius:50%;background:var(--lime-500);display:inline-block}
.calcx-scope .link{color:var(--lime-700);font-weight:800}
.calcx-scope .live__total{font-family:var(--fb)}
/* ---------- guided SDLT calculator ---------- */
.calcx-wrap{padding-bottom:88px}
.calcx{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;margin-top:-80px;position:relative;z-index:2}
.calcx__main{background:#fff;border:1px solid var(--n-200);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:32px 36px}
.cstep{display:flex;list-style:none;margin:0 0 30px;padding:0}
.cstep li{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;text-align:center;cursor:default}
.cstep li:not(:last-child)::after{content:"";position:absolute;top:19px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:var(--n-200);transition:background .3s}
.cstep li.done:not(:last-child)::after{background:var(--lime-500)}
.cstep span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.86rem;border:1.5px solid var(--n-200);color:var(--n-500);background:#fff;transition:.25s}
.cstep em{font-style:normal;font-size:.76rem;font-weight:700;color:var(--n-500);margin-top:7px}
.cstep li.on span{background:var(--ob-950);border-color:var(--ob-950);color:var(--lime-400);box-shadow:0 8px 18px -6px rgba(11,17,14,.5)}
.cstep li.on em,.cstep li.done em{color:var(--n-900)}
.cstep li.done{cursor:pointer}
.cstep li.done span{background:var(--lime-400);border-color:var(--lime-400);color:var(--ob-950)}
.js-calc .cpanel{display:none;animation:fadeUp .3s ease}
.js-calc .cpanel.on{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}}
.cpanel h2{font-size:1.6rem;margin-bottom:4px}
.cpanel__sub{font-size:.95rem;margin-bottom:24px;font-weight:500}
.q{border:0;margin:0 0 24px;padding:0}
.q legend,.q__l{display:block;font-weight:800;font-size:1rem;color:var(--n-950);margin-bottom:6px}
.q__hint{font-size:.85rem;color:var(--n-500);margin:-2px 0 12px;font-weight:500;max-width:640px}
.cards{display:grid;gap:10px}
.cards--2{grid-template-columns:1fr 1fr}.cards--3{grid-template-columns:repeat(3,1fr)}.cards--4{grid-template-columns:repeat(4,1fr)}
.ocard{position:relative;display:block;border:1.5px solid var(--n-200);border-radius:16px;padding:15px 15px 15px 46px;cursor:pointer;background:#fff;transition:.15s}
.ocard:hover{border-color:var(--n-300)}
.ocard input{position:absolute;opacity:0;pointer-events:none}
.ocard__r{position:absolute;left:15px;top:16px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--n-300);display:grid;place-items:center;transition:.15s}
.ocard__r::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime-400);transform:scale(0);transition:transform .15s}
.ocard b{display:block;font-size:.93rem;font-weight:800;color:var(--n-950)}
.ocard small{display:block;font-size:.78rem;color:var(--n-500);margin-top:3px;line-height:1.4;font-weight:500}
.ocard__ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--n-100);color:var(--n-700);margin-bottom:8px}
.ocard__ic .ic{width:18px;height:18px}
.ocard--sm{padding:12px 12px 12px 44px}
.ocard--sm .ocard__r{top:13px}
.ocard:has(input:checked){border-color:var(--ob-950);background:#fbfdf8;box-shadow:0 0 0 3px rgba(162,219,53,.25)}
.ocard:has(input:checked) .ocard__r{background:var(--ob-950);border-color:var(--ob-950)}
.ocard:has(input:checked) .ocard__r::after{transform:scale(1)}
.ocard:has(input:checked) .ocard__ic{background:var(--ob-950);color:var(--lime-400)}
.ocard:has(input:focus-visible){outline:3px solid var(--lime-400);outline-offset:2px}
.calcx .inp{width:100%;font:600 1rem var(--fb);padding:13px 15px;border:1.5px solid var(--n-200);border-radius:14px;background:var(--n-50);color:var(--n-950);transition:.15s;max-width:340px}
.calcx .inp:focus{outline:0;border-color:var(--lime-500);background:#fff;box-shadow:0 0 0 4px rgba(162,219,53,.22)}
.calcx .inp.err{border-color:var(--rose);background:#fff}
.money--lg{max-width:340px}
.money--lg .inp{font-size:1.25rem;font-weight:800;padding:15px 15px 15px 32px!important}
.money--lg::before{font-size:1.15rem}
.rents{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.rents span{display:block;font:700 10.5px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--n-500);margin-bottom:5px}
.rents .inp{padding-left:28px!important;font-size:.9rem}
.stepnum{display:inline-flex;align-items:center;border:1.5px solid var(--n-200);border-radius:14px;overflow:hidden;background:var(--n-50)}
.stepnum button{width:46px;height:48px;border:0;background:none;font-size:1.3rem;font-weight:700;cursor:pointer;color:var(--n-700)}
.stepnum button:hover{background:var(--n-100)}
.stepnum input{width:64px;height:48px;border:0;border-left:1px solid var(--n-200);border-right:1px solid var(--n-200);text-align:center;font:800 1.05rem var(--fb);background:#fff;-moz-appearance:textfield}
.stepnum input::-webkit-inner-spin-button{appearance:none}
.chipline{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chipline span{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--lime-50);color:var(--lime-800);border:1px solid var(--lime-200)}
.chipline span.warn{background:var(--amber-l);color:#7a4a00;border-color:#f8dcaa}
.stop,.info{display:flex;gap:12px;border-radius:16px;padding:14px 16px;margin-top:12px;font-size:.9rem;font-weight:500}
.stop{background:var(--rose-l);color:#8b1c1f;border:1px solid #f6c8c9}
.info{background:var(--cream-50);color:var(--n-700);border:1px solid var(--n-200)}
.stop .ic,.info .ic{margin-top:1px}
.info b,.stop b{color:inherit}
.errmsg{display:none;color:#b4232a;font-size:.84rem;font-weight:700;margin-top:6px}
.errmsg.show{display:block}
.cnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--n-200)}
.calcx__side{position:sticky;top:108px;display:grid;gap:16px}
.live{background:var(--ob-950);color:#fff;border-radius:var(--r-xl);padding:26px;position:relative;overflow:hidden;isolation:isolate}
.live::before{content:"";position:absolute;width:280px;height:280px;right:-110px;top:-120px;border-radius:50%;background:rgba(162,219,53,.22);filter:blur(60px);z-index:-1}
.live__k{display:flex;align-items:center;gap:8px;font:700 11px var(--fb);letter-spacing:.18em;text-transform:uppercase;color:var(--lime-400)}
.live__total{font-size:2.9rem;font-weight:800;letter-spacing:-.045em;line-height:1.1;margin:10px 0 2px;color:#fff}
.live__sub{font-size:.85rem;color:var(--n-400);font-weight:500;margin-bottom:16px}
.live__facts{display:grid;gap:0;margin:0 0 20px;border-top:1px solid rgba(255,255,255,.08)}
.live__facts div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.82rem}
.live__facts dt{color:var(--n-400);font-weight:500}
.live__facts dd{margin:0;color:#fff;font-weight:700;text-align:right}
.live__fine{font-size:.76rem;color:var(--n-500);margin-top:10px}
.side-note{background:#fff;border:1px solid var(--n-200);border-radius:20px;padding:18px 20px;font-size:.88rem}
.side-note p{margin-top:4px;font-size:.86rem}
.calcx-fine{font-size:.82rem;color:var(--n-500);margin-top:22px;max-width:860px}
/* result */
.result__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--n-200);margin-bottom:22px}
.result__k{font:700 11px var(--fb);letter-spacing:.18em;text-transform:uppercase;color:var(--lime-700);display:flex;gap:8px;align-items:center}
.result__total{font-size:3.4rem;font-weight:800;letter-spacing:-.05em;line-height:1.05;margin:6px 0 4px}
.result__meta{font-size:.9rem;color:var(--n-500);font-weight:500}
.result__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.result__chips span{font-size:.76rem;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--n-100);color:var(--n-700)}
.result__chips span.on{background:var(--ob-950);color:var(--lime-400)}
.deadline{background:var(--cream-50);border:1px solid var(--n-200);border-radius:18px;padding:16px 18px;min-width:220px}
.deadline small{display:block;font:700 10.5px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--n-500)}
.deadline b{display:block;font-size:1.15rem;margin:2px 0}
.deadline span{font-size:.8rem;color:var(--n-500)}
.result h3{font-size:1rem;margin:22px 0 8px}
.rtable{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--n-200);border-radius:16px;overflow:hidden;font-size:.9rem}
.rtable th{background:var(--n-50);text-align:left;font:700 10.5px var(--fb);letter-spacing:.1em;text-transform:uppercase;color:var(--n-500);padding:10px 14px;border-bottom:1px solid var(--n-200)}
.rtable td{padding:10px 14px;border-bottom:1px solid var(--n-100)}
.rtable .r{text-align:right;font-family:var(--fm);font-weight:600}
.rtable tr.z td{color:var(--n-400)}
.rtable tr.z .r{font-weight:500}
.rtable tfoot td{background:var(--ob-950);color:#fff;font-weight:800;border:0}
.rtable tfoot .r{color:var(--lime-400)}
.rate-bar{display:inline-block;height:6px;border-radius:3px;background:var(--lime-400);vertical-align:middle;margin-right:8px}
.whatif{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:8px}
.whatif div{border:1px solid var(--n-200);border-radius:16px;padding:14px 16px;background:#fff}
.whatif small{display:block;font-size:.8rem;color:var(--n-500);font-weight:600}
.whatif b{display:block;font-size:1.3rem;letter-spacing:-.02em;margin-top:2px}
.whatif em{font-style:normal;font-size:.78rem;font-weight:700}
.whatif em.up{color:var(--rose)}.whatif em.down{color:var(--lime-700)}
.rnotes{display:grid;gap:8px;margin-top:4px}
.rnotes li{display:flex;gap:10px;font-size:.88rem;color:var(--n-700);font-weight:500;padding:10px 14px;border-radius:12px;background:var(--n-50)}
.rnotes li.w{background:var(--amber-l);color:#7a4a00}
.rnotes li .ic{width:16px;height:16px;margin-top:2px}
.nextbox{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:24px;background:var(--ob-950);border-radius:20px;padding:20px 22px;color:#fff}
.nextbox b{color:#fff;display:block;font-size:1rem}
.nextbox p{color:var(--n-400);font-size:.86rem;margin:2px 0 0}
@media (max-width:1060px){.calcx{grid-template-columns:1fr}.calcx__side{position:static}}
@media (max-width:700px){.calcx__main{padding:24px 18px}.cards--3,.cards--4{grid-template-columns:1fr 1fr}.rents{grid-template-columns:1fr 1fr 1fr}.cstep em{display:none}}
@media (max-width:460px){.cards--2,.cards--3,.cards--4{grid-template-columns:1fr}.rents{grid-template-columns:1fr 1fr}.result__total{font-size:2.6rem}}
.calcx .q__opt{font-weight:400;color:var(--muted,#6b7280);font-size:.85em}
.calcx .estbox{margin-top:18px;padding:16px 18px;border:1px dashed var(--line,#d6dbe1);border-radius:14px;background:var(--soft-bg,#f8faf9)}
.calcx .estbox p{margin:4px 0 10px;font-size:.9rem;color:var(--muted,#6b7280)}
.calcx .estbox__f{display:grid;grid-template-columns:1fr 1.4fr .8fr auto;gap:8px}
@media (max-width:900px){.calcx .estbox__f{grid-template-columns:1fr}}
.calcx .estbox__dev{margin:.75rem 0 0;font-size:.88rem}
.calcx [hidden]{display:none!important}
/* locked amount + unlock/update panel (also used inside the customer area, which doesn't load site.css) */
.calcx .locked-amt{display:inline-flex;align-items:center;gap:10px}
.calcx .locked-amt .blur{filter:blur(9px);user-select:none;opacity:.75}
.calcx .locked-amt .ic{width:20px;height:20px;color:var(--lime-400,#a2db35)}
.calcx .unlock{background:var(--ob-950,#0b110e);color:#fff;border-radius:22px;padding:24px;margin-top:6px}
.calcx .unlock h3{color:#fff;font-size:1.35rem;margin:0 0 4px}
.calcx .unlock p{color:#c8d0ca;margin:0 0 14px}
.calcx .unlock .checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.calcx .unlock .checks li{position:relative;padding-left:28px;color:#e6ece7;font-weight:500}
.calcx .unlock .checks li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:6px;background:var(--lime-400,#a2db35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b110e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.calcx .unlock__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.calcx .unlock__price{font-size:2rem;font-weight:800;letter-spacing:-.03em;color:#fff}
.calcx .unlock__price small{font-size:.8rem;color:#c8d0ca;font-weight:600;letter-spacing:0}
