:root{
  --forest:#13251f;
  --forest-2:#1b342a;
  --forest-3:#28483a;
  --gold:#f2b84b;
  --sand:#d4dbd5;
  --paper:#f4f1e8;
  --sage:#c8d3c9;
  --stone:#bcc6bf;
  --mist:#e4e8e2;
  --ink:#16211d;
  --muted:#65716b;
  --line:rgba(19,37,31,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#dbe1dc 0%,var(--sand) 38%,#cbd3cd 100%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}
a{color:inherit}
button,input{font:inherit}
.concept-bar{min-height:38px;padding:8px max(22px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:18px;background:var(--gold);color:#2a2110;font-size:12px;letter-spacing:.04em}
nav{height:78px;padding:0 max(22px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(218,224,218,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}
.brand,.footer-brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:.16em;text-decoration:none}
.brand-mark{width:29px;height:29px;border-radius:50%;background:conic-gradient(from 180deg,var(--gold),#ffe5a8 38%,var(--forest) 39% 100%);box-shadow:inset 0 0 0 6px var(--sand)}
.nav-links{display:flex;gap:28px}
.nav-links a{text-decoration:none;color:#435049;font-size:14px;font-weight:650}
.nav-links a:hover{color:var(--ink)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 19px;border:1px solid var(--forest);border-radius:9px;background:var(--forest);color:#fff;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-1px);background:var(--forest-2)}
.button-small{min-height:44px;padding:10px 16px;font-size:14px}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(242,184,75,.65);outline-offset:3px}
.hero{width:min(1320px,calc(100% - 28px));margin:14px auto 0;padding:74px clamp(28px,4vw,54px) 82px;display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;background:radial-gradient(circle at 78% 14%,rgba(242,184,75,.24),transparent 28%),linear-gradient(135deg,#e1e6e1 0%,#c5d0c8 68%,#b9c5bd 100%);border:1px solid rgba(19,37,31,.1);border-radius:0 0 28px 28px;box-shadow:0 20px 48px rgba(19,37,31,.08)}
.eyebrow{margin:0 0 18px;color:#69746f;font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.eyebrow.light{color:#b9c8c0}
h1,h2,h3{margin:0;font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.045em;line-height:1.02}
h1{font-size:clamp(50px,6.1vw,86px);max-width:760px}
h2{font-size:clamp(38px,4.7vw,64px)}
h3{font-size:26px}
.intro{max-width:620px;margin:27px 0 31px;color:#54615b;font-size:19px;line-height:1.65}
.postcode-start{max-width:590px;padding:21px;background:rgba(244,241,232,.78);border:1px solid rgba(19,37,31,.17);border-radius:14px;box-shadow:0 14px 34px rgba(19,37,31,.08)}
.postcode-start label{display:block;margin-bottom:9px;font-size:14px;font-weight:800}
.field-row{display:flex;gap:9px}
.field-row input{min-width:0;flex:1;height:52px;padding:0 15px;border:1px solid rgba(19,37,31,.24);border-radius:8px;background:var(--paper);color:var(--ink)}
.field-row input::placeholder{color:#8b948f}
.field-help{margin:9px 0 0;color:#737e78;font-size:12px}
.hero-points{display:flex;gap:24px;flex-wrap:wrap;margin:21px 0 0;padding:0;list-style:none;color:#455149;font-size:13px;font-weight:700}
.hero-points li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--gold)}
.hero-image{margin:0;position:relative;border-radius:22px;overflow:hidden;box-shadow:0 28px 70px rgba(19,37,31,.18)}
.hero-image img{display:block;width:100%;height:620px;object-fit:cover}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(19,37,31,.66))}
.hero-image figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;gap:20px;color:#fff}
.hero-image figcaption span{font-size:13px}.hero-image figcaption strong{letter-spacing:.07em}
.section{padding:102px max(22px,calc((100vw - 1240px)/2))}
.options{background:linear-gradient(180deg,rgba(188,198,191,.48),rgba(205,214,207,.76))}
.section-heading{display:grid;grid-template-columns:1.35fr .65fr;column-gap:60px;align-items:end;margin-bottom:46px}
.section-heading .eyebrow{grid-column:1/-1}
.section-heading p:last-child{margin:0;color:#5f6b65}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.option-card{min-height:340px;padding:30px;display:flex;flex-direction:column;background:rgba(235,239,234,.88);border:1px solid rgba(19,37,31,.16);border-radius:16px;box-shadow:0 14px 34px rgba(19,37,31,.08)}
.option-card.featured{background:linear-gradient(145deg,var(--forest-2),var(--forest));color:#fff;border-color:var(--forest);box-shadow:0 18px 40px rgba(19,37,31,.18)}
.option-number{color:#78827d;font-size:12px;font-weight:850;letter-spacing:.12em}
.featured .option-number{color:#b5c4bc}.popular{align-self:flex-start;margin:18px 0 10px;padding:5px 9px;border-radius:999px;background:var(--gold);color:#2d240f;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.option-card h3{margin:42px 0 14px}.featured h3{margin-top:0}
.option-card p:not(.popular){color:#5e6963}.featured p:not(.popular){color:#c8d2cc}
.option-card a{margin-top:auto;font-weight:800;text-decoration:none}.featured a{color:var(--gold)}
.how{background:var(--paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start;box-shadow:inset 0 1px rgba(255,255,255,.68),inset 0 -1px rgba(19,37,31,.08)}
.how-copy p:not(.eyebrow){color:#5c6862;max-width:520px}.text-link{display:inline-block;margin-top:18px;font-weight:850;text-underline-offset:5px}
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.steps li>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:850}
.steps strong{font-size:18px}.steps p{margin:4px 0 0;color:#66716b}
.checker{background:var(--forest);color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
.checker h2{color:#fff}.checker-context>p:not(.eyebrow){color:#bdc9c2;font-size:17px}
.privacy-note{margin-top:34px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05)}
.privacy-note p{margin:5px 0 0;color:#b8c5be;font-size:13px}
.wizard{min-height:520px;padding:30px;background:var(--paper);color:var(--ink);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.18)}
.wizard-top{display:flex;justify-content:space-between;align-items:center;color:#6c7771;font-size:13px}
.reset-button,.back-button{padding:4px;border:0;background:transparent;color:#53605a;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.progress{height:4px;margin:18px 0 34px;border-radius:999px;background:#dfe4df;overflow:hidden}
.progress span{display:block;width:14%;height:100%;background:var(--gold);transition:width .25s ease}
.wizard h3{font-size:34px;max-width:610px}.wizard-sub{margin:11px 0 24px;color:#68736d}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.choice{min-height:64px;padding:14px 16px;text-align:left;border:1px solid rgba(19,37,31,.17);border-radius:10px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}
.choice:hover,.choice.selected{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#f4f6f2}
.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px}
.wizard-field{display:grid;gap:8px;margin-top:22px}
.wizard-field label{font-size:14px;font-weight:800}.wizard-field input{width:100%;height:52px;padding:0 14px;border:1px solid rgba(19,37,31,.24);border-radius:9px;background:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-grid .wizard-field:last-child{grid-column:1/-1}
.confirmation{padding-top:8px}.confirm-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--forest);font-size:26px;font-weight:900}
.summary{margin:24px 0;padding:18px;border-radius:12px;background:#edf1eb;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.summary div{display:flex;flex-direction:column}.summary span{font-size:11px;color:#6c7771;text-transform:uppercase;letter-spacing:.08em}.summary strong{font-size:14px}
.demo-message{padding:15px;border-left:3px solid var(--gold);background:#fff8e7;color:#574a2b;font-size:14px}
.questions{background:linear-gradient(135deg,#c2cdc3,#d2d8d1)}.section-heading.compact{grid-template-columns:1fr}.section-heading.compact h2{max-width:820px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}summary{padding:24px 44px 24px 0;position:relative;font-size:18px;font-weight:800;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:5px;top:20px;font-size:26px;font-weight:400}details[open] summary::after{content:"−"}
details p{max-width:850px;margin:0 0 26px;color:#5b6761}
.final-cta{padding:78px max(22px,calc((100vw - 1240px)/2));display:flex;align-items:end;justify-content:space-between;gap:40px;background:radial-gradient(circle at 82% 28%,rgba(242,184,75,.2),transparent 25%),linear-gradient(115deg,var(--forest-2),var(--forest));color:#fff}.final-cta h2{max-width:800px}.final-cta .eyebrow{color:#c1cdc6}.final-cta .button{background:var(--gold);border-color:var(--gold);color:#2a2110}.final-cta .button:hover{background:#ffd170}
footer{padding:34px max(22px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;background:var(--forest);color:#c7d0cb;font-size:12px}
footer p{margin:0;max-width:700px}.footer-brand .brand-mark{box-shadow:inset 0 0 0 6px var(--forest)}footer a{color:var(--gold);font-weight:800}
@media(max-width:980px){
  .nav-links{display:none}.hero{grid-template-columns:1fr;padding-top:56px}.hero-image img{height:480px}
  .section-heading,.how,.checker{grid-template-columns:1fr;gap:38px}.option-grid{grid-template-columns:1fr}.option-card{min-height:260px}
  footer{grid-template-columns:1fr}.checker-context{max-width:680px}
}
@media(max-width:620px){
  .concept-bar{justify-content:center;text-align:center}.concept-bar span:last-child{display:none}
  nav{height:68px}.brand{font-size:14px}.button-small{display:none}
  .hero{width:min(100% - 18px,1240px);padding:44px 18px 64px;gap:34px;border-radius:0 0 20px 20px}h1{font-size:50px}.intro{font-size:17px}
  .field-row{flex-direction:column}.field-row .button{width:100%}.hero-points{gap:10px 18px}.hero-image img{height:390px}
  .hero-image figcaption{flex-direction:column;gap:2px}.section{padding:72px 18px}.section-heading{margin-bottom:30px}
  .option-card{padding:24px}.checker{padding-left:14px;padding-right:14px}.wizard{padding:23px;min-height:540px}
  .choice-grid,.contact-grid,.summary{grid-template-columns:1fr}.contact-grid .wizard-field:last-child{grid-column:auto}
  .wizard h3{font-size:28px}.wizard-actions .button{flex:1}.final-cta{padding:62px 18px;align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.progress span{transition:none}}
