
:root{
  --navy:#1A3A52; --teal:#3AA6C9; --paper:#FFFFFF; --ink:#0E1F2C;
  --ink-soft:#3d4f5d; --line:#dbe6ec; --bg-soft:#f2f7fa; --teal-soft:#e3f2f8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);
  background:var(--paper);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Manrope','Inter',system-ui,sans-serif;color:var(--navy);line-height:1.2;font-weight:600}
h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:600;letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.6em}
h3{font-size:1.2rem;margin:1.4em 0 .5em}
p{margin-bottom:1em;color:var(--ink-soft)}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
section{padding:56px 0}
.soft{background:var(--bg-soft)}
.dark{background:var(--navy);color:#eaf3f8}
.dark h2,.dark h3{color:#fff}
.dark p{color:#c4d6e2}
.center{text-align:center}
.small{font-size:.85rem}
.eyebrow{font-family:'Manrope';font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  font-size:.75rem;color:var(--teal);margin-bottom:.7rem}
.lead{font-size:1.15rem;color:var(--ink-soft)}
/* header */
.topbar{background:var(--ink);color:#cfe0ea;font-size:.82rem;padding:7px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.topbar a{color:#9fd4e8}
header.site{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:50;backdrop-filter:blur(6px)}
.navrow{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand .wm{white-space:nowrap;font-family:'Manrope';font-weight:600;font-size:1.28rem;color:var(--navy);line-height:1.05}
.brand .wm small{display:block;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.brand .tag{display:block;font-size:.62rem;color:var(--ink-soft);letter-spacing:.02em}
nav.main{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
nav.main a{color:var(--navy);font-size:.86rem;font-weight:500;padding:8px 10px;border-radius:8px;white-space:nowrap}
nav.main a:hover{background:var(--teal-soft);text-decoration:none}
.head-ctas{display:flex;gap:8px;align-items:center}
.btn{display:inline-block;font-family:'Manrope';font-weight:600;font-size:.92rem;padding:11px 20px;
  border-radius:10px;border:2px solid transparent;cursor:pointer;text-align:center;transition:.15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:#2f92b3}
.btn-outline{border-color:var(--teal);color:var(--navy);background:#fff}
.btn-outline:hover{background:var(--teal-soft)}
.btn-light{background:#fff;color:var(--navy)}
.btn-sm{padding:8px 14px;font-size:.84rem}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--navy);font-size:1.1rem}
@media(max-width:1080px){
  nav.main{display:none;width:100%;flex-direction:column;padding:10px 0}
  nav.main.open{display:flex}
  .burger{display:block;margin-left:auto}
  .head-ctas{margin-left:auto}
  .navrow{flex-wrap:wrap}
}
@media(max-width:720px){
  .head-ctas{width:100%;flex-wrap:wrap;justify-content:stretch;order:3}
  .head-ctas .pcc-wrap{flex:1 1 100%;margin-bottom:2px}
  .head-ctas .pcc-header input{flex:1;width:auto;min-width:0}
  .head-ctas .btn{flex:1 1 auto;white-space:normal}
}
/* hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,#12324a 55%,#0E1F2C 100%);color:#fff;padding:72px 0 64px}
.hero h1{color:#fff}
.hero p{color:#c9dcea}
.hero .offer{background:rgba(58,166,201,.16);border:1px solid rgba(58,166,201,.5);border-radius:12px;
  padding:14px 18px;display:inline-block;margin:18px 0 22px;font-size:.98rem;color:#dff2fa}
.hero .offer strong{color:#fff}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
/* price strip */
.pricestrip{background:var(--teal);color:#fff;padding:16px 0}
.pricestrip .wrap{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:.95rem}
.pricestrip strong{font-family:'Manrope';font-size:1.1rem}
/* trust strip */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:820px){.trust{grid-template-columns:repeat(2,1fr)}}
.trust .t{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.trust .t .ic{font-size:1.5rem;margin-bottom:6px}
.trust .t strong{display:block;font-family:'Manrope';color:var(--navy);font-size:.95rem;margin-bottom:3px}
.trust .t span{font-size:.83rem;color:var(--ink-soft)}
/* cards & grids */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:820px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.card h3{margin-top:0}
.card .num{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;
  font-family:'Manrope';font-weight:600;align-items:center;justify-content:center;margin-bottom:10px}
ul.tick{list-style:none;margin:0 0 1em}
ul.tick li{padding:5px 0 5px 30px;position:relative;color:var(--ink-soft)}
ul.tick li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
ul.plain{list-style:none}
ul.plain li{padding:4px 0}
.hero ul.tick li{color:#c9dcea}
.btn{white-space:nowrap}
/* postcode checker */
.pcc{background:var(--teal-soft);border:1px solid #bfe2ee;border-radius:12px;padding:16px}
.pcc p{color:var(--ink-soft)}
.pcc form{display:flex;gap:8px;flex-wrap:wrap}
.pcc input{flex:1;min-width:140px;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;font-size:.95rem;font-family:'Inter'}
.pcc input:focus{outline:none;border-color:var(--teal)}
.pcc .msg{margin-top:10px;font-size:.92rem;padding:11px 14px;border-radius:9px;display:none}
.pcc .msg.show{display:block}
.pcc .msg.t1{background:#e2f5e9;border:1px solid #9ed8b4;color:#1c6b3a}
.pcc .msg.t2{background:#e7f3fb;border:1px solid #a8d4ea;color:#1b5c80}
.pcc .msg.t3{background:#fdf3e2;border:1px solid #f0cf94;color:#8a5b12}
.pcc .msg.out{background:#fae6e6;border:1px solid #eda9a9;color:#8f2b2b}
.pcc-header{display:flex;gap:6px;align-items:center}
.pcc-header input{width:104px;padding:7px 10px;border:1.5px solid var(--line);border-radius:8px;font-size:.85rem}
.pcc-header button{padding:7px 12px;font-size:.8rem}
.pcc-header .msg{position:absolute;top:100%;right:0;margin-top:6px;width:290px;font-size:.82rem;padding:10px 12px;
  border-radius:9px;display:none;box-shadow:0 8px 24px rgba(14,31,44,.14);z-index:60;background:#fff;border:1px solid var(--line)}
.pcc-header .msg.show{display:block}
.pcc-wrap{position:relative}
/* forms */
.formbox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;max-width:640px;margin:0 auto}
.formbox h2{margin-top:0}
.field{margin-bottom:16px}
.field label{display:block;font-family:'Manrope';font-weight:600;font-size:.86rem;color:var(--navy);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);
  border-radius:9px;font-size:.95rem;font-family:'Inter';background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
@media(max-width:560px){.checks{grid-template-columns:1fr}}
.checks label{display:flex;gap:8px;align-items:center;font-weight:400;font-family:'Inter';font-size:.9rem;color:var(--ink-soft)}
.checks input{width:auto}
.progressbar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:24px}
.progressbar span{display:block;height:100%;background:var(--teal);width:50%;transition:.3s}
.stepnote{font-size:.82rem;color:var(--ink-soft);margin-bottom:14px;text-align:right}
.note-inline{background:#fdf3e2;border:1px solid #f0cf94;border-radius:9px;padding:12px 14px;font-size:.88rem;color:#7a5210;margin:6px 0 14px;display:none}
.note-inline.show{display:block}
.field .err{display:none;color:#c0392b;font-size:.78rem;margin-top:4px}
.field input.bad,.field select.bad,.field textarea.bad{border-color:#d9534f}
.turnstile{border:1px dashed var(--line);border-radius:9px;padding:10px 14px;font-size:.78rem;color:#8aa0ad;margin:14px 0;background:var(--bg-soft)}
.form-success{display:none;text-align:center;padding:24px 10px}
.form-success.show{display:block}
/* tables */
table.spec{width:100%;border-collapse:collapse;font-size:.93rem}
table.spec th,table.spec td{padding:11px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}
table.spec th{background:var(--bg-soft);font-family:'Manrope';color:var(--navy);width:38%}
/* faq */
details{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}
details summary{padding:15px 18px;cursor:pointer;font-family:'Manrope';font-weight:600;color:var(--navy);font-size:.97rem;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary:before{content:"+";color:var(--teal);font-weight:700;margin-right:10px}
details[open] summary:before{content:"–"}
details .ans{padding:0 18px 16px 44px}
/* placeholder tag */
.ph{background:#fff4d6;border:1px dashed #d9a92e;color:#8a6410;padding:1px 7px;border-radius:6px;
  font-size:.82em;font-family:'Inter';font-weight:500;white-space:nowrap}
/* suburb grid */
.suburbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.suburbgrid a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 16px;
  color:var(--navy);font-weight:500;font-size:.92rem}
.suburbgrid a:hover{border-color:var(--teal);background:var(--teal-soft);text-decoration:none}
/* CTA band */
.ctaband{background:linear-gradient(135deg,var(--teal),#2b89a8);color:#fff;text-align:center;padding:52px 0}
.ctaband h2{color:#fff}
.ctaband p{color:#e8f6fb}
.ctaband .offerline{font-size:.95rem;background:rgba(255,255,255,.15);border-radius:10px;display:inline-block;padding:10px 18px;margin:12px 0 20px}
/* footer */
footer.site{background:var(--ink);color:#b8ccd9;padding:52px 0 28px;font-size:.88rem}
footer.site h4{color:#fff;font-size:.92rem;margin-bottom:12px}
footer.site a{color:#9fd4e8}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:32px;margin-bottom:32px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
.fbottom{border-top:1px solid #24384a;padding-top:20px;font-size:.78rem;color:#7e97a8}
/* reviews empty state */
.honest{background:var(--bg-soft);border:1.5px dashed var(--teal);border-radius:14px;padding:34px;text-align:center;max-width:680px;margin:0 auto}
/* blog cards */
.blogcard{display:flex;flex-direction:column}
.blogcard .meta{font-size:.78rem;color:var(--teal);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.blogcard h3{margin:0 0 8px}
.blogcard h3 a{color:var(--navy)}
/* LP (stripped) */
.lp-head{padding:14px 0;border-bottom:1px solid var(--line);background:#fff}
.lp-foot{background:var(--ink);color:#7e97a8;font-size:.75rem;padding:20px 0;text-align:center}
/* placeholder imagery (to be replaced with real photos) */
.phimg{display:block;width:100%;height:auto;border-radius:14px}
.phimg-cap{font-size:.75rem;color:#8a6410;margin-top:6px}
/* misc */
.breadcrumb{font-size:.8rem;color:var(--ink-soft);margin-bottom:18px}
.breadcrumb a{color:var(--teal)}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.hubgrid a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 18px;color:var(--navy);font-weight:500}
.hubgrid a:hover{border-color:var(--teal);background:var(--teal-soft);text-decoration:none}
.tagrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#eaf6fb;font-size:.8rem;border-radius:99px;padding:5px 14px}
.steps{counter-reset:st}
.steps .step{display:flex;gap:18px;margin-bottom:26px}
.steps .step .n{counter-increment:st;flex:0 0 44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;
  font-family:'Manrope';font-weight:600;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.steps .step .n:before{content:counter(st)}
.steps .step h3{margin-top:6px}
@media(max-width:640px){
  section{padding:40px 0}
  .formbox{padding:22px}
  .hero{padding:48px 0}
}
