
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit/text-size-adjust:100%}

:root{
  --ink:      #0f1117;
  --ink2:     #3a3f4d;
  --ink3:     #7a8099;
  --ink4:     #b0b6c8;
  --paper:    #f7f6f2;
  --paper2:   #eeecea;
  --paper3:   #e4e2dc;
  --white:    #ffffff;
  --rule:     #dedad2;
  --gold:     #c8a84b;
  --gold2:    #a8882e;
  --teal:     #00897b;
  --teal2:    #00695c;
  --teal-bg:  #e8f5f3;
  --red:      #c62828;
  --red-bg:   #fdecea;
  --amber:    #e65100;
  --amber-bg: #fff3e0;
  --green:    #2e7d32;
  --green-bg: #e8f5e9;
  --serif:    'Instrument Serif', Georgia, serif;
  --sans:     'Manrope', sans-serif;
  --mono:     'DM Mono', 'Courier New', monospace;
  --r:        6px;
  --r2:       12px;
  --shadow:   0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.06);
}

body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh;}

/* ── Header ── */
.site-header{background:var(--white);border-bottom:1px solid var(--rule);padding:14px 0;position:sticky;top:0;z-index:200;box-shadow:0 1px 0 var(--rule);}
.hd-inner{max-width:1160px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{font-family:var(--sans);font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.01em;text-decoration:none;}
.logo em{color:var(--gold);font-style:normal;}
.hd-nav{display:flex;gap:24px;align-items:center;}
.hd-nav a{font-size:13px;font-weight:500;color:var(--ink3);text-decoration:none;transition:color .15s;}
.hd-nav a:hover{color:var(--ink);}

/* ── Wrap ── */
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}

/* ── Hero ── */
.hero{padding:64px 0 48px;border-bottom:1px solid var(--rule);text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-40px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(200,168,75,.08) 0%,transparent 70%);pointer-events:none;}
.hero-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px;}
.hero h1{font-family:var(--serif);font-size:clamp(28px,4vw,54px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;white-space:nowrap;}
.hero h1 em{font-style:italic;color:var(--gold);}
.hero-lead{font-size:16px;color:var(--ink2);line-height:1.7;max-width:560px;margin:0 auto 28px;}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.pill{font-size:12px;font-weight:600;color:var(--ink2);background:var(--white);border:1px solid var(--rule);border-radius:20px;padding:5px 12px;}

/* ── Calculator layout ── */
.calc-section{padding:48px 0 64px;}
.calc-layout{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:start;}
@media(max-width:920px){.calc-layout{grid-template-columns:1fr;}}

/* ── Below-fold full-width results ── */
.results-below{margin-top:32px;}
.results-below-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:720px){.results-below-grid{grid-template-columns:1fr;}}

/* ── Panels ── */
.panel{background:var(--white);border:1px solid var(--rule);border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden;}
.panel-head{padding:16px 24px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:10px;}
.panel-head h2{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);}
.panel-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.panel-body{padding:24px;}

/* ── Input groups ── */
.input-section{margin-bottom:28px;}
.input-section:last-child{margin-bottom:0;}
.input-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--rule);}
.field{margin-bottom:12px;}
.field:last-child{margin-bottom:0;}
.field-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.field-label span{font-size:13px;font-weight:500;color:var(--ink2);}
.field-label em{font-style:normal;font-size:11px;font-family:var(--mono);color:var(--ink4);}
.input-wrap{position:relative;display:flex;align-items:center;}
.input-prefix,.input-suffix{position:absolute;font-family:var(--mono);font-size:13px;color:var(--ink4);pointer-events:none;user-select:none;}
.input-prefix{left:12px;}.input-suffix{right:12px;}

input[type=number],select{width:100%;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);color:var(--ink);font-family:var(--mono);font-size:14px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield;appearance:textfield;}
input[type=number]::-webkit/outer-spin-button,input[type=number]::-webkit/inner-spin-button{-webkit-appearance:none;appearance:none;margin:0;}
input[type=number]:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,137,123,.1);background:var(--white);}
.has-prefix input[type=number]{padding-left:26px;}
select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23b0b6c8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;-webkit-appearance:none;appearance:none;}

/* ── Toggle ── */
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);gap:12px;}
.toggle-row:last-child{border-bottom:none;}
.toggle-info .tl{font-size:13px;font-weight:500;color:var(--ink2);}
.toggle-info .ts{font-size:11px;color:var(--ink4);margin-top:2px;}
.sw{position:relative;width:42px;height:24px;flex-shrink:0;}
.sw input{opacity:0;width:0;height:0;}
.sw-track{position:absolute;inset:0;background:var(--paper3);border-radius:12px;cursor:pointer;transition:background .2s;}
.sw-track::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s;}
.sw input:checked+.sw-track{background:var(--teal);}
.sw input:checked+.sw-track::before{transform:translateX(18px);}

/* ── Results ── */
.results-panel{position:sticky;top:24px;}

.result-block{margin-bottom:16px;}
.result-block-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--rule);}

/* ── Primary SDLT display ── */
.affordability-primary{border-radius:var(--r2);padding:20px;margin-bottom:16px;text-align:center;border:1px solid var(--rule);background:var(--paper);transition:all .3s;}
.affordability-primary.good{background:var(--green-bg);border-color:rgba(46,125,50,.2);}
.affordability-primary.warn{background:var(--amber-bg);border-color:rgba(230,81,0,.2);}
.affordability-primary.bad{background:var(--red-bg);border-color:rgba(198,40,40,.2);}
.affordability-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink4);margin-bottom:8px;}
.affordability-amount{font-family:var(--mono);font-size:42px;font-weight:500;line-height:1;color:var(--ink);transition:color .3s;}
.affordability-primary.good .affordability-amount{color:var(--green);}
.affordability-primary.warn .affordability-amount{color:var(--amber);}
.affordability-primary.bad .affordability-amount{color:var(--red);}
.affordability-rate{font-family:var(--mono);font-size:13px;color:var(--ink4);margin-top:6px;}

/* ── Metric grid ── */
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.metric{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px;transition:background .3s,border-color .3s;}
.metric.full{grid-column:span 2;}
.m-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink4);margin-bottom:5px;}
.m-value{font-family:var(--mono);font-size:18px;font-weight:500;color:var(--ink);line-height:1;transition:color .3s;}
.m-sub{font-family:var(--mono);font-size:10px;color:var(--ink4);margin-top:3px;}
.metric.good{background:var(--green-bg);border-color:rgba(46,125,50,.2);}
.metric.good .m-value{color:var(--green);}
.metric.warn{background:var(--amber-bg);border-color:rgba(230,81,0,.2);}
.metric.warn .m-value{color:var(--amber);}
.metric.bad{background:var(--red-bg);border-color:rgba(198,40,40,.2);}
.metric.bad .m-value{color:var(--red);}

/* ── Band breakdown ── */
.band-table{border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-bottom:16px;font-size:12px;}
.band-head{display:grid;grid-template-columns:1fr 52px 90px 80px;padding:7px 12px;background:var(--ink);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.band-row{display:grid;grid-template-columns:1fr 52px 90px 80px;padding:8px 12px;border-top:1px solid var(--rule);transition:background .2s;}
.band-row:nth-child(even){background:var(--paper);}
.band-row.active{background:var(--teal-bg);border-color:rgba(0,137,123,.2);}
.band-row.total-row{background:var(--paper2);font-weight:700;border-top:2px solid var(--rule);}
.band-label{color:var(--ink2);font-size:11px;}
.band-rate{font-family:var(--mono);font-size:11px;color:var(--ink3);text-align:center;}
.band-rate.active-rate{color:var(--teal2);font-weight:600;}
.band-taxable{font-family:var(--mono);font-size:11px;color:var(--ink3);text-align:right;}
.band-tax{font-family:var(--mono);font-size:11px;color:var(--ink);text-align:right;font-weight:500;}
.band-tax.has-tax{color:var(--red);}

/* ── Comparison vs old rules ── */
.comparison-block{border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-bottom:16px;}
.comp-row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--rule);font-size:13px;}
.comp-row:last-child{border-bottom:none;}
.comp-row.total{background:var(--paper);font-weight:700;}
.comp-key{color:var(--ink3);}
.comp-val{font-family:var(--mono);font-size:12px;color:var(--ink);}
.comp-val.extra{color:var(--red);}
.comp-val.saving{color:var(--green);}

/* ── Scenario 2 ── */
.s2-block{border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-bottom:16px;}
.s2-row{display:flex;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--rule);font-size:13px;}
.s2-row:last-child{border-bottom:none;}
.s2-row.highlight{background:var(--paper);font-weight:700;}

/* ── Verdict ── */
.verdict{border-radius:var(--r);padding:14px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;transition:all .3s;}
.verdict-icon{font-size:18px;flex-shrink:0;}
.verdict.good{background:var(--green-bg);color:var(--green);border:1px solid rgba(46,125,50,.25);}
.verdict.warn{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(230,81,0,.25);}
.verdict.bad{background:var(--red-bg);color:var(--red);border:1px solid rgba(198,40,40,.25);}

/* ── Affiliate ── */
.affiliate{background:var(--ink);border-radius:var(--r2);padding:18px;margin-bottom:16px;color:var(--white);}
.affiliate h4{font-size:13px;font-weight:700;margin-bottom:6px;}
.affiliate p{font-size:12px;color:var(--ink4);margin-bottom:14px;line-height:1.5;}
.btn-aff{display:block;width:100%;text-align:center;background:var(--gold);color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:800;padding:11px 16px;border-radius:var(--r);text-decoration:none;letter-spacing:.02em;transition:background .15s;}
.btn-aff:hover{background:var(--gold2);color:var(--white);}

/* ── Explainer ── */
.explainer{padding:64px 0;}
.section-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.section-title{font-family:var(--serif);font-size:clamp(26px,3.5vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px;}
.section-title em{font-style:italic;color:var(--gold);}
.section-lead{font-size:16px;color:var(--ink2);line-height:1.7;max-width:560px;margin:0 auto 48px;text-align:center;}
/* ── Rates table ── */
.rates-section{padding:0 0 64px;}
.rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px;}
.rates-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow);}
.rates-card-head{padding:14px 20px;background:var(--ink);color:var(--white);}
.rates-card-head h3{font-size:13px;font-weight:700;}
.rates-card-head p{font-size:11px;color:var(--ink4);margin-top:3px;}
.rate-row{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--rule);font-size:13px;}
.rate-row:last-child{border-bottom:none;}
.rate-band{color:var(--ink2);}
.rate-pct{font-family:var(--mono);font-weight:700;font-size:14px;}
.rate-pct.btl{color:var(--red);}
.rate-pct.std{color:var(--teal2);}
.rate-pct.ftb{color:var(--green);}

/* ── FAQ ── */
.faq-section{padding:0 0 80px;}
.faq-item.open .faq-a{max-height:500px;}

/* ── Footer ── */
footer{background:var(--ink);color:var(--gold);padding:40px 0;text-align:center;}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-bottom:24px;}
.footer-logo{font-family:var(--sans);font-weight:800;font-size:20px;color:var(--gold);}
.footer-logo em{color:var(--white);font-style:normal;}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;}
.footer-links a{font-size:12px;color:var(--white);opacity:.8;text-decoration:none;transition:opacity .15s;}
.footer-links a:hover{opacity:1;}
.footer-disclaimer{font-size:11px;line-height:1.7;color:var(--gold);opacity:.5;max-width:860px;margin:0 auto;border-top:1px solid rgba(200,168,75,.15);padding-top:20px;}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.panel{animation:fadeUp .4s ease both;}
.results-panel .panel{animation-delay:.1s;}
.hero h1{animation:fadeUp .5s ease both;}
.hero-lead{animation:fadeUp .2s ease both;}

/* ── Responsive ── */
@media(max-width:560px){
  .metric-grid{grid-template-columns:1fr;}
  .metric.full{grid-column:span 1;}
  .wrap{padding:0 16px;}
  .panel-body{padding:16px;}
  .band-head,.band-row{grid-template-columns:1fr 44px 72px 66px;}
  .hero h1{white-space:normal;}
}
/* ── Cookie banner ── */
.cookie-banner{-webkit-text-size-adjust:100%;text-size-adjust:100%;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#0f1117;padding:16px 24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-size:13px;}
.cookie-banner p{max-width:560px;text-align:center;color:rgba(255,255,255,.7);}
.cookie-banner a{color:#fff;text-decoration:underline;}
.cookie-btn{padding:8px 20px;border-radius:40px;font-size:13px;font-weight:700;cursor:pointer;border:none;}
.cookie-accept{background:#c8a84b;color:#0f1117;}
.cookie-reject{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3)!important;}
.cookie-buttons{display:flex;gap:8px;}
@media(max-width:600px){.cookie-banner{-webkit-text-size-adjust:100%;text-size-adjust:100%;flex-direction:column;text-align:center;}}

/* Scenario-specific additions; the calculator shell matches the UK SDLT page. */
[hidden]{display:none!important}.input-section{border:0;padding:0;min-width:0}.input-section legend{width:100%}.field-context{font-size:11px;line-height:1.6;color:var(--ink3);margin:5px 0 8px}.result-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule)}.rl{font-size:12px;color:var(--ink3);min-width:0}.rv{font:500 12px var(--mono);text-align:right;flex-shrink:0}.result-note,.scenario-status{font-size:12px;line-height:1.7;color:var(--ink3);margin:10px 0 16px}.negative{color:var(--red)!important}.affordability-amount{font-size:clamp(28px,5vw,40px)}.affordability-label{color:var(--ink3)}.result-payment{font-size:14px;font-weight:700;margin-top:10px}.result-state{font-size:12px;font-weight:700;line-height:1.6;margin-top:10px}.affordability-primary.good .result-state{color:var(--green)}.affordability-primary.warn .result-state{color:var(--amber)}.affordability-primary.bad .result-state{color:var(--red)}.results-panel[data-stale] .result-block{opacity:.6}.results-panel[data-stale] .affordability-primary{opacity:1}.methodology-box.open{max-height:none!important}button.methodology-trigger{width:100%;border:0;background:transparent;font:inherit;-webkit-tap-highlight-color:transparent}button.methodology-trigger:is(:hover,.open) .methodology-trigger-label{color:var(--ink3)}button.methodology-trigger:is(:hover,.open) .methodology-chevrons{color:var(--ink4)}button.faq-q{width:100%;border:0;background:transparent;font-family:inherit;line-height:inherit;text-align:left}.hero h1{white-space:normal}.scenario-status:empty{display:none}
