
:root{--navy:#020b1a;--navy2:#06152e;--blue:#0047b8;--blue2:#0969ff;--orange:#ff6b00;--orange2:#ff8a00;--white:#fff;--off:#f4f7fb;--text:#172033;--muted:#5f6b7a;--line:#dbe4f0;--display:'Barlow Condensed',Impact,sans-serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--text);background:white;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{background:var(--navy);color:#d7e4f8;padding:.45rem 1rem;font-size:.78rem}.topbar-inner{max-width:1220px;margin:auto;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.topbar a{color:#fff;font-weight:900}.header{position:sticky;top:0;z-index:100;background:white;border-bottom:6px solid var(--orange);box-shadow:0 5px 22px rgba(0,0,0,.1)}.nav{max-width:1220px;margin:auto;min-height:82px;padding:.55rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo img{height:62px;width:auto}.nav-menu{display:flex;align-items:center;gap:1rem;list-style:none}.nav-menu a{font-family:var(--display);font-size:1.05rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#1c2537}.nav-menu a:hover,.nav-menu a.active{color:var(--blue)}.nav-cta{background:var(--orange);color:white!important;padding:.75rem 1.2rem;border-radius:6px;box-shadow:0 8px 20px rgba(255,107,0,.28)}.menu-toggle{display:none;width:44px;height:44px;border:0;background:var(--blue);border-radius:8px;align-items:center;justify-content:center}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{content:"";display:block;width:23px;height:3px;background:white;position:relative;transition:.25s}.menu-toggle span:before{position:absolute;top:-8px}.menu-toggle span:after{position:absolute;top:8px}.menu-toggle.open span{background:transparent}.menu-toggle.open span:before{top:0;transform:rotate(45deg)}.menu-toggle.open span:after{top:0;transform:rotate(-45deg)}
.hero{position:relative;background:linear-gradient(105deg,#fff 0%,#fff 49%,#06152e 49%,#020b1a 100%);overflow:hidden}.hero-inner{position:relative;z-index:1;max-width:1220px;margin:auto;min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:4rem 1rem}.badge{display:inline-block;background:var(--navy);color:white;font-family:var(--display);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .9rem;margin-bottom:1rem;border-left:8px solid var(--orange)}h1{font-family:var(--display);font-size:clamp(3.2rem,8vw,6.7rem);font-weight:900;line-height:.9;text-transform:uppercase;color:#050b16;margin-bottom:1rem}h1 span,h2 span{color:var(--blue)}.strip{display:inline-block;background:#050b16;color:white;font-family:var(--display);font-size:clamp(1.35rem,3vw,2.25rem);font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .8rem;margin-bottom:1.4rem;box-shadow:inset 0 -6px 0 var(--orange)}.strip b{color:var(--blue2)}.hero p{font-size:1.08rem;max-width:625px;color:#172033;margin-bottom:1.5rem;font-weight:600}.actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.25rem;min-height:50px;border-radius:6px;font-family:var(--display);font-size:1.05rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;border:0;cursor:pointer}.btn-blue{background:var(--blue);color:white;box-shadow:0 8px 22px rgba(0,71,184,.32)}.btn-orange{background:var(--orange);color:white;box-shadow:0 8px 22px rgba(255,107,0,.32)}.hero-panel{align-self:end;justify-self:end;background:rgba(2,11,26,.9);color:white;border:2px solid rgba(255,255,255,.28);border-radius:14px;padding:1.2rem;max-width:370px;box-shadow:0 12px 35px rgba(0,0,0,.35)}.hero-panel h3{font-family:var(--display);font-size:1.8rem;line-height:1;color:white;text-transform:uppercase;margin-bottom:.5rem}.hero-panel ul{list-style:none;display:grid;gap:.35rem}.hero-panel li:before{content:"✓";color:var(--orange2);font-weight:900;margin-right:.5rem}.page-hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:5rem 1rem;border-bottom:6px solid var(--orange)}.page-hero .wrap{max-width:1220px;margin:auto}.page-hero h1{color:white;font-size:clamp(2.8rem,6vw,5.4rem);max-width:980px}.page-hero h1 span{color:var(--orange2)}.page-hero p{max-width:860px;color:#dbe8fa;font-weight:600;font-size:1.05rem}section{padding:5rem 1rem}.wrap{max-width:1220px;margin:auto}.kicker{display:inline-block;background:var(--blue);color:white;font-family:var(--display);font-size:1.1rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .9rem;margin-bottom:1rem;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}h2{font-family:var(--display);font-size:clamp(2.2rem,5vw,4rem);line-height:.95;text-transform:uppercase;color:var(--navy);margin-bottom:.9rem}.intro{max-width:900px;color:var(--muted);font-weight:600;margin-bottom:2rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{border:1px solid var(--line);border-top:6px solid var(--blue);background:white;padding:1.2rem;transition:.22s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;right:-45px;top:-45px;width:100px;height:100px;border-radius:50%;background:rgba(0,71,184,.06)}.card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(0,71,184,.13);border-top-color:var(--orange)}.card-top{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}.circle{width:48px;height:48px;border:3px solid var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);font-family:var(--display);font-size:1.6rem;font-weight:900;flex:0 0 48px}.card span{color:var(--orange);font-family:var(--display);font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.card h3{font-family:var(--display);font-size:1.55rem;line-height:1;text-transform:uppercase;color:var(--navy);margin:.3rem 0 .45rem}.card p{color:var(--muted);font-size:.9rem;font-weight:600}.card ul{margin:.8rem 0 0 1rem;color:#344055;font-size:.83rem;font-weight:600}.card a{display:inline-block;color:var(--blue);font-weight:900;text-transform:uppercase;font-size:.8rem;margin-top:.9rem}.grey{background:var(--off)}.dark{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white}.dark h2{color:white}.dark h2 span{color:var(--orange2)}.dark .intro{color:#dbe8fa}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:1.4rem;border-radius:8px}.step strong{display:block;font-family:var(--display);font-size:2rem;color:var(--orange2)}.step h3{font-family:var(--display);font-size:1.45rem;text-transform:uppercase;color:white}.step p{color:#d8e5f8;font-weight:600;font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.panel{background:white;border:1px solid var(--line);padding:1.5rem;border-radius:8px}.panel h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;line-height:1;color:var(--navy);margin-bottom:.6rem}.panel p,.panel li{color:var(--muted);font-weight:600}.panel ul{margin-left:1.2rem}.checks{list-style:none;display:grid;gap:.8rem}.checks li{display:flex;gap:.8rem;align-items:flex-start;font-weight:800;color:#e9f1ff}.checks li:before{content:"✓";flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--blue2);display:flex;align-items:center;justify-content:center;color:white;font-weight:900}.markets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;list-style:none;margin-top:1.2rem}.markets li{background:white;border:1px solid var(--line);padding:.9rem;text-align:center;font-weight:900;color:var(--navy);border-radius:4px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:start}form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:white;border:1px solid var(--line);padding:1.25rem}input,select,textarea{font:inherit;width:100%;border:1px solid #cbd7e8;padding:.9rem 1rem;border-radius:4px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,71,184,.12)}textarea,.full{grid-column:1/-1}.contact-box{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:1.5rem;border-radius:8px;position:sticky;top:105px}.contact-box h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;line-height:1;color:white;margin-bottom:.8rem}.contact-box p{color:#e0ebff;margin:.7rem 0;font-weight:600}.contact-box a{color:white;font-weight:900}.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.service-links a{border:1px solid var(--line);padding:.8rem;font-weight:900;color:var(--navy);background:white}.service-links a:hover{border-color:var(--orange);color:var(--blue)}.article{max-width:900px}.article p{margin:1rem 0;color:var(--muted);font-weight:600}.article h2{margin-top:2rem}details{border:1px solid var(--line);background:white;margin:.7rem 0;padding:1rem}summary{font-weight:900;color:var(--navy);cursor:pointer}footer{background:#020b1a;color:#b9c5d8;padding:3rem 1rem 5.5rem}.footer-grid{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer-logo img{height:70px;background:white;border-radius:6px;padding:.35rem}footer h4{font-family:var(--display);font-size:1.2rem;text-transform:uppercase;color:var(--orange2);letter-spacing:.08em;margin-bottom:.75rem}footer a{display:block;color:#b9c5d8;margin:.25rem 0;font-size:.85rem}footer p{margin-top:1rem;max-width:440px}.copyright{max-width:1220px;margin:2rem auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;font-size:.78rem;color:#7f8ba0}.floating-wa{position:fixed;bottom:24px;z-index:80;height:56px;padding:0 1.1rem 0 .9rem;border-radius:32px;background:#25d366;color:white;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:900;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 30px rgba(37,211,102,.45);transition:transform .18s}.floating-wa:hover{transform:translateY(-2px)}.floating-wa svg{flex:0 0 28px}.mobile-bar{display:none;position:fixed;right:0;right:0;bottom:0;background:white;border-top:1px solid var(--line);padding:.55rem;z-index:90;gap:.55rem}.mobile-bar a{flex:1;text-align:center;padding:.78rem .5rem;border-radius:6px;font-family:var(--display);font-size:1.05rem;font-weight:900;text-transform:uppercase}.mobile-call{background:var(--orange);color:white}.mobile-quote{background:var(--blue);color:white}.mobile-wa{background:#25d366;color:white}
@media(max-width:980px){.menu-toggle{display:flex}.nav{min-height:74px}.logo img{height:54px}.nav-menu{position:fixed;top:74px;left:0;right:0;background:white;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:1rem;border-bottom:6px solid var(--orange);box-shadow:0 14px 35px rgba(0,0,0,.14);transform:translateY(-130%);transition:.25s;z-index:99}.nav-menu.open{transform:translateY(0)}.nav-menu li{border-bottom:1px solid #eef2f7}.nav-menu a{display:block;padding:1rem .3rem;font-size:1.2rem}.nav-cta{text-align:center;margin-top:.5rem}.topbar{display:none}.hero{background:white}.hero:before{width:100%;opacity:.14;clip-path:none}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:3.5rem 1rem}.hero-panel{justify-self:start;margin-top:1rem;background:var(--navy)}.grid,.service-links{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.markets{grid-template-columns:repeat(3,1fr)}.contact-box{position:static}.footer-grid{grid-template-columns:1fr}.mobile-bar{display:flex}}
@media(max-width:620px){.nav{min-height:68px}.logo img{height:44px}.nav-menu{top:68px}h1{font-size:3.55rem}.strip{font-size:1.35rem}.hero p{font-size:.97rem}.actions .btn{width:100%}section{padding:3.5rem 1rem}.grid,.process,.markets,.service-links{grid-template-columns:1fr}form{grid-template-columns:1fr;padding:1rem}.floating-wa{display:none}}
.dropdown-toggle{display:flex;align-items:center;gap:.3rem;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;cursor:pointer;font-family:var(--display)!important;font-size:1.05rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#1c2537!important;padding:0!important;line-height:inherit}
.dropdown-toggle:hover,.dropdown-toggle.active{color:var(--blue)!important}
.dropdown-menu{position:absolute;top:calc(100% + 24px);left:0;min-width:330px;background:#fff;border:1px solid var(--line);border-top:6px solid var(--orange);box-shadow:0 18px 45px rgba(0,0,0,.16);padding:.6rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:200;max-height:72vh;overflow:auto}
.has-dropdown:hover .dropdown-menu,.has-dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block!important;font-family:var(--sans)!important;font-size:.82rem!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;padding:.62rem .75rem!important;border-bottom:1px solid #eef2f7}
.dropdown-menu a:hover{background:var(--off);color:var(--blue)!important}
.dropdown-menu a strong{color:var(--orange);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em}

@media(max-width:980px){
  .has-dropdown{border-bottom:1px solid #eef2f7}
  .dropdown-toggle{width:100%;padding:1rem .3rem!important;font-size:1.2rem!important;justify-content:space-between;text-align:left}
  .dropdown-menu{position:static;min-width:0;box-shadow:none;border:0;border-left:4px solid var(--orange);max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;padding:0;margin:0 0 0 .4rem;transition:max-height .25s ease}
  .has-dropdown.open .dropdown-menu{max-height:700px;padding:.35rem 0}
  .has-dropdown:hover .dropdown-menu{max-height:0;padding:0}
  .has-dropdown.open:hover .dropdown-menu{max-height:700px;padding:.35rem 0}
  .dropdown-menu a{padding:.55rem .75rem!important;font-size:.86rem!important}
}


/* Rich explanatory service pages */
.explain-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}
.explain-section{padding:4rem 1rem}
.number-list{counter-reset:item;display:grid;gap:.8rem;list-style:none}
.number-list li{counter-increment:item;background:#fff;border:1px solid var(--line);padding:1rem 1rem 1rem 3.2rem;position:relative;font-weight:700;color:var(--muted)}
.number-list li:before{content:counter(item);position:absolute;left:1rem;top:1rem;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.1rem}
.tick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;list-style:none}
.tick-grid li{background:#fff;border:1px solid var(--line);padding:.85rem;font-weight:800;color:var(--text)}
.tick-grid li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:.5rem}
.service-cta-band{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:3rem 1rem}
.service-cta-band h2{color:#fff}.service-cta-band h2 span{color:var(--orange2)}
@media(max-width:900px){.explain-grid{grid-template-columns:1fr}.tick-grid{grid-template-columns:1fr}}


.service-hero-image{
margin:2rem 0 0;
border-radius:18px;
overflow:hidden;
border:1px solid rgba(255,255,255,0.1);
box-shadow:0 18px 50px rgba(0,0,0,0.25)
}
.service-hero-image img{
width:100%;
display:block
}


/* MOBILE MENU FIX */
@media (max-width:768px){

.mobile-menu{
padding:20px !important;
overflow-y:auto;
}

.mobile-menu ul{
gap:8px !important;
}

.mobile-menu a{
font-size:22px !important;
padding:14px 0 !important;
line-height:1.2 !important;
font-weight:700 !important;
}

.services-dropdown{
padding-left:12px !important;
}

.services-dropdown a{
font-size:18px !important;
padding:10px 0 !important;
}

}


/* HydroTrace long technical service pages */
.tech-image{margin-top:28px;border-radius:24px;overflow:hidden;box-shadow:0 22px 55px rgba(2,8,23,.18);border:1px solid rgba(255,255,255,.18)}
.tech-image img{width:100%;height:clamp(260px,38vw,520px);object-fit:cover;display:block;background:#0b1d35}
.tech-deep{padding:70px 0}
.tech-deep.grey{background:#f5f8fc}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:28px}
.tech-card{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #ff6b00;border-radius:18px;padding:24px;box-shadow:0 14px 36px rgba(2,8,23,.06)}
.tech-card h3{margin-top:0;color:#071a33}
.tech-card ul{padding-left:20px}
.tech-process{counter-reset:step;display:grid;gap:18px;margin-top:28px}
.tech-step{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px 24px 24px 84px;position:relative;box-shadow:0 12px 30px rgba(2,8,23,.05)}
.tech-step:before{counter-increment:step;content:counter(step);position:absolute;left:24px;top:24px;width:42px;height:42px;border-radius:50%;background:#0b5ed7;color:#fff;display:grid;place-items:center;font-weight:900}
.tech-step h3{margin-top:0;color:#071a33}
.tech-two{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}
@media(max-width:850px){.tech-two{grid-template-columns:1fr}.tech-step{padding-left:24px;padding-top:80px}}
.tech-note{background:#eaf2ff;border-left:5px solid #0b5ed7;padding:24px;border-radius:16px;margin:26px 0}
.tech-faq details{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin:12px 0;padding:18px}
.tech-faq summary{font-weight:800;color:#071a33;cursor:pointer}


/* HydroTrace nationwide expansion */
.nation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:28px}
.nation-card{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #0b5ed7;border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(2,8,23,.06)}
.nation-card h3{margin-top:0;color:#071a33}
.nation-card a{font-weight:800;color:#0b5ed7;text-decoration:none}
.nation-badge{display:inline-block;background:#ff6b00;color:#fff;padding:8px 14px;border-radius:999px;font-weight:900;margin:7px 7px 0 0}


/* Locations nationwide rewrite */
.location-map-image{margin-top:30px;border-radius:24px;overflow:hidden;box-shadow:0 22px 55px rgba(2,8,23,.18)}
.location-map-image img{width:100%;height:clamp(260px,38vw,520px);object-fit:cover;display:block}
.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px;margin-top:28px}
.location-card{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #0b5ed7;border-radius:18px;padding:24px;box-shadow:0 14px 36px rgba(2,8,23,.06)}
.location-card h3{margin-top:0;color:#071a33}
.location-card a{font-weight:800;color:#0b5ed7;text-decoration:none}
.location-pill{display:inline-block;background:#ff6b00;color:#fff;padding:8px 14px;border-radius:999px;font-weight:900;margin:7px 7px 0 0}


/* Pin the floating WhatsApp pill to the bottom-left */
.floating-wa { left: 24px !important; right: auto !important; }


/* Response/trust band */
.response-band{background:linear-gradient(135deg,#ff6b00,#ff8a00);color:#fff;padding:2.5rem 1rem}
.response-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:1.5rem;align-items:center}
.response-stat{display:flex;flex-direction:column;line-height:1.1}
.response-stat strong{font-family:var(--display);font-size:2.6rem;font-weight:900;color:#fff;text-transform:uppercase}
.response-stat span{font-weight:700;font-size:.9rem;color:#fff;opacity:.95;margin-top:.2rem}
.response-actions{display:flex;flex-direction:column;gap:.55rem}
.response-actions .btn{white-space:nowrap}
.btn-wa{background:#25d366;color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.32)}
@media(max-width:980px){.response-inner{grid-template-columns:repeat(3,1fr)}.response-actions{grid-column:1/-1;flex-direction:row}}
@media(max-width:620px){.response-inner{grid-template-columns:1fr 1fr;gap:1.2rem}.response-actions{grid-column:1/-1;flex-direction:column}.response-stat strong{font-size:2rem}}

/* 4-column grid + compact industry cards */
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.card-mini{border:1px solid var(--line);border-left:5px solid var(--blue);background:white;padding:1rem 1.1rem;transition:.22s;border-radius:4px}
.card-mini:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,71,184,.13);border-left-color:var(--orange)}
.card-mini h3{font-family:var(--display);font-size:1.3rem;line-height:1.05;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem}
.card-mini p{color:var(--muted);font-size:.85rem;font-weight:600;margin-bottom:.5rem}
.card-mini a{display:inline-block;color:var(--blue);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em}
.card-mini a:hover{color:var(--orange)}
@media(max-width:980px){.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid-4{grid-template-columns:1fr}}



/* ============ CASE STUDIES / SCENARIO PAGE ============ */
.scenario-filter{background:var(--off);padding:2rem 1rem;border-bottom:1px solid var(--line)}
.scenario-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.scenario-tags a{background:white;border:1px solid var(--line);border-left:4px solid var(--blue);padding:.55rem .9rem;font-family:var(--display);font-size:.95rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);transition:.2s}
.scenario-tags a:hover{border-left-color:var(--orange);color:var(--blue);transform:translateY(-2px)}

.scenario{padding:5rem 1rem;scroll-margin-top:100px}
.scenario-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:2.5rem;align-items:start;margin-bottom:2.5rem}
.scenario-meta h2{margin-top:.8rem}
.scenario-pill{display:inline-block;background:var(--blue);color:white;font-family:var(--display);font-size:.85rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .8rem;border-radius:3px;margin-right:.4rem;margin-bottom:.3rem}
.scenario-pill.alt{background:var(--orange)}
.lede{font-size:1.1rem;color:#172033;font-weight:600;line-height:1.55;margin-top:1rem}
.scenario-side{background:white;border:1px solid var(--line);border-top:6px solid var(--blue);padding:1.3rem;border-radius:4px;box-shadow:0 6px 20px rgba(2,11,26,.06)}
.scenario-side h4{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;color:var(--navy);margin-bottom:.8rem;letter-spacing:.04em}
.scenario-dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem}
.scenario-dl dt{font-family:var(--display);font-size:.85rem;font-weight:900;text-transform:uppercase;color:var(--orange);letter-spacing:.05em;padding-top:.1rem}
.scenario-dl dd{font-size:.92rem;color:var(--text);font-weight:600;line-height:1.4}
.scenario-dl dd a{color:var(--blue);font-weight:900;text-decoration:underline;text-underline-offset:2px}

.scenario.grey .scenario-side{background:#fff}

.scenario-body{max-width:920px}
.scenario-body h3{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;color:var(--navy);margin:2rem 0 .8rem;letter-spacing:.02em}
.scenario-body p{font-size:1rem;color:#2a3548;font-weight:500;margin-bottom:1rem;line-height:1.65}
.scenario-body p a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}

.scenario-steps{counter-reset:step;list-style:none;display:grid;gap:.7rem;margin:1rem 0}
.scenario-steps li{position:relative;padding:.9rem 1rem .9rem 3rem;background:white;border:1px solid var(--line);border-left:4px solid var(--blue);counter-increment:step;font-size:.95rem;line-height:1.5;color:#2a3548;font-weight:500}
.scenario-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:.7rem;top:.85rem;font-family:var(--display);font-weight:900;color:var(--orange);font-size:1.1rem;letter-spacing:.02em}
.scenario-steps li strong{color:var(--navy);font-weight:900}
.scenario.grey .scenario-steps li{background:#fff}

.check-list{list-style:none;display:grid;gap:.55rem;margin:.8rem 0 1.2rem}
.check-list li{position:relative;padding-left:2rem;font-size:.97rem;color:#2a3548;font-weight:500;line-height:1.55}
.check-list li:before{content:"✓";position:absolute;left:0;top:.05rem;width:22px;height:22px;border-radius:50%;background:var(--blue);color:white;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center}

.scenario-cta{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.scenario-back{margin-left:auto;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:.9rem;color:var(--muted);letter-spacing:.04em}
.scenario-back:hover{color:var(--blue)}

@media(max-width:980px){
  .scenario-grid{grid-template-columns:1fr;gap:1.5rem}
  .scenario-side{order:-1}
  .scenario-cta{flex-direction:column;align-items:stretch}
  .scenario-cta .btn{width:100%}
  .scenario-back{margin-left:0;text-align:center;margin-top:.5rem}
}

/* ============ REVIEWS GRID ============ */
.reviews-section{padding:5rem 1rem}
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.5rem}
.review-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--orange);padding:1.4rem;border-radius:4px}
.review-card .stars{color:#ffb938;font-size:1.25rem;letter-spacing:.15em;margin-bottom:.7rem}
.review-card blockquote{color:#e9f1ff;font-size:1rem;line-height:1.6;font-weight:500;margin-bottom:.8rem;font-style:italic}
.review-card cite{color:#a4b4cc;font-style:normal;font-weight:700;font-size:.9rem}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr}}

/* ============ DELIVERABLES (how-we-work page) ============ */
.deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1rem}
.deliverable{background:white;border:1px solid var(--line);border-top:6px solid var(--blue);padding:1.3rem;transition:.22s;border-radius:4px}
.deliverable:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(0,71,184,.13);border-top-color:var(--orange)}
.deliverable h3{font-family:var(--display);font-size:1.55rem;line-height:1.05;text-transform:uppercase;color:var(--navy);margin-bottom:.3rem}
.deliverable h3 a{color:inherit}
.deliverable h3 a:hover{color:var(--blue)}
.deliverable-sub{font-size:.85rem;color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.deliverable .check-list{margin:0}
@media(max-width:760px){.deliverables{grid-template-columns:1fr}}

/* ============ RECENT PROJECTS PLACEHOLDER ============ */
.recent-projects{padding:5rem 1rem;background:linear-gradient(180deg,#fff 0%,var(--off) 100%)}
.recent-projects code{background:#fff;border:1px solid var(--line);padding:.15rem .4rem;border-radius:3px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;color:var(--blue)}


/* ============ EQUIPMENT PAGE ============ */
.equipment-filter{background:var(--off);padding:2rem 1rem;border-bottom:1px solid var(--line)}

.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1rem}
.equipment-card{background:white;border:1px solid var(--line);border-top:6px solid var(--blue);padding:1.4rem;transition:.22s;border-radius:4px;display:flex;flex-direction:column}
.equipment-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(0,71,184,.13);border-top-color:var(--orange)}
.equipment-icon{width:72px;height:72px;background:linear-gradient(135deg,rgba(0,71,184,.08),rgba(0,71,184,.02));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);margin-bottom:1rem;transition:.22s}
.equipment-card:hover .equipment-icon{background:linear-gradient(135deg,rgba(255,107,0,.12),rgba(255,107,0,.03));color:var(--orange)}
.equipment-icon svg{width:42px;height:42px}
.equipment-card h3{font-family:var(--display);font-size:1.4rem;line-height:1.05;text-transform:uppercase;color:var(--navy);margin-bottom:.6rem;letter-spacing:.01em}
.equipment-card p{color:#2a3548;font-size:.92rem;font-weight:500;line-height:1.55;margin-bottom:.7rem}
.equipment-use{margin-top:auto;padding-top:.7rem;border-top:1px dashed var(--line);color:var(--muted)!important;font-size:.85rem!important}
.equipment-use strong{color:var(--blue);font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;margin-right:.3rem}

.grey .equipment-card{background:#fff}
.grey .equipment-icon{background:linear-gradient(135deg,rgba(0,71,184,.1),rgba(0,71,184,.03))}

@media(max-width:980px){.equipment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.equipment-grid{grid-template-columns:1fr}}


/* ============ V6/V7 ADDITIONS ============ */

/* Emergency page hero - high urgency */
.emergency-hero{background:linear-gradient(135deg,#7c1a1a 0%,#dc3545 100%);color:#fff;border-bottom:6px solid #ff6b00}
.emergency-hero h1,.emergency-hero p{color:#fff}
.emergency-eyebrow{background:#fff;color:#dc3545;display:inline-block;padding:.4rem 1rem;border-radius:3px;font-family:var(--display);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;margin-bottom:1rem}
.btn-large{padding:1.1rem 2rem;font-size:1.15rem}
.emergency-step{border-left:5px solid #dc3545}
.emergency-step .circle{background:#dc3545}

/* Pricing grid */
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1rem}
.pricing-card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--orange);padding:1.5rem;transition:.22s;border-radius:4px;display:flex;flex-direction:column}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(255,107,0,.13);border-top-color:var(--blue)}
.pricing-card h3{font-family:var(--display);font-size:1.35rem;text-transform:uppercase;color:var(--navy);margin-bottom:.5rem;letter-spacing:.01em;line-height:1.05}
.pricing-from{font-family:var(--display);font-size:1.1rem;color:var(--muted);font-weight:700;margin:.4rem 0 .9rem}
.pricing-from strong{color:var(--orange);font-size:1.7rem;font-weight:900;letter-spacing:.01em}
.pricing-card p:last-child{margin-top:auto;color:#2a3548;font-size:.92rem;font-weight:500;line-height:1.55}
@media(max-width:980px){.pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pricing-grid{grid-template-columns:1fr}}

/* Warning signs grid */
.warning-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}
.warning-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);padding:1.4rem;border-radius:4px;transition:.22s}
.warning-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(255,107,0,.12);border-left-color:#dc3545}
.warning-card h3{font-family:var(--display);font-size:1.35rem;text-transform:uppercase;color:var(--navy);margin-bottom:.7rem;letter-spacing:.01em;line-height:1.1}
.warning-card p{color:#2a3548;font-size:.95rem;font-weight:500;line-height:1.55;margin-bottom:.7rem}
.warning-card p strong{color:var(--blue);font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em}
@media(max-width:760px){.warning-grid{grid-template-columns:1fr}}

/* Report sample timeline */
.report-sample{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}
.report-section{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);padding:1.2rem 1.4rem;border-radius:4px;transition:.18s}
.report-section:hover{border-left-color:var(--orange);transform:translateX(4px)}
.report-marker{background:var(--blue);color:#fff;font-family:var(--display);font-size:1.4rem;font-weight:900;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.report-section h3{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;letter-spacing:.01em}
.report-section p{color:#2a3548;font-size:.95rem;font-weight:500;line-height:1.55;margin:0}

/* Accreditation cards */
.accreditation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1rem}
.accreditation-card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--blue);padding:1.5rem;border-radius:4px;display:flex;gap:1.2rem;align-items:flex-start;transition:.22s}
.accreditation-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,71,184,.12);border-top-color:var(--orange)}
.accreditation-icon{width:60px;height:60px;flex-shrink:0;background:linear-gradient(135deg,rgba(0,71,184,.1),rgba(0,71,184,.02));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue)}
.accreditation-icon svg{width:34px;height:34px}
.accreditation-card h3{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;letter-spacing:.01em}
.accreditation-card p{color:#2a3548;font-size:.92rem;font-weight:500;line-height:1.5;margin-bottom:.6rem}
.accreditation-status{padding-top:.55rem;border-top:1px dashed var(--line);font-size:.85rem!important;color:var(--muted)!important;margin-top:auto}
.accreditation-status strong{color:var(--blue);font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;margin-right:.3rem}
@media(max-width:760px){.accreditation-grid{grid-template-columns:1fr}}

/* Coverage tiers */
.coverage-tiers{display:flex;flex-direction:column;gap:1.2rem;margin-top:1.5rem}
.coverage-tier{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;background:#fff;border:1px solid var(--line);padding:1.5rem;border-radius:4px;align-items:start}
.tier-fast{border-left:6px solid #0b8a2c}
.tier-standard{border-left:6px solid var(--blue)}
.tier-wider{border-left:6px solid var(--muted)}
.tier-marker{font-size:2.5rem;line-height:1}
.tier-fast .tier-marker{color:#0b8a2c}
.tier-standard .tier-marker{color:var(--blue)}
.tier-wider .tier-marker{color:var(--muted)}
.tier-content h3{font-family:var(--display);font-size:1.45rem;text-transform:uppercase;color:var(--navy);margin-bottom:.3rem}
.tier-meta{color:var(--orange);font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;font-family:var(--display);margin-bottom:.8rem}
.tier-suburbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.tier-suburbs a{background:var(--off);border:1px solid var(--line);padding:.45rem .85rem;font-size:.9rem;font-weight:700;color:var(--navy);border-radius:3px;transition:.18s}
.tier-suburbs a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:760px){.coverage-tier{grid-template-columns:1fr}.tier-marker{margin-bottom:-.8rem}}

/* Legal pages */
.legal-page{max-width:880px;margin:auto}
.legal-page h2{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;color:var(--navy);margin:2.2rem 0 .9rem;letter-spacing:.02em;padding-bottom:.5rem;border-bottom:2px solid var(--line)}
.legal-page h2:first-child{margin-top:.5rem}
.legal-page p{color:#2a3548;font-size:1rem;font-weight:500;line-height:1.7;margin-bottom:1rem}
.legal-page a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.legal-page .check-list li{font-size:.95rem}

/* FAQ details/summary */
details{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:1rem 1.2rem;border-radius:4px;margin-bottom:.7rem;transition:.18s}
details:hover{border-left-color:var(--orange)}
details[open]{box-shadow:0 6px 18px rgba(0,71,184,.08);border-left-color:var(--orange)}
details summary{font-family:var(--display);font-size:1.1rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;list-style:none;position:relative;padding-right:2rem;line-height:1.3}
details summary::-webkit-details-marker{display:none}
details summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--orange);font-weight:900;transition:.22s}
details[open] summary:after{content:"−"}
details p{color:#2a3548;font-size:.95rem;font-weight:500;line-height:1.6;margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--line)}
details p a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media(max-width:760px){.grid-3{grid-template-columns:1fr}}

/* Insurer band */
.insurer-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.2rem 1rem;text-align:center}
.insurer-eyebrow{font-family:var(--display);font-size:.85rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:.4rem}
.insurer-intro{font-size:1rem;color:var(--muted);font-weight:600;margin-bottom:1.2rem}
.insurer-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem 1rem;margin-bottom:1.2rem}
.insurer-name{font-family:var(--display);font-size:1.4rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.insurer-dot{color:var(--orange);font-size:1.5rem;opacity:.5;font-weight:900}
.insurer-link{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.92rem;color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:.2rem;transition:.18s}
.insurer-link:hover{color:var(--orange);border-bottom-color:var(--orange)}
@media(max-width:760px){.insurer-name{font-size:1.1rem}.insurer-dot{display:none}}

/* Reviews two-card layout */
.reviews-grid-2{max-width:980px;margin-left:auto;margin-right:auto}
.review-reply{margin-top:1rem;padding:.85rem 1rem;background:rgba(0,71,184,.15);border-left:3px solid var(--blue2,#1d8aff);border-radius:3px}
.review-reply strong{display:block;font-family:var(--display);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--orange2,#ff8a00);margin-bottom:.4rem}
.review-reply p{font-size:.88rem;color:#dbe8fa;font-weight:500;line-height:1.5;font-style:normal;margin:0}

/* Recent projects */
.recent-project{background:#fff;border:1px solid var(--line);border-top:6px solid var(--orange);padding:1.5rem;border-radius:4px;transition:.22s}
.recent-project:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(255,107,0,.13);border-top-color:var(--blue)}
.recent-project-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}
.recent-project h3{font-family:var(--display);font-size:1.4rem;text-transform:uppercase;color:var(--navy);line-height:1.1;margin-bottom:.7rem}
.recent-project h4{font-family:var(--display);font-size:.95rem;text-transform:uppercase;color:var(--blue);letter-spacing:.05em;margin-top:1rem;margin-bottom:.4rem}
.recent-project p{color:#2a3548;font-size:.95rem;font-weight:500;line-height:1.55;margin-bottom:.5rem}
.recent-project-brief{font-style:italic;color:#172033;font-weight:600;border-left:3px solid var(--line);padding-left:.9rem;margin-left:0}
.recent-projects .grid{grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:760px){.recent-projects .grid{grid-template-columns:1fr}}

/* ============ CLUSTER HUB PAGES (NEW) ============ */
.cluster-hero{background:linear-gradient(135deg,var(--navy) 0%,#0a4a9e 100%);color:#fff;padding:5rem 1rem 4rem;text-align:left}
.cluster-hero h1{color:#fff;font-size:3.2rem;line-height:1.05}
.cluster-hero h1 span{color:var(--orange)}
.cluster-hero p{color:#dbe8fa;font-size:1.15rem;max-width:780px;margin-top:1rem;font-weight:500}
.cluster-eyebrow{background:rgba(255,255,255,.12);color:#fff;display:inline-block;padding:.4rem 1rem;border-radius:3px;font-family:var(--display);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem;margin-bottom:1rem}

/* Cluster topic grid */
.cluster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}
.cluster-topic{background:#fff;border:1px solid var(--line);border-top:6px solid var(--blue);padding:1.5rem;border-radius:4px;transition:.22s;display:flex;flex-direction:column}
.cluster-topic:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(0,71,184,.12);border-top-color:var(--orange)}
.cluster-topic h3{font-family:var(--display);font-size:1.35rem;text-transform:uppercase;color:var(--navy);margin-bottom:.6rem;line-height:1.1}
.cluster-topic p{color:#2a3548;font-size:.95rem;font-weight:500;line-height:1.55;margin-bottom:.9rem;flex-grow:1}
.cluster-topic-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}
.cluster-topic-links a{font-size:.82rem;font-weight:700;color:var(--blue);background:var(--off);border:1px solid var(--line);padding:.3rem .65rem;border-radius:3px;transition:.18s}
.cluster-topic-links a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:980px){.cluster-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cluster-grid{grid-template-columns:1fr}}

/* Related-content block (internal linking) */
.related-block{background:var(--off);padding:3rem 1rem;border-top:1px solid var(--line)}
.related-block h2{font-size:1.7rem;margin-bottom:1.2rem}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.related-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:1rem 1.2rem;border-radius:3px;transition:.18s}
.related-card:hover{transform:translateX(4px);border-left-color:var(--orange)}
.related-card a{font-family:var(--display);font-weight:800;font-size:1.05rem;color:var(--navy);text-transform:uppercase;letter-spacing:.01em;line-height:1.2;display:block}
.related-card a:hover{color:var(--blue)}
.related-card p{margin:.4rem 0 0;color:var(--muted);font-size:.85rem;font-weight:600;text-transform:none;letter-spacing:0}
@media(max-width:760px){.related-grid{grid-template-columns:1fr}}


/* === V9 VISIBILITY FIX === */
/* Issue: new hero HTML had no matching CSS; H1 was landing in the dark half of the old split-background hero and showing as dark text on dark background.
   Issue: link-wrapped card titles were inheriting the small "Read more" anchor size. */

/* HERO — full-bleed dark with photo background, single-column white content */
.hero{position:relative;background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);overflow:hidden;border-bottom:6px solid var(--orange);padding:0}
.hero:before{content:none}
.hero-overlay{display:none}
.hero .hero-inner{position:relative;z-index:2;max-width:1220px;margin:auto;display:block;min-height:auto;padding:5rem 1rem 4.5rem}
.hero .kicker{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);clip-path:none;border-radius:4px}
.hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.95;margin-bottom:1.2rem;max-width:1000px}
.hero h1 span{color:var(--orange2)}
.hero .hero-sub{color:#e7eef9;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:500;line-height:1.6;max-width:820px;margin-bottom:1.8rem}
.hero .hero-sub strong{color:#fff;font-weight:800}
.hero .hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}
.hero .hero-cta .btn{min-height:54px}
.hero .hero-checks{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .9rem;max-width:820px;padding:0;margin:0}
.hero .hero-checks li{color:#dbe8fa;font-weight:600;font-size:.95rem;padding-left:1.85rem;position:relative;line-height:1.45}
.hero .hero-checks li:before{content:"";position:absolute;left:0;top:.15rem;width:22px;height:22px;border-radius:50%;background:var(--orange);box-shadow:0 4px 10px rgba(255,107,0,.45)}
.hero .hero-checks li:after{content:"";position:absolute;left:7px;top:.45rem;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media(max-width:760px){.hero .hero-inner{padding:3.5rem 1rem 3rem}.hero .hero-checks{grid-template-columns:1fr}.hero .hero-cta .btn{width:100%}}

/* CARD TITLES — stop the title link from being shrunk to the "Read more" size */
.card h3 a,.card-mini h3 a,.cluster-topic h3 a{display:inline;font-size:inherit;font-weight:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;margin:0}
.card h3 a:hover,.card-mini h3 a:hover,.cluster-topic h3 a:hover{color:var(--blue)}

/* === GAUTENG AREA PAGES === */

/* Main Gauteng hero — bold, dark, full-bleed */
.gauteng-hero{position:relative;background:#020b1a;overflow:hidden;border-bottom:6px solid var(--orange)}
.gauteng-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#06152e 0%,#0a2454 50%,#0047b8 100%);z-index:0}
.gauteng-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(255,107,0,.25) 0%,transparent 55%),radial-gradient(ellipse at 20% 80%,rgba(9,105,255,.2) 0%,transparent 50%);z-index:0}
.gauteng-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(2,11,26,.55) 0%,rgba(2,11,26,.15) 100%);z-index:1}
.gauteng-hero-inner{position:relative;z-index:2;padding:5rem 1rem 4.5rem}
.gauteng-hero .kicker{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);clip-path:none;border-radius:4px}
.gauteng-hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.95;margin-bottom:1.2rem;max-width:1000px}
.gauteng-hero h1 span{color:var(--orange2)}
.gauteng-hero-sub{color:#e7eef9;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:500;line-height:1.6;max-width:830px;margin-bottom:1.8rem}
.gauteng-hero-sub strong{color:#fff;font-weight:800}
.gauteng-hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}
.gauteng-hero-cta .btn{min-height:54px}
.gauteng-hero-checks{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .9rem;max-width:830px;padding:0;margin:0}
.gauteng-hero-checks li{color:#dbe8fa;font-weight:600;font-size:.95rem;padding-left:1.85rem;position:relative;line-height:1.45}
.gauteng-hero-checks li:before{content:"";position:absolute;left:0;top:.15rem;width:22px;height:22px;border-radius:50%;background:var(--orange);box-shadow:0 4px 10px rgba(255,107,0,.45)}
.gauteng-hero-checks li:after{content:"";position:absolute;left:7px;top:.45rem;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media(max-width:760px){.gauteng-hero-inner{padding:3.5rem 1rem 3rem}.gauteng-hero-checks{grid-template-columns:1fr}.gauteng-hero-cta .btn{width:100%}}

/* Regional hero — lighter variant of page-hero */
.region-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);border-bottom:6px solid var(--orange);padding:4rem 1rem}
.region-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;margin-bottom:1rem}
.region-hero h1 span{color:var(--orange2)}
.region-hero p{color:#dbe8fa;font-weight:500;max-width:860px;font-size:1.05rem;line-height:1.6}

/* Region stats band */
.region-stats{background:var(--off);border-bottom:1px solid var(--line);padding:2rem 1rem}
.region-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:center}
.region-stat{display:flex;flex-direction:column;text-align:center;padding:.5rem}
.region-stat strong{font-family:var(--display);font-size:2.4rem;font-weight:900;color:var(--blue);line-height:1;letter-spacing:-.01em}
.region-stat span{font-weight:600;font-size:.85rem;color:var(--muted);margin-top:.35rem;line-height:1.3}
@media(max-width:760px){.region-stats-row{grid-template-columns:1fr 1fr;gap:1rem}.region-stat strong{font-size:1.9rem}}

/* Region cards grid (main Gauteng page) */
.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1rem}
.region-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.5rem 1.5rem;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.region-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue2) 100%);transition:background .28s ease}
.region-card:hover{transform:translateY(-6px);box-shadow:0 22px 45px -12px rgba(0,71,184,.22),0 6px 16px rgba(2,11,26,.08);border-color:transparent}
.region-card:hover:before{background:linear-gradient(90deg,var(--orange) 0%,var(--orange2) 100%)}
.region-card-head{margin-bottom:.8rem;padding-top:.3rem}
.region-card-tag{display:inline-block;background:var(--off);color:var(--blue);font-family:var(--display);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .65rem;border-radius:3px;margin-bottom:.6rem;border:1px solid var(--line)}
.region-card h3{font-family:var(--display);font-size:1.6rem;line-height:1.05;text-transform:uppercase;color:var(--navy);margin:0}
.region-card h3 a{color:inherit;display:inline}
.region-card h3 a:hover{color:var(--blue)}
.region-card p{color:var(--muted);font-size:.92rem;font-weight:500;line-height:1.55;margin-bottom:.7rem}
.region-card-preview{color:#3a4558;font-size:.85rem;font-weight:500;line-height:1.5;padding:.7rem;background:var(--off);border-radius:6px;border-left:3px solid var(--blue2);margin-top:auto}
.region-card-preview strong{color:var(--navy);font-weight:800}
.region-card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;color:var(--blue);font-family:var(--display);font-size:.95rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;transition:gap .2s ease,color .2s ease}
.region-card:hover .region-card-link{color:var(--orange);gap:.7rem}
@media(max-width:980px){.region-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.region-grid{grid-template-columns:1fr}}

/* "Why this region is different" pain cards */
.pain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1rem}
.pain-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);padding:1.4rem 1.5rem;border-radius:8px;transition:.22s}
.pain-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,11,26,.08);border-left-color:var(--blue)}
.pain-card h3{font-family:var(--display);font-size:1.35rem;line-height:1.1;text-transform:uppercase;color:var(--navy);margin-bottom:.55rem}
.pain-card p{color:#3a4558;font-size:.93rem;font-weight:500;line-height:1.55}
.grey .pain-card{background:#fff}
.dark .pain-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);border-left-color:var(--orange)}
.dark .pain-card h3{color:#fff}
.dark .pain-card p{color:#dbe8fa}
@media(max-width:760px){.pain-grid{grid-template-columns:1fr}}

/* Suburb pill grid */
.suburb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:1.2rem}
.suburb-grid a{display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid var(--line);padding:.75rem .7rem;border-radius:6px;font-family:var(--display);font-size:.95rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.02em;transition:all .18s ease;line-height:1.15;min-height:46px}
.suburb-grid a:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,71,184,.25)}
.grey .suburb-grid a{background:#fff}
@media(max-width:980px){.suburb-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.suburb-grid{grid-template-columns:repeat(2,1fr)}.suburb-grid a{font-size:.85rem;min-height:42px}}

/* Dark process steps — number badge */
.dark .step strong{display:inline-block;font-family:var(--display);font-size:2.4rem;color:var(--orange2);line-height:1;margin-bottom:.4rem}
.dark .step h3{margin-bottom:.4rem}

/* === FLOATING BUTTON FIX === */
/* Kill the floating book/call mobile bar entirely */
.mobile-bar{display:none!important}
/* Reclaim the footer padding that was reserved for the now-removed mobile bar */
footer{padding-bottom:3rem!important}

/* WhatsApp floating button — pin bottom-right, visible on all screen sizes, polish sizing */
.floating-wa{left:auto!important;right:20px!important;bottom:20px!important;display:inline-flex!important;height:58px;padding:0 1.15rem 0 .9rem;border-radius:32px;gap:.55rem;box-shadow:0 12px 32px rgba(37,211,102,.5),0 4px 10px rgba(0,0,0,.18);z-index:90;transition:transform .2s ease,box-shadow .2s ease}
.floating-wa:hover,.floating-wa:focus{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,211,102,.55),0 6px 14px rgba(0,0,0,.2)}
.floating-wa svg{flex:0 0 30px;width:30px;height:30px}
.floating-wa span{font-family:var(--display);font-weight:900;font-size:1.02rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1}
@media(max-width:620px){
  .floating-wa{height:54px;right:16px!important;bottom:16px!important;padding:0 1rem 0 .8rem}
  .floating-wa svg{flex:0 0 26px;width:26px;height:26px}
  .floating-wa span{font-size:.92rem}
}

/* === CASE STUDIES — REGION DROPDOWNS === */
.scenario-region-drop{background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:.7rem;overflow:hidden;transition:box-shadow .2s ease}
.scenario-region-drop[open]{box-shadow:0 14px 32px rgba(0,71,184,.12);border-color:transparent}
.scenario-region-drop summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.8rem;padding:1rem 1.15rem;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--navy);border-left:5px solid var(--blue);transition:background .18s ease,border-color .18s ease}
.scenario-region-drop summary::-webkit-details-marker{display:none}
.scenario-region-drop summary:hover{background:var(--off)}
.scenario-region-drop[open] summary{border-left-color:var(--orange);background:var(--off)}
.srd-name{font-size:1.15rem;font-weight:900;line-height:1.05;flex:1}
.srd-count{font-family:var(--sans);font-size:.78rem;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0;background:#fff;border:1px solid var(--line);padding:.2rem .55rem;border-radius:20px;white-space:nowrap}
.srd-chev{font-family:var(--display);font-size:1.3rem;color:var(--blue);transition:transform .25s ease;line-height:1}
.scenario-region-drop[open] .srd-chev{transform:rotate(180deg);color:var(--orange)}
.scenario-region-drop .scenario-region-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.85rem 1.15rem 1.1rem}
.scenario-region-pill{display:flex;flex-direction:column;align-items:flex-start;background:var(--off);border:1px solid var(--line);border-left:3px solid var(--blue);padding:.65rem .85rem;border-radius:6px;line-height:1.15;transition:all .18s ease;text-decoration:none}
.scenario-region-pill strong{font-family:var(--display);font-size:1rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.015em}
.scenario-region-pill span{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:.2rem;line-height:1.3}
.scenario-region-pill:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,71,184,.16);border-left-color:var(--orange)}
.scenario-region-pill:hover strong{color:var(--blue)}
@media(max-width:620px){
  .scenario-region-drop .scenario-region-pills{grid-template-columns:1fr;gap:.5rem;padding:.7rem .9rem 1rem}
  .scenario-region-drop summary{padding:.85rem 1rem;gap:.6rem}
  .srd-name{font-size:1.02rem}
  .srd-count{font-size:.72rem;padding:.15rem .5rem}
}

/* === NAV — handle longer flat menu after Trust dropdown removal === */
.nav-menu{flex-wrap:wrap;row-gap:.4rem}
@media(min-width:981px){
  .nav-menu a{font-size:.98rem}
  .nav-menu{gap:.85rem}
}

/* === HOMEPAGE SERVICES — bold, icon-driven, unmissable === */
.home-services{padding:5rem 1rem 4.5rem;position:relative;background:#fff}
.home-services:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:96px;height:6px;background:linear-gradient(90deg,var(--blue) 0%,var(--orange) 100%);border-radius:0 0 6px 6px}
.hs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:1.4rem}
.hs-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.55rem 1.4rem 1.3rem;text-align:left;text-decoration:none;color:inherit;overflow:hidden;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.hs-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue2) 100%);transition:background .28s ease}
.hs-card:after{content:"";position:absolute;right:-50px;bottom:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(0,71,184,.07) 0%,rgba(0,71,184,0) 70%);transition:background .28s ease;z-index:-1}
.hs-card:hover{transform:translateY(-8px);box-shadow:0 24px 48px -14px rgba(0,71,184,.28),0 8px 18px rgba(2,11,26,.08);border-color:transparent}
.hs-card:hover:before{background:linear-gradient(90deg,var(--orange) 0%,var(--orange2) 100%)}
.hs-card:hover:after{background:radial-gradient(circle,rgba(255,107,0,.14) 0%,rgba(255,107,0,0) 70%)}
.hs-card:hover .hs-icon{background:linear-gradient(135deg,var(--orange) 0%,var(--orange2) 100%);transform:scale(1.06) rotate(-3deg);box-shadow:0 12px 26px rgba(255,107,0,.42)}
.hs-card:hover .hs-link{color:var(--orange);gap:.65rem}
.hs-card:hover .hs-link svg{transform:translateX(4px)}
.hs-icon{width:62px;height:62px;border-radius:13px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue2) 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1rem;box-shadow:0 10px 22px rgba(0,71,184,.3);transition:all .35s cubic-bezier(.4,0,.2,1)}
.hs-icon svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hs-card h3{font-family:var(--display);font-size:1.42rem;line-height:1.05;text-transform:uppercase;color:var(--navy);margin-bottom:.5rem;letter-spacing:.005em}
.hs-card p{color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.5;margin-bottom:1rem;flex-grow:1}
.hs-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--blue);font-family:var(--display);font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;transition:all .25s ease;padding-top:.55rem;border-top:1px solid var(--line);margin-top:auto}
.hs-link svg{width:16px;height:16px;transition:transform .25s ease}
.hs-cta-row{margin-top:2.4rem;display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}
@media(max-width:1100px){.hs-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.hs-grid{grid-template-columns:repeat(2,1fr);gap:.9rem}.hs-card{padding:1.3rem 1.15rem 1.1rem}.hs-icon{width:54px;height:54px}.hs-icon svg{width:28px;height:28px}.hs-card h3{font-size:1.22rem}.home-services{padding:3.5rem 1rem 3rem}}
@media(max-width:480px){.hs-grid{grid-template-columns:1fr}.hs-cta-row .btn{width:100%}}

/* === INSURER STATEMENT (replaces named-insurer pill list) === */
.insurer-statement{display:inline-block;font-family:var(--display);font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--navy);line-height:1.25;text-align:center;padding:.3rem 0}
.insurer-statement strong{color:var(--blue);font-weight:900}
.insurer-band .insurer-row{justify-content:center;text-align:center}

/* === QUICK FACTS — AI-engine-friendly definition list === */
.quick-facts{padding:4rem 1rem;background:linear-gradient(180deg,#fff 0%,var(--off) 100%)}
.qf-list{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:1.4rem;max-width:1000px}
.qf-row{display:grid;grid-template-columns:240px 1fr;gap:1.2rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);padding:.95rem 1.2rem;border-radius:6px;align-items:start;transition:.22s}
.qf-row:hover{border-left-color:var(--orange);box-shadow:0 8px 22px rgba(0,71,184,.1)}
.qf-row dt{font-family:var(--display);font-size:1.02rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--blue);line-height:1.2}
.qf-row dd{margin:0;color:#2a3447;font-size:.93rem;font-weight:500;line-height:1.55}
@media(max-width:760px){.qf-row{grid-template-columns:1fr;gap:.25rem;padding:.85rem 1rem}.qf-row dt{font-size:.92rem}.quick-facts{padding:3rem 1rem}}
