:root{
  --brand:#1d5686;
  --brand-deep:#123a5c;
  --ink:#14202b;
  --body:#41505e;
  --mist:#eef2f6;
  --line:#d5dee6;
  --signal:#f1be42;
  --signal-ink:#4a3708;
  --paper:#fff;
  --wrap:72rem;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:Barlow,system-ui,-apple-system,sans-serif;
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--body);
  background:var(--paper);
  padding-bottom:6rem;
}
@media(min-width:900px){body{padding-bottom:0}}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}
@media(min-width:600px){.wrap{padding:0 2.5rem}}
@media(min-width:1000px){.wrap{padding:0 3rem}}

h1,h2,h3,h4{color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2rem,5.2vw,3.1rem);letter-spacing:-.02em}
h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-top:2.8rem;letter-spacing:-.01em}
h3{font-size:1.15rem;margin-bottom:.3em}
p{margin:0 0 1.15rem;max-width:64ch}
a{color:var(--brand)}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/* header */
.site-head{border-bottom:1px solid var(--line);background:var(--paper)}
.head-inner{display:flex;align-items:center;gap:1.5rem;min-height:4.25rem;flex-wrap:wrap}
.logo{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem;letter-spacing:-.01em}
.site-head nav{margin-left:auto}
.site-head ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.site-head a{text-decoration:none;color:var(--body);font-weight:500}
.site-head a:hover,.site-head a[aria-current]{color:var(--brand)}
.head-call{display:none;font-weight:700;color:var(--brand)!important}
@media(min-width:900px){.head-call{display:inline}}
@media(max-width:560px){
  .head-inner{gap:.5rem;min-height:0;padding-top:.6rem;padding-bottom:.1rem}
  .site-head nav{margin-left:0;width:100%;border-top:1px solid var(--line);
    margin-top:.55rem;padding:.45rem 0}
  .site-head ul{gap:1.25rem;font-size:.95rem}
  .logo img{height:32px}
  .logo span{font-size:.95rem}
}

/* hero */
.hero{background:var(--mist);padding:2.75rem 0 2.5rem;border-bottom:1px solid var(--line)}
.hero h1{max-width:20ch}
.lede{font-size:1.2rem;color:var(--body);max-width:56ch;margin-bottom:1.6rem}
.hero-urgent{background:var(--ink);border-bottom:4px solid var(--signal)}
.hero-urgent h1,.hero-urgent .lede{color:#fff}
.hero-urgent .lede{color:#c4d2de}

.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.btn{
  display:inline-block;background:var(--brand);color:#fff;text-decoration:none;
  font-weight:600;padding:.85rem 1.5rem;border-radius:3px;
}
.btn:hover{background:var(--brand-deep)}
.hero-urgent .btn{background:var(--signal);color:var(--signal-ink)}
.btn.ghost{background:transparent;color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}
.hero-urgent .btn.ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}

/* prose */
.prose{padding-top:2.25rem;padding-bottom:3rem}

.checks{list-style:none;padding:0;margin:0 0 1.5rem;max-width:64ch}
.checks li{padding:.5rem 0 .5rem 1.6rem;border-bottom:1px solid var(--line);position:relative}
.checks li::before{
  content:"";position:absolute;left:0;top:1.05rem;
  width:.5rem;height:.5rem;background:var(--brand);
}

.callout{
  border-left:4px solid var(--signal);background:#fdf6e4;
  padding:1.1rem 1.35rem;margin:1.75rem 0;max-width:64ch;
}
.callout p{margin:0;color:var(--ink);font-weight:500}

.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:1.5rem 0}
.card{
  display:block;text-decoration:none;padding:1.25rem;
  border:1px solid var(--line);border-top:3px solid var(--brand);
}
.card:hover{background:var(--mist)}
.card p{margin:0;font-size:.97rem;color:var(--body)}

/* form */
.enquiry{max-width:34rem;margin-top:1.5rem}
.enquiry label{display:block;margin-bottom:1rem;font-weight:600;color:var(--ink)}
.enquiry input,.enquiry textarea{
  display:block;width:100%;margin-top:.35rem;padding:.7rem;
  border:1px solid var(--line);border-radius:3px;font:inherit;font-weight:400;
}
.enquiry button{
  background:var(--brand);color:#fff;border:0;padding:.85rem 1.6rem;
  font:inherit;font-weight:600;border-radius:3px;cursor:pointer;
}
.enquiry button:hover{background:var(--brand-deep)}

/* footer */
footer{background:var(--ink);color:#a9bccd;margin-top:2rem;padding:3rem 0 1.5rem;font-size:.95rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
footer h4{color:#fff;font-size:.95rem;margin-bottom:.6rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:.4rem}
footer a{color:#a9bccd;text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
.footer-brand{color:#fff;font-weight:700;margin-bottom:.5rem}
.lic{font-size:.85rem;color:#7d94a8}
.copyright{border-top:1px solid #2a3a49;margin-top:2rem;padding-top:1.25rem;font-size:.85rem}
.copyright p{margin:0}

/* the one bold element: persistent tap-to-call on mobile */
.callbar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--signal);color:var(--signal-ink);text-decoration:none;
  padding:.65rem;line-height:1.2;
  box-shadow:0 -2px 12px rgba(0,0,0,.18);
}
.callbar span{font-weight:700;font-size:1.15rem}
.callbar small{opacity:.85;font-size:.8rem}
@media(min-width:900px){.callbar{display:none}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* header logo + hero image + honeypot */
.logo{display:flex;align-items:center;gap:.6rem}
.logo img{display:block;height:38px;width:auto}
.hero-inner{display:block}
.hero-copy{min-width:0}
.trust{
  list-style:none;padding:0;margin:2rem 0 0;
  display:flex;flex-wrap:wrap;gap:.65rem 2rem;
}
.trust li{
  display:flex;align-items:center;gap:.5rem;
  font-weight:600;color:var(--ink);font-size:.98rem;
}
.trust img{display:block;flex:none}
.hero-urgent .trust li{color:#fff}
.card img{display:block;margin-bottom:.6rem}
figure{margin:1.75rem 0;max-width:48rem}
figure img{width:100%;height:auto;border-radius:4px}
.footer-logo{display:block;width:200px;max-width:100%;height:auto;margin-bottom:1rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.faq{max-width:64ch;margin:1.5rem 0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:.9rem 0;font-weight:600;color:var(--ink);
  list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-weight:700;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 1rem;color:var(--body)}
#enquiry{scroll-margin-top:1.5rem}

.cf-turnstile{margin:0 0 1.25rem}
