:root{
 --spark:#fbbc05;
 --aqua:#2bd9ff;
 --glass:rgba(255,255,255,.74);
 --glass-strong:rgba(255,255,255,.86);
 --glass-border:rgba(255,255,255,.68);
 --shadow-glass:0 18px 50px -26px rgba(6,16,34,.34),0 1px 0 rgba(255,255,255,.65) inset;
}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{position:relative;background:linear-gradient(180deg,#fff 0%,#f7faff 48%,#fff 100%)}
@supports (overflow-x:clip){
 html,body{overflow-x:clip}
}
h1,h2,h3{letter-spacing:0;font-weight:900}
.nav-pill{
 background:rgba(16,21,31,.66);
 border-color:rgba(255,255,255,.2);
 box-shadow:0 18px 48px -24px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.16) inset;
}
.nav-logo .mark,.footer-brand .fb-logo .mark{
 background:linear-gradient(135deg,var(--brand),#256ad0 58%,var(--aqua));
 box-shadow:0 8px 24px -12px rgba(43,217,255,.85);
}
.btn-primary{
 background:linear-gradient(135deg,#1d5fb8,var(--brand) 55%,#0e346f);
 box-shadow:0 14px 34px -16px rgba(26,79,156,.95),0 1px 0 rgba(255,255,255,.18) inset;
}
.btn>svg{
 width:18px;
 height:18px;
 flex:0 0 18px;
}
.btn-light,.nav-cta{
 background:rgba(255,255,255,.9);
 backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);
 box-shadow:0 14px 34px -24px rgba(0,0,0,.45);
}
.hero{
 align-items:center;
 min-height:88vh;
 padding:128px 0 72px;
}
.hero::before{
 content:"";
 position:absolute;
 inset:0 auto 0 0;
 width:min(780px,72vw);
 z-index:1;
 pointer-events:none;
 background:linear-gradient(90deg,rgba(6,15,34,.64) 0%,rgba(6,15,34,.38) 55%,rgba(6,15,34,0) 100%);
}
.hero-inner{z-index:2;transform:translateY(-4vh)}
.hero-bg::after{
 background:linear-gradient(180deg,rgba(8,14,26,0) 0%,rgba(8,14,26,.04) 48%,rgba(8,14,26,.22) 100%);
}
.hero-bg img{filter:brightness(1.32) contrast(1.08) saturate(1.08)}
.hero-badge{
 background:rgba(255,255,255,.16);
 border-color:rgba(255,255,255,.32);
 backdrop-filter:blur(20px);
 -webkit-backdrop-filter:blur(20px);
 box-shadow:var(--shadow-glass);
}
.hero h1{
 max-width:14ch;
 text-shadow:0 18px 50px rgba(0,0,0,.38);
}
.hero .sub{color:rgba(255,255,255,.9);max-width:50ch}
.section.tinted{
 background:
  linear-gradient(135deg,rgba(43,217,255,.1) 0%,rgba(255,255,255,.92) 44%,rgba(251,188,5,.13) 100%),
  #f6f9ff;
}
.section.dark{
 background:linear-gradient(135deg,#10151f 0%,#101827 54%,#123f82 100%);
}
.section-head h2{font-weight:950;text-wrap:balance}
.section-head h2::after{
 content:"";
 display:block;
 width:78px;
 height:4px;
 margin-top:18px;
 border-radius:999px;
 background:linear-gradient(90deg,var(--spark),var(--aqua),var(--brand));
}
.section-head.center h2::after{margin-left:auto;margin-right:auto}
.svc-card,.vp,.gr-summary,.gr-card,details.faq,.contact-form{
 background:var(--glass);
 border-color:var(--glass-border);
 backdrop-filter:blur(18px) saturate(145%);
 -webkit-backdrop-filter:blur(18px) saturate(145%);
 box-shadow:var(--shadow-glass);
}
.svc-card,.vp{position:relative;overflow:hidden}
.svc-card::before,.vp::before{
 content:"";
 position:absolute;
 left:0;right:0;top:0;
 height:4px;
 background:linear-gradient(90deg,var(--spark),var(--aqua),var(--brand));
}
.svc-card:hover,.vp:hover,.gr-card:hover{
 transform:translateY(-5px);
 border-color:rgba(43,217,255,.45);
 box-shadow:0 24px 58px -28px rgba(18,63,130,.45),0 1px 0 rgba(255,255,255,.72) inset;
}
.svc-ico,.vp .vp-ico,.tick-list .tk{
 background:linear-gradient(135deg,var(--brand),#2467c6 58%,var(--aqua));
 box-shadow:0 12px 30px -18px rgba(26,79,156,.95);
}
.split-media{
 border-color:rgba(255,255,255,.65);
 box-shadow:0 24px 64px -32px rgba(6,16,34,.38);
}
.statband{gap:14px}
.statband .st{
 padding:24px;
 border:1px solid rgba(255,255,255,.16);
 border-radius:18px;
 background:rgba(255,255,255,.08);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
}
.statband .st .num{font-weight:950}
.area-card,.cta-band{
 border:1px solid rgba(255,255,255,.2);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 box-shadow:0 30px 72px -36px rgba(6,16,34,.48);
}
.area-card{
 background:linear-gradient(135deg,rgba(16,21,31,.94),rgba(26,79,156,.88));
}
.area-suburbs span{
 background:rgba(255,255,255,.76);
 border-color:rgba(255,255,255,.74);
 backdrop-filter:blur(14px);
 -webkit-backdrop-filter:blur(14px);
 box-shadow:0 12px 30px -24px rgba(6,16,34,.4);
}
.cta-band{
 background:linear-gradient(135deg,#12366f 0%,var(--brand) 52%,#071c3d 100%);
}
.gr-marquee{max-width:100%;contain:layout paint}
.gr-track{transform:translate3d(0,0,0)}
.footer{
 background:linear-gradient(135deg,#0c111b 0%,#111827 58%,#0c2750 100%);
}
.sticky-cta{
 box-shadow:0 -18px 34px -26px rgba(0,0,0,.6);
 backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);
}
.sticky-cta .s-call{background:linear-gradient(135deg,#1d5fb8,var(--brand))}
.sticky-cta .s-msg{background:#10151f}

@media (min-width:1024px){
 .hero h1{font-size:72px}
 .section-head h2{font-size:46px}
 .split h2{font-size:40px}
 .statband .st .num{font-size:50px}
 .cta-band h2{font-size:38px}
 .footer-cta h2{font-size:50px}
}
@media (max-width:1023px){
 html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  overscroll-behavior-x:none;
 }
 body{touch-action:pan-y}
 .nav-wrap,.mobile-menu,.sticky-cta{
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
 }
 .hero,.section,.footer{
  max-width:100vw;
  overflow-x:hidden;
 }
 @supports (overflow-x:clip){
  .hero,.section,.footer,.nav-wrap,.mobile-menu,.sticky-cta{overflow-x:clip}
 }
 .hero{
  align-items:flex-end;
  min-height:88vh;
  padding:112px 0 64px;
 }
 .hero::before{
  width:100%;
  background:linear-gradient(180deg,rgba(6,13,26,.02) 0%,rgba(6,13,26,.18) 34%,rgba(6,13,26,.5) 100%),
   linear-gradient(90deg,rgba(6,18,42,.36) 0%,rgba(6,18,42,.14) 66%,rgba(6,18,42,.03) 100%);
 }
 .hero-inner{transform:none}
 .hero-bg::after{
  background:linear-gradient(180deg,rgba(7,13,24,0) 0%,rgba(7,13,24,.04) 42%,rgba(7,13,24,.18) 100%);
 }
 .nav-wrap{padding:14px 12px}
 .nav-pill{max-width:calc(100vw - 24px)}
 .section-head h2{font-size:36px}
 .footer-cta h2{font-size:38px}
}
@media (max-width:600px){
 .container{width:100%;max-width:100%;padding-left:20px;padding-right:20px}
 .nav-logo{font-size:15px}
 .nav-pill{gap:14px}
 .hero h1{font-size:42px;max-width:12ch}
 .hero .sub{font-size:16px}
 .hero-actions .btn{width:100%;justify-content:center}
 .section-head h2,.split h2{font-size:31px}
 .gr-summary{margin-bottom:24px;padding:20px}
 .gr-sum-left{gap:14px}
 .gr-marquee{
  margin:0;
  padding:6px 0;
  min-height:0;
  width:100%;
  max-width:100%;
  overflow:hidden !important;
 }
 .gr-marquee-reverse{display:none}
 .gr-marquee::before,.gr-marquee::after{width:24px}
 .gr-track{gap:14px}
 .gr-card{flex-basis:min(82vw,320px);padding:18px}
 .statband .st{padding:18px}
 .statband .st .num{font-size:34px}
 .cta-band{padding:30px 24px;border-radius:20px}
 .footer-cta h2{font-size:34px}
 .sticky-cta a{min-width:0}
}
