:root{
  --blue:#00A6E7;
  --blue-dark:#007FAF;
  --red:#ff3048;
  --green:#009b42;
  --ink:#171a1d;
  --muted:#68737a;
  --line:#dce2e5;
  --soft:#f6f7f8;
  --soft-blue:rgba(0,166,231,.055);
  --max:1260px;
  --logo:310px;
  --wm-opacity:.021;
  --wm-size:900px;
  --wm-x:-145px;
  --wm-y:60px;
}*{box-sizing:border-box}html{scroll-behavior:smooth}body{
  margin:0;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
  letter-spacing:-.004em;
  -webkit-font-smoothing:antialiased;
}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 30px}.eyebrow{
  margin:0 0 11px;
  color:var(--blue-dark);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}h1,h2,h3,p{overflow-wrap:anywhere}h1{
  margin:0;
  font-size:clamp(3.7rem,6.1vw,6.5rem);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:780;
}h2{
  margin:0;
  font-size:clamp(2.35rem,3.45vw,3.75rem);
  line-height:1.05;
  letter-spacing:-.042em;
  font-weight:760;
}.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 19px;
  border:1px solid var(--ink);
  background:#fff;
  font-size:.87rem;
  font-weight:800;
  cursor:pointer;
}.btn-primary{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--line);
}.nav{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}.brand{display:flex;align-items:center;min-width:300px}.brand img{display:block;width:var(--logo);height:auto}.navlinks{display:flex;gap:28px;align-items:center;font-size:.87rem;font-weight:700}.navlinks a{position:relative;padding:31px 0 29px}.navlinks a:after{
  content:"";
  position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--blue);transition:right .16s;
}.navlinks a:hover,.navlinks a.active{color:var(--blue-dark)}.navlinks a:hover:after,.navlinks a.active:after{right:0}.header-right{display:flex;align-items:center;gap:20px}.phone{font-size:.84rem;font-weight:700;white-space:nowrap}.menu-btn{display:none;border:0;background:none;font-size:1.45rem}.design-piece{position:absolute;z-index:8;display:block}.hero-red{left:0;top:0;width:19%;height:5px;background:var(--red)}.hero-blue{left:20%;right:0;top:0;height:5px;background:var(--blue)}.regions-red{right:0;bottom:0;width:90px;height:5px;background:var(--red)}.portfolio-blue{left:0;top:0;width:34%;height:5px;background:var(--blue)}.postcode-red{right:0;top:0;width:28%;height:5px;background:var(--red)}.form-red{right:-1px;bottom:-1px;width:70px;height:4px;background:var(--red)}.footer-red{left:0;bottom:0;width:31%;height:5px;background:var(--red)}.footer-blue{left:32%;right:0;bottom:0;height:5px;background:var(--blue)}.hero{
  position:relative;
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid var(--line);
}.hero-watermark{
  position:absolute;
  right:var(--wm-x);
  top:var(--wm-y);
  width:var(--wm-size);
  opacity:var(--wm-opacity);
  pointer-events:none;
  user-select:none;
}.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:92px;
  align-items:center;
  min-height:575px;
  padding:96px 0 82px;
}.hero-copy p{
  max-width:690px;
  margin:26px 0 30px;
  color:#465057;
  font-size:1.07rem;
  line-height:1.72;
}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.coverage-note{
  align-self:end;
  margin-bottom:16px;
  border-top:1px solid var(--line);
}.coverage-note-row{
  display:grid;
  grid-template-columns:155px 1fr;
  gap:28px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}.coverage-note-row strong{font-size:.87rem}.coverage-note-row span{color:var(--muted);font-size:.88rem;line-height:1.65}.regions{
  position:relative;
  padding:112px 0 118px;
  background:var(--soft-blue);
  border-bottom:1px solid #d6e7ee;
}.regions-head{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:96px;
  margin-bottom:56px;
}.regions-head h2{
  max-width:520px;
  font-size:clamp(3rem,4.25vw,4.45rem);
}.regions-head p{
  max-width:640px;
  margin:7px 0 0;
  color:#4f5d64;
  line-height:1.78;
}.region-board{
  background:#fff;
  border:1px solid #d3e3e9;
}.region-row{
  display:grid;
  grid-template-columns:260px 1fr;
  border-bottom:1px solid var(--line);
}.region-row:last-child{border-bottom:0}.region-title{
  padding:28px 30px;
  background:#fbfcfc;
  border-right:1px solid var(--line);
}.region-title h3{margin:0 0 6px;font-size:1.03rem}.region-title span{color:var(--muted);font-size:.8rem}.town-list{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:0;
  padding:18px 20px;
}.town{
  min-width:175px;
  padding:10px 12px;
  border-bottom:1px solid #edf0f2;
  color:#3f484e;
  font-size:.89rem;
  font-weight:650;
}.nearby{
  padding:108px 0 114px;
  background:#fff;
}.nearby-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:100px;
  align-items:start;
}.nearby-copy h2{
  max-width:520px;
  font-size:clamp(2.9rem,4vw,4.15rem);
}.nearby-copy p{
  max-width:500px;
  margin:24px 0 0;
  color:#4f595f;
  line-height:1.76;
}.nearby-panel{
  border-top:1px solid var(--line);
}.nearby-row{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:32px;
  padding:23px 0;
  border-bottom:1px solid var(--line);
}.nearby-row strong{font-size:.9rem}.nearby-row span{color:var(--muted);font-size:.9rem;line-height:1.68}.portfolio{
  position:relative;
  background:var(--soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}.portfolio-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:440px;
}.portfolio-main{padding:88px 84px 88px 0}.portfolio-main h2{
  max-width:680px;
  font-size:clamp(2.95rem,4.1vw,4.25rem);
}.portfolio-main p{
  max-width:650px;
  margin:24px 0 0;
  color:#4f595f;
  line-height:1.78;
}.portfolio-side{
  background:var(--soft-blue);
  border-left:1px solid #d7e8ee;
  padding:88px 0 88px 60px;
}.portfolio-side h3{
  max-width:390px;
  margin:0 0 15px;
  font-size:1.65rem;
  line-height:1.2;
  letter-spacing:-.025em;
}.portfolio-side p{
  max-width:380px;
  margin:0 0 25px;
  color:#59666d;
  line-height:1.72;
}.postcode{
  position:relative;
  padding:106px 0 112px;
  background:#fff;
}.postcode-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:95px;
  align-items:start;
}.postcode-copy h2{
  max-width:530px;
  font-size:clamp(2.9rem,4vw,4.1rem);
}.postcode-copy p{
  max-width:520px;
  margin:24px 0 0;
  color:#4f595f;
  line-height:1.76;
}.postcode-box{
  border:1px solid var(--line);
  border-top:6px solid var(--blue);
  padding:34px 36px 36px;
  box-shadow:0 20px 48px rgba(27,55,69,.07);
}.postcode-box h3{margin:0 0 10px;font-size:1.18rem}.postcode-box p{margin:0 0 24px;color:var(--muted);line-height:1.7}.field{display:flex;flex-direction:column;gap:7px}label{font-size:.76rem;font-weight:800}input,textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #bec7cc;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  outline:none;
}textarea{min-height:105px;resize:vertical}.contact{
  position:relative;
  overflow:hidden;
  padding:108px 0 114px;
  background:rgba(0,166,231,.050);
  border-top:1px solid var(--line);
}.contact-watermark{
  position:absolute;
  left:-300px;
  bottom:-140px;
  width:870px;
  opacity:.014;
  pointer-events:none;
}.contact-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:96px;
}.contact-copy{padding-top:20px}.contact-copy h2{max-width:470px;font-size:clamp(3rem,4.1vw,4.25rem)}.contact-copy p{max-width:470px;color:var(--muted);line-height:1.72}.contact-details{margin-top:28px;border-top:1px solid var(--line)}.contact-details a,.contact-details span{
  display:block;padding:12px 0;border-bottom:1px solid var(--line);
  font-weight:700;font-size:.89rem;
}.contact-panel{
  background:#fff;
  border:1px solid var(--line);
  border-top:6px solid var(--blue);
  padding:36px 38px 38px;
  box-shadow:0 20px 48px rgba(27,55,69,.07);
}.contact-panel h3{margin:0 0 12px;font-size:1.18rem}.contact-panel p{margin:0 0 24px;color:var(--muted);line-height:1.7}footer{
  position:relative;
  background:#fff;
  border-top:1px solid var(--line);
  padding:48px 0 34px;
  color:#434c51;
  font-size:.81rem;
}.footer-top{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  gap:70px;
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}.footer-logo{width:300px;margin-bottom:16px}footer p{margin:0;max-width:430px;color:#687178}footer h4{margin:0 0 12px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}footer a{display:block;padding:4px 0}.footer-bottom{
  display:flex;justify-content:space-between;gap:24px;
  padding-top:22px;color:#6e787e;font-size:.73rem;
}@media(max-width:1050px){.navlinks,.phone{display:none}.menu-btn{display:block}.brand img{width:280px}.hero-grid,.regions-head,.nearby-grid,.portfolio-grid,.postcode-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{min-height:0;gap:44px}.portfolio-side{border-left:0;border-top:1px solid #d7e8ee;padding-left:0}}@media(max-width:700px){.wrap{padding:0 20px}.nav{min-height:74px}.brand{min-width:0}.brand img{width:225px}.header-right{display:none}h1{font-size:3.1rem}.hero-grid{padding-top:70px;padding-bottom:68px}.hero-watermark{width:620px;right:-260px;top:210px}.coverage-note-row,.region-row,.nearby-row{grid-template-columns:1fr;gap:8px}.region-title{border-right:0;border-bottom:1px solid var(--line)}.town{min-width:50%}.regions,.nearby,.postcode,.contact{padding-top:76px;padding-bottom:78px}.portfolio-main,.portfolio-side{padding-top:74px;padding-bottom:74px}.footer-top{grid-template-columns:1fr}.footer-bottom{display:block}}.mobile-nav{
  display:none;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:8px 20px 14px;
}.mobile-nav.open{display:block}.mobile-nav a{
  display:block;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-size:.9rem;
  font-weight:700;
}.mobile-nav a:last-child{border-bottom:0}.mobile-nav a.active{color:var(--blue-dark)}@media(min-width:1051px){.mobile-nav{display:none!important}}@media(max-width:700px){.postcode-box > div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
  }}.form-privacy-note{
  margin:14px 0 0;
  color:#68737a;
  font-size:.76rem;
  line-height:1.55;
}.form-privacy-note a{
  color:#007FAF;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}.hero h1{
  font-size:clamp(3.05rem,5.15vw,5.2rem)!important;
  line-height:.94!important;
}@media(max-width:700px){.hero h1{font-size:2.85rem!important;line-height:.98!important}}.hero-grid{
  min-height:510px!important;
  padding-top:82px!important;
  padding-bottom:72px!important;
}section:not(.hero):not(.end-note){
  --psmg-section-tight:82px;
}.nearby{padding-top:84px!important;padding-bottom:88px!important}.postcode{padding-top:84px!important;padding-bottom:88px!important}.contact{padding-top:84px!important;padding-bottom:88px!important}.hero-watermark{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(0,166,231,.38)!important;
  outline-offset:3px!important;
}
.regions-head > div > .eyebrow,
.portfolio-main > .eyebrow,
.contact-copy > .eyebrow{color:#0079A7}

.portfolio-side > .eyebrow{color:#0076A3}
