:root{
  --navy:#0e2a47;
  --navy-2:#071b30;
  --blue:#175f8c;
  --gold:#ffb347;
  --cream:#f7f2ea;
  --paper:#fffaf2;
  --ink:#17202a;
  --muted:#607080;
  --line:rgba(14,42,71,.14);
  --green:#22b573;
  --amber:#ffb347;
  --red:#d75f4f;
  --shadow:0 24px 60px rgba(7,27,48,.16);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.5}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,54px);background:rgba(247,242,234,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--navy);color:var(--gold);font-size:23px}.brand-text{font-size:24px}.brand-text span{color:var(--muted);font-weight:700}.nav{display:flex;align-items:center;gap:18px;font-weight:700;color:#32465a}.nav-cta{padding:10px 15px;background:var(--navy);color:white;border-radius:999px}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.72fr);gap:42px;align-items:center;padding:clamp(42px,8vw,96px) clamp(18px,5vw,70px) 34px;background:radial-gradient(circle at 85% 18%,rgba(255,179,71,.36),transparent 28%),linear-gradient(135deg,var(--paper),#f5eadb)}
.eyebrow{margin:0 0 12px;color:var(--blue);text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:900}.hero h1,.section-copy h2,.contractor-section h2,.standards-card h2{margin:0;color:var(--navy-2);line-height:.98;letter-spacing:-.06em}.hero h1{font-size:clamp(44px,7vw,86px);max-width:930px}.hero-lead{font-size:clamp(18px,2vw,23px);max-width:760px;color:#35475a;margin:24px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 22px;font-weight:900;cursor:pointer;min-height:52px;font-size:16px}.button.primary{background:var(--gold);color:#1e2935;box-shadow:0 14px 30px rgba(255,179,71,.3)}.button.secondary{background:white;border:1px solid var(--line);color:var(--navy)}.button.dark{background:var(--navy);color:white;border-color:var(--navy)}.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-strip span,.logos span{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-weight:800;color:#344b62}.dispatch-card{background:var(--navy-2);color:white;border-radius:32px;padding:24px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.dispatch-top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.live-dot{width:12px;height:12px;background:var(--green);border-radius:50%;box-shadow:0 0 0 8px rgba(34,181,115,.15)}.status-list{display:grid;gap:12px}.status-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}.status-card.active{background:rgba(255,179,71,.14);border-color:rgba(255,179,71,.32)}.status-card small{display:block;color:rgba(255,255,255,.7)}.status-light{width:16px;height:16px;border-radius:50%}.status-light.on{background:var(--green)}.status-light.queue{background:var(--amber)}.status-light.off{background:var(--red)}.mini-price{display:grid;gap:8px;margin-top:16px}.mini-price span{padding:10px 12px;background:rgba(255,255,255,.08);border-radius:12px;color:rgba(255,255,255,.82)}.logos{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:22px clamp(18px,5vw,70px);background:white;border-block:1px solid var(--line)}section{padding:clamp(42px,6vw,82px) clamp(18px,5vw,70px)}.booking-section{display:grid;grid-template-columns:.76fr 1.24fr;gap:28px;align-items:start}.section-copy h2,.contractor-section h2,.standards-card h2{font-size:clamp(34px,4.8vw,58px)}.section-copy p{color:var(--muted);font-size:18px}.booking-form,.contractor-form,.result-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 18px 45px rgba(7,27,48,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:8px;font-weight:800;color:#25384c}input,textarea{width:100%;border:1px solid rgba(14,42,71,.18);border-radius:14px;padding:14px 15px;font:inherit;background:#fffdf9;color:var(--ink)}textarea{resize:vertical}fieldset{border:0;margin:22px 0 0;padding:0}legend{font-weight:900;color:var(--navy);margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.urgency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:block;padding:14px;border-radius:16px;background:#fffdf9;border:1px solid var(--line);min-height:58px}.choice-grid input:checked+span{background:#fff2d6;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}.choice-grid small{display:block;color:var(--muted);font-weight:700}.full{margin-top:22px}.checkbox-label{grid-template-columns:auto 1fr;align-items:start;font-weight:700;color:#46586b}.checkbox-label input{width:auto;margin-top:4px}.form-button{margin-top:18px;width:100%}.form-note,.small-result{font-size:14px;color:var(--muted);margin-bottom:0}.result-card{grid-column:2}.result-card h3{font-size:26px;margin:0 0 8px;color:var(--navy)}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.result-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.result-meta span{background:#f8f3eb;border:1px solid var(--line);border-radius:14px;padding:10px}.centred{text-align:center;max-width:850px;margin:auto}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.steps article,.price-cards article{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.steps span{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:var(--gold);font-weight:900;border-radius:14px}.steps h3,.price-cards h3{color:var(--navy);font-size:22px;margin:16px 0 8px}.steps p,.price-cards p{color:var(--muted)}.pricing-section{background:#fffaf2}.price-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.price-cards .featured{border-color:var(--gold);box-shadow:0 18px 45px rgba(255,179,71,.16)}.price{font-size:36px!important;line-height:1;margin:12px 0!important;color:var(--navy)!important;font-weight:950}.contractor-section{display:grid;grid-template-columns:1fr .8fr;gap:34px;background:var(--navy-2);color:white}.contractor-section h2{color:white}.contractor-section p{color:rgba(255,255,255,.76);font-size:18px}.tick-list{padding:0;margin:24px 0 0;list-style:none;display:grid;gap:10px}.tick-list li:before{content:"✓";color:var(--gold);font-weight:900;margin-right:8px}.contractor-form label{color:#26394d}.standards-section{background:linear-gradient(135deg,#f2eadf,#fffaf2)}.standards-card{background:white;border:1px solid var(--line);border-radius:32px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}.standards-card p{font-size:19px;color:var(--muted);max-width:800px}.standards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.standards-grid span{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffdf9;font-weight:850}.footer{display:flex;justify-content:space-between;gap:24px;padding:30px clamp(18px,5vw,70px);background:var(--navy-2);color:white}.footer p{color:rgba(255,255,255,.7)}.footer div:last-child{display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:rgba(255,255,255,.82)}
@media (max-width:980px){.nav{display:none}.hero,.booking-section,.contractor-section{grid-template-columns:1fr}.result-card{grid-column:auto}.steps,.price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.site-header{padding:14px 16px}.brand-text{font-size:20px}.hero{padding-top:34px}.hero-actions .button{width:100%}.form-grid,.choice-grid,.urgency-grid,.steps,.price-cards,.standards-grid,.result-meta{grid-template-columns:1fr}.booking-form,.contractor-form,.result-card{padding:18px;border-radius:20px}.footer{display:grid}.hero h1{font-size:42px}}
