*{box-sizing:border-box;margin:0;padding:0}:root{--y:#01abff;--yd:#0192d9;--g:#01abff;--gd:#0192d9;--dark:#1D2A62;--gray:#5A6874;--lg:#F2F6FA;--border:#DBE5EE;--white:#fff}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--dark);background:var(--white);line-height:1.7;font-size:18px;letter-spacing:0.02em}a{color:var(--dark);text-decoration:none}[data-page]{cursor:pointer}nav{background:#fff;border-bottom:1px solid #e8e8e8;color:#111;position:sticky;top:0;z-index:200}nav a{color:var(--dark)!important}nav a:hover{color:var(--dark)!important;opacity:.7}nav button{color:var(--dark)!important}.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:110px}.logo{cursor:pointer}.logo-txt{font-size:22px;font-weight:900;letter-spacing:0.02em;color:#fff;display:flex;flex-direction:row;align-items:center;gap:6px}.logo-txt em{background:var(--y);font-style:normal;padding:1px 5px;border-radius:4px;color:#111}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:18px;font-weight:500;color:var(--dark)}.nav-links a:hover{opacity:.55}.nav-btn{background:var(--y);color:var(--dark)!important;padding:12px 22px;border-radius:8px;font-weight:800;font-size:18px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:2px solid var(--dark);letter-spacing:0.04em}.nav-btn:hover{background:var(--yd)}.dd{position:relative}.dd-toggle{font-size:18px;font-weight:500;color:var(--dark);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:5px;padding:0;font-family:inherit}.dd-toggle:hover{opacity:.55}.dd-toggle svg{transition:transform .2s}.dd.open .dd-toggle svg{transform:rotate(180deg)}.dd-menu{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:#fff;border:1.5px solid var(--border);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.12);z-index:500;min-width:460px;padding:8px 4px;max-height:80vh;overflow-y:auto}.dd.open .dd-menu{display:grid;grid-template-columns:1fr 1fr;animation:ddIn .15s ease}@keyframes ddIn{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.dd-item{display:block;padding:9px 14px;font-size:18px;font-weight:500;color:var(--dark)!important;border-radius:8px;cursor:pointer}.dd-item:hover{background:var(--lg);color:var(--dark)!important}.dd-section{grid-column:1/-1;padding:6px 14px 2px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#aaa!important}.nav-btn-mobile{padding:9px 14px;font-size:18px;}@media(min-width:769px){.nav-btn-mobile{padding:16px 36px;font-size:18px;font-weight:900;border-radius:10px;color:var(--dark)!important;}}.mobile-menu-btn{display:none;background:none;border:1.5px solid #ccc;border-radius:8px;padding:7px 10px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}.mobile-menu-btn span{display:block;width:20px;height:2px;background:#111;border-radius:2px;transition:all .25s}.mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:#fff;z-index:199;overflow-y:auto;padding:16px}.mobile-nav.open{display:block}.mob-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#aaa;padding:16px 4px 8px}.mob-item{display:block;padding:13px 16px;font-size:18px;font-weight:600;color:var(--dark);border-radius:10px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit}.mob-item:hover{background:var(--lg)}.mob-divider{height:1px;background:var(--border);margin:8px 0}.mob-cta{background:var(--y);color:var(--dark);border:2px solid var(--dark);border-radius:10px;padding:14px;font-size:18px;font-weight:900;cursor:pointer;width:100%;margin-top:12px;font-family:inherit}.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:#fff;border-top:2px solid var(--dark);padding:12px 16px}.hero{padding:0;position:relative;overflow:hidden;background:linear-gradient(145deg,#121A3D 0%,#1D2A62 45%,#33469B 100%);min-height:100vh;display:flex;align-items:center}.hero::before{content:"";position:absolute;inset:0;background:rgba(6,26,23,0.35);z-index:0}.hero-inner{position:relative;z-index:1}.hero::before{content:"";position:absolute;inset:0;background:rgba(6,26,23,0.35);z-index:0}.hero-inner{position:relative;z-index:1}.hero-inner{max-width:1200px;margin:0 auto;padding:80px 32px;width:100%}h1.hero-h1,.hero-h1{font-size:clamp(52px,7.5vw,100px);font-weight:900;line-height:.95;letter-spacing:0.02em;text-transform:uppercase;margin-bottom:24px;color:#fff;text-shadow:0 0 20px rgba(0,0,0,0.9),0 0 40px rgba(0,0,0,0.8),2px 2px 8px rgba(0,0,0,1)}.hero-sub{display:inline-block;background:#111;color:#fff;padding:14px 28px;font-size:32px;font-weight:800;border-radius:8px;margin-bottom:24px}.trust-pill{display:inline-flex;align-items:center;gap:10px;border:2.5px solid var(--dark);padding:10px 18px;border-radius:8px;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.trust-stars{color:#f59e0b;font-size:18px}.hero-form-wrap{min-height:280px}.trust-bar{background:var(--dark);padding:18px 32px}.trust-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:14px}.ti{color:#fff;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}.tdot{width:7px;height:7px;border-radius:50%;background:var(--y);flex-shrink:0}.hiw-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.hiw-grid{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin-top:32px}.hiw-card{flex:1;min-width:200px;max-width:280px;background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:36px 24px 28px;text-align:center;position:relative;transition:box-shadow .2s,transform .2s}.hiw-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.09);transform:translateY(-4px)}.hiw-num{position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:36px;height:36px;background:var(--y);border:2.5px solid var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900}.hiw-icon{width:72px;height:72px;background:var(--lg);border:1.5px solid var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.hiw-badge{display:inline-block;background:var(--y);color:var(--dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:4px 12px;border-radius:20px;margin-bottom:12px;border:1.5px solid var(--dark)}.hiw-card h3{font-size:18px;font-weight:800;margin-bottom:8px;letter-spacing:0.02em}.hiw-card p{font-size:18px;color:var(--gray);line-height:1.6}.hiw-connector{display:flex;align-items:center;padding:0 16px;margin-top:18px;flex-shrink:0}.section{padding:80px 32px}.section-alt{background:var(--lg)}.container{max-width:1200px;margin:0 auto}.sec-title{text-align:center;margin-bottom:52px}.sec-title h2{font-size:clamp(28px,4vw,50px);font-weight:900;letter-spacing:0.01em;background:var(--y);padding:4px 14px;border-radius:6px;display:inline}.sec-title p{font-size:18px;color:var(--gray);margin-top:16px}.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.svc-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 18px;cursor:pointer;text-align:center;transition:border-color .2s,box-shadow .2s,transform .15s}.svc-card:hover{border-color:var(--dark);box-shadow:0 6px 24px rgba(0,0,0,.09);transform:translateY(-3px)}.svc-icon{width:52px;height:52px;background:var(--lg);border:1.5px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.svc-card h3{font-size:18px;font-weight:700;margin-bottom:6px}.svc-card p{font-size:18px;color:var(--gray);line-height:1.5}.areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.area-tile{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .2s}.area-tile:hover{border-color:var(--dark)}.area-tile h3{font-size:18px;font-weight:600}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px;cursor:pointer;transition:box-shadow .2s,transform .15s}.blog-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.09);transform:translateY(-3px)}.btag{background:var(--y);color:var(--dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:4px;display:inline-block;margin-bottom:12px}.blog-card h3{font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.4}.blog-card p{font-size:18px;color:var(--gray);line-height:1.6}.blog-more{font-size:18px;font-weight:700;margin-top:14px;display:flex;align-items:center;gap:5px}.cta-band{background:var(--y);padding:72px 32px;text-align:center;border-top:2px solid var(--dark);border-bottom:2px solid var(--dark)}.cta-band h2{font-size:clamp(28px,5vw,58px);font-weight:900;letter-spacing:0.01em;text-transform:uppercase;margin-bottom:12px}.cta-band p{font-size:18px;opacity:.7;margin-bottom:32px}.btn-dark{background:var(--dark);color:#fff;padding:16px 36px;border-radius:10px;font-weight:900;font-size:18px;border:2px solid var(--dark);cursor:pointer;display:inline-flex;align-items:center;gap:10px;letter-spacing:0.04em}.btn-dark:hover{opacity:.82}.btn-yl{background:var(--y);color:var(--dark);padding:13px 28px;border-radius:10px;font-weight:800;font-size:18px;border:2px solid var(--dark);cursor:pointer;display:inline-flex;align-items:center;gap:8px;letter-spacing:0.04em}.btn-yl:hover{background:var(--yd)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-box{text-align:center;padding:36px 20px;background:#fff;border:1.5px solid var(--border);border-radius:16px}.stat-n{font-size:52px;font-weight:900;letter-spacing:0.01em;line-height:1}.stat-n span{color:var(--y);-webkit-text-stroke:1.5px var(--dark)}.stat-l{font-size:16px;color:var(--gray);margin-top:6px}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feat{padding:28px;background:#fff;border:1.5px solid var(--border);border-radius:16px;display:flex;gap:16px;align-items:flex-start}.feat-ic{width:52px;height:52px;background:var(--y);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--dark)}.feat-txt h3{font-size:18px;font-weight:800;margin-bottom:5px}.feat-txt p{font-size:18px;color:var(--gray);line-height:1.6}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px}.rev-stars{font-size:18px;margin-bottom:10px}.review p{font-size:18px;color:#333;line-height:1.7;margin-bottom:14px;font-style:italic}.rev-name{font-size:16px;font-weight:700}.float-cta{position:fixed;bottom:28px;right:28px;z-index:300;background:var(--y);width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.22);border:3px solid var(--dark)}.float-cta:hover{transform:scale(1.06)}.float-cta span{font-size:9.5px;font-weight:900;text-align:center;line-height:1.2;margin-top:3px;text-transform:uppercase}.page-hero{background:var(--dark);color:#fff;padding:60px 32px}.page-hero-inner{max-width:1200px;margin:0 auto}.ptag{display:inline-block;background:var(--y);color:var(--dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;padding:4px 12px;border-radius:4px;margin-bottom:16px}.page-hero h1{font-size:clamp(26px,4.5vw,50px);font-weight:900;letter-spacing:0.01em;line-height:1.1;margin-bottom:12px}.page-hero p{font-size:18px;color:#aaa;max-width:520px}.bc{background:var(--lg);border-bottom:1px solid var(--border);padding:12px 32px}.bc-inner{max-width:1200px;margin:0 auto;font-size:16px;color:var(--gray);display:flex;gap:8px;align-items:center}.bc-inner a{color:var(--gray);cursor:pointer}.bc-inner a:hover{color:var(--dark)}.detail-grid{display:block;max-width:860px;margin:0 auto}.prose h2{font-size:26px;font-weight:800;margin:28px 0 10px;letter-spacing:0.02em}.prose h2:first-child{margin-top:0}.prose p{font-size:18px;color:#444;line-height:1.8;margin-bottom:14px}.check-list{list-style:none;margin:10px 0 14px}.check-list li{font-size:18px;color:#444;margin-bottom:8px;line-height:1.6;display:flex;align-items:center;gap:10px}.sb-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px;margin-bottom:14px}.sb-card h3{font-size:18px;font-weight:800;margin-bottom:14px;letter-spacing:0.02em}.ct-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:18px}.ct-row:last-child{border-bottom:none}.ct-ic{width:36px;height:36px;background:var(--y);border-radius:8px;border:1.5px solid var(--dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ol-item{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:18px;font-weight:500;cursor:pointer}.ol-item:last-child{border-bottom:none}.ol-item:hover{opacity:.6}.ol-arrow{font-size:18px;color:var(--gray)}.elfsight-form-wrap{max-width:580px;margin:0 auto;min-height:200px}.form-sub{background:var(--y);color:var(--dark);border:2px solid var(--dark);padding:14px;border-radius:10px;font-size:18px;font-weight:900;cursor:pointer;width:100%;letter-spacing:0.04em}.form-sub:hover{background:var(--yd)}footer{background:#fff;border-top:1px solid var(--border);padding:56px 32px 28px}.foot-inner{max-width:1200px;margin:0 auto;display:block;margin-bottom:40px}.foot-logo{font-size:20px;font-weight:900;letter-spacing:0.02em;margin-bottom:12px}.foot-logo em{background:var(--y);font-style:normal;padding:1px 5px;border-radius:4px}.foot-brand p{font-size:18px;color:var(--gray);line-height:1.7}.foot-col h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin-bottom:14px}.foot-col ul{list-style:none}.foot-col li{margin-bottom:8px}.foot-col a{font-size:18px;color:var(--dark);cursor:pointer;font-weight:500}.foot-col a:hover{opacity:.6}.foot-bot{border-top:1px solid var(--border);padding-top:20px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;font-size:16px;color:var(--gray);flex-wrap:wrap;gap:8px}.reviews-widget{max-width:1000px;margin:0 auto;min-height:200px}.bullet-list{list-style:none;margin:12px 0 20px}.bullet-list li{font-size:18px;color:#444;margin-bottom:10px;line-height:1.7;padding-left:28px;position:relative}.bullet-list li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;background:var(--y);border:2.5px solid var(--dark);border-radius:50%}.faq-section{margin:12px 0 20px}.faq-item{border:1.5px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden}.faq-q{padding:14px 18px;font-size:18px;font-weight:700;color:var(--dark);background:var(--lg);cursor:pointer}.faq-a{padding:14px 18px;font-size:18px;color:#444;line-height:1.75;border-top:1px solid var(--border)}.page{display:none}.page.active{display:block;animation:fu .2s ease}@keyframes fu{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:768px){.nav-links{display:none}.mobile-menu-btn{display:flex}.nav-inner{padding:0 16px;height:90px}.nav-btn-mobile{flex:1!important;margin:0 30px!important;padding:16px!important;font-size:16px!important;font-weight:900!important;white-space:nowrap!important;text-align:center!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;}.mobile-cta-bar{display:block}.hero{padding:0;min-height:100vh}.hero-inner{padding:40px 16px}h1.hero-h1,.hero-h1{font-size:clamp(44px,12vw,72px);letter-spacing:0.01em}.trust-bar{padding:14px 16px}.trust-inner{gap:10px;justify-content:flex-start}.ti{font-size:11px}.hiw-connector{display:none}.hiw-grid{gap:40px;padding:0}.hiw-card{max-width:100%}.section{padding:48px 16px}.svc-grid{grid-template-columns:1fr 1fr;gap:10px}.areas-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr;gap:12px}.feat-grid{grid-template-columns:1fr;gap:14px}.blog-grid{grid-template-columns:1fr;gap:14px}.reviews-grid{grid-template-columns:1fr;gap:14px}.cta-band{padding:48px 16px}.detail-grid{grid-template-columns:1fr;gap:28px}.page-hero{padding:40px 16px}.bc{padding:10px 16px}.sec-title{margin-bottom:32px}footer{padding:40px 16px 90px}.foot-inner{grid-template-columns:1fr;gap:28px}.foot-bot{flex-direction:column;gap:4px}}@media(max-width:400px){.svc-grid{grid-template-columns:1fr}}.proc-list{list-style:none;margin:10px 0 14px;counter-reset:none}.proc-li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:18px;color:#444}.proc-li:last-child{border-bottom:none}.proc-num{width:28px;height:28px;background:var(--y);border:2px solid var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex-shrink:0;margin-top:1px}.prose h2{font-size:24px;font-weight:800;color:var(--dark);margin:28px 0 12px;letter-spacing:0.02em;padding-bottom:8px;border-bottom:2px solid var(--y)}.prose h2:first-of-type{margin-top:16px}.area-img{width:320px;max-width:40%;height:220px;object-fit:cover;border-radius:14px;margin:0 0 20px 24px;float:right}.page-hero-callout{display:inline-block;background:#111;color:#fff;font-weight:800;font-size:32px;padding:14px 28px;border-radius:8px;margin-top:16px;letter-spacing:0.01em;cursor:pointer;text-decoration:none}.service-img{width:320px;max-width:40%;height:220px;object-fit:cover;border-radius:14px;margin:0 0 20px 24px;float:right}
.svc-card{display:block;text-decoration:none;color:inherit}

a.blog-card{display:block;text-decoration:none;color:inherit}

a.area-tile{display:block;text-decoration:none;color:inherit}

a.ol-item{display:flex;text-decoration:none;color:inherit}

.sb-links a{padding:14px 18px;font-size:18px;color:#444;line-height:1.75;border-top:1px solid var(--border);display:block;text-decoration:none}

.form-sub{display:block;text-align:center;text-decoration:none;box-sizing:border-box;margin-top:12px}

.service-img{width:340px;height:240px;max-width:38%;object-fit:cover;border-radius:12px;float:right;margin:0 0 20px 24px}

.area-img{width:340px;height:240px;max-width:38%;object-fit:cover;border-radius:12px;float:right;margin:0 0 20px 24px}

.prose::after{content:"";display:table;clear:both}

.content-img{width:100%;max-height:320px;object-fit:cover;border-radius:12px;margin:24px 0;display:block}

/* Mobile header call button */
.mob-call-btn{display:none;background:var(--y);color:var(--dark);padding:8px 12px;border-radius:8px;font-weight:900;font-size:18px;border:2px solid #111;text-decoration:none;align-items:center;gap:6px;white-space:nowrap}
@media(max-width:768px){.mob-call-btn{display:inline-flex}}
.logo-br{display:none}@media(max-width:768px){.logo-br{display:block}}.logo-hillcrest{display:inline}
.logo-icon{display:none;line-height:0}
@media(max-width:768px){
  .logo-txt{display:none!important}
  .logo-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:none;border:none}
}

@media(min-width:769px){
  
  .hero-inner{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}
}

.hero-form-desktop{display:block;background:#fff;border-radius:16px;padding:20px;margin-top:24px}
@media(min-width:769px){
  .hero-form-desktop{width:380px;flex-shrink:0;margin-top:0;padding:24px}
  .hero-inner{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding:80px 32px!important;box-sizing:border-box!important}
}
@media(max-width:768px){
  .page-hero-callout{font-size:20px!important;padding:10px 16px!important;}
  .hero-sub{font-size:20px!important;padding:10px 16px!important;}
}.logo-hillcrest{color:var(--dark)}









/* ── inner-page video hero ─────────────────────── */
.hero--page{min-height:0}
.hero--page .hero-inner{padding:62px 32px}
.hero--page .hero-h1{font-size:clamp(32px,4.4vw,58px);line-height:1.02;margin-bottom:14px;text-transform:none}
.hero--page .ptag{margin-bottom:14px}
.hero-lede{color:#fff;font-size:19px;line-height:1.65;max-width:520px;margin-bottom:22px;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hero--page .page-hero-callout{margin-top:0}
@media(max-width:768px){
  .hero--page .hero-inner{padding:34px 16px 40px}
  .hero--page .hero-h1{font-size:clamp(28px,7.4vw,40px)}
  .hero-lede{font-size:17px;margin-bottom:18px}
}

/* ── sticky bar + WhatsApp float ───────────────── */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:9997;background:var(--dark);padding:12px 16px calc(10px + env(safe-area-inset-bottom))}
.sticky-bar-inner{display:flex;gap:12px;align-items:stretch;justify-content:center;max-width:620px;margin:0 auto}
.sticky-bar-btn{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:16px;line-height:1.1;padding:13px 10px;border-radius:9px;text-decoration:none;white-space:nowrap}
.sticky-bar-btn--help{background:var(--g);color:#fff;border:2px solid var(--dark)}
.sticky-bar-btn--wa{background:#25D366;color:#fff;border:2px solid #25D366}
.wa-float{position:fixed;right:16px;bottom:132px;z-index:9999;background:#25D366;color:#fff;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);text-decoration:none}
@media(max-width:768px){
  .sticky-bar{padding:10px 12px calc(8px + env(safe-area-inset-bottom))}
  .sticky-bar-inner{gap:8px}
  .sticky-bar-btn{font-size:14px;padding:12px 6px;letter-spacing:0}
  .wa-float{width:50px;height:50px;bottom:124px;right:12px}
  .wa-float svg{width:26px;height:26px}
}
@media(max-width:360px){.sticky-bar-btn{font-size:12.5px;padding:11px 4px}}
body{padding-bottom:112px}

/* ── green as third colour ─────────────────────── */
.nav-btn{background:var(--g);color:#fff!important;border:none!important;box-shadow:none}
.nav-btn:hover{background:var(--gd)}
.mob-cta{background:var(--g)}
.cta-band{background:var(--g);border-top-color:var(--dark);border-bottom-color:var(--dark)}
.form-sub{background:var(--g);border-color:var(--dark);color:var(--dark)}
.form-sub:hover{background:var(--gd)}
.btn-yl{background:var(--g)}
.btn-yl:hover{background:var(--gd)}
.feat-ic{background:var(--g)}
.svc-icon{background:var(--lg);border-color:var(--border)}
.hiw-num{background:var(--g)}
.page-hero-callout{background:var(--g);color:var(--dark)}
.call-under--light a{color:var(--g)}
.medaid-label{color:var(--dark)}
.dd-section{color:var(--dark)!important;opacity:.55}

/* ── image logo ────────────────────────────────── */
.logo{display:flex;align-items:center}
.logo-txt{padding:0;gap:0}
.logo-txt img{height:70px;width:auto;display:block}
.logo-icon img{height:44px;width:auto;display:block}
.foot-logo img{height:78px;width:auto;display:block;margin-bottom:14px}
@media(max-width:768px){
  .logo-icon{width:auto!important;height:auto!important}
  .logo-icon img{height:46px}
  .foot-logo img{height:62px}
}

/* ── call-under CTA line ───────────────────────── */
.call-under{display:block;margin-top:14px;font-size:17px;font-weight:600;line-height:1.4}
.call-under a{font-weight:900;text-decoration:underline;white-space:nowrap}
.call-under--dark,.call-under--dark a{color:var(--dark)}
.call-under--light{color:rgba(255,255,255,.82)}
.call-under--light a{color:#fff}
.call-under--sticky{margin-top:9px;font-size:13px;text-align:center;width:100%;color:rgba(255,255,255,.75)}
.call-under--sticky a{color:#fff;font-size:14px}
@media(max-width:768px){.call-under{font-size:15px}}

/* ── medical aid strip ─────────────────────────── */
.medaid{background:#fff;border-bottom:1px solid var(--border);padding:26px 32px}
.medaid-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}
.medaid-label{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--gray);white-space:nowrap}
.medaid-logos{display:flex;align-items:center;gap:40px;flex-wrap:wrap;justify-content:center}
.medaid-logos img{height:42px;width:auto;display:block;opacity:.88}
.medaid-note{max-width:1100px;margin:14px auto 0;text-align:center;font-size:13px;color:var(--gray);line-height:1.6}
@media(max-width:768px){
  .medaid{padding:20px 16px}
  .medaid-inner{gap:16px}
  .medaid-logos{gap:26px}
  .medaid-logos img{height:32px}
  .medaid-label{font-size:12px;text-align:center;white-space:normal}
}

/* ── hero video ────────────────────────────────── */
.hero::before{display:none}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:0}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(18,26,58,.93) 0%,rgba(18,26,58,.80) 32%,rgba(18,26,58,.50) 58%,rgba(18,26,58,.34) 100%)}
.hero .hero-inner{position:relative;z-index:2}
@media(max-width:768px){
  .hero-vid{object-position:58% center}
  .hero-scrim{background:linear-gradient(180deg,rgba(18,26,58,.86) 0%,rgba(18,26,58,.72) 45%,rgba(18,26,58,.90) 100%)}
}
@media(prefers-reduced-motion:reduce){
  .hero-vid{display:none}
  .hero{background:url("images/hero-poster.jpg") center/cover no-repeat}
}

/* ── secondary green accent ────────────────────── */
.sec-title h2{background:var(--g)}
.btag,.ptag{background:var(--g)}
.hiw-num{background:var(--g)}
.bullet-list li::before{background:var(--g)}
.check-list li svg{color:var(--g)}
.stat-n span{color:var(--g)}
.fund-box{border-left-color:var(--g)}
.prose h2{border-bottom-color:var(--g)}
.pill::before{background:var(--g)}
.helpline-bar a{color:var(--g)}

/* ── rehab additions ───────────────────────────── */
.helpline-bar{background:var(--dark);color:#fff;padding:16px 32px;text-align:center;font-size:17px;line-height:1.6}
.helpline-bar a{color:var(--y);font-weight:800;text-decoration:underline}
.pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pill{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:15px 18px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px}
.pill::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--y);border:2px solid var(--dark);flex-shrink:0}
.fund-box{background:#fff;border:1.5px solid var(--border);border-left:5px solid var(--y);border-radius:14px;padding:26px 28px;margin:0 auto;max-width:860px}
.fund-box h3{font-size:21px;font-weight:800;margin-bottom:10px}
.fund-box p{font-size:17px;color:var(--gray);line-height:1.75;margin-bottom:10px}
.note{font-size:15px;color:var(--gray);line-height:1.7;max-width:860px;margin:24px auto 0;text-align:center}
.rehab-form label{display:block;font-size:15px;font-weight:700;margin:14px 0 6px}
.rehab-form input,.rehab-form select,.rehab-form textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:16px;font-family:inherit;background:#fff;color:var(--dark)}
.rehab-form textarea{min-height:96px;resize:vertical}
.rehab-form .consent{font-size:14px;color:var(--gray);margin-top:14px;line-height:1.6}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
a:focus-visible,button:focus-visible{outline:3px solid var(--y);outline-offset:2px}

/* ── final overrides (must load last) ──────────── */

/* white text on every blue-background element */
.sec-title h2{color:#fff}
.ptag,.btag,.hiw-badge{color:#fff}
.hiw-num,.proc-num{color:#fff;border-color:#fff}
.btn-yl,.mob-cta,.page-hero-callout{color:#fff;border-color:transparent}
.form-sub{color:#fff;border-color:transparent}
/* CTA bands: light panel instead of a solid blue slab */
.cta-band{background:var(--lg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-band h2{color:var(--dark)}
.cta-band p{color:var(--gray);opacity:1}
.cta-band .btn-dark{background:var(--y);color:#fff;border:none}
.cta-band .btn-dark:hover{background:var(--yd);opacity:1}
.cta-band .btn-dark svg *{stroke:#fff}
.cta-band .call-under--dark{color:var(--gray)}
.cta-band .call-under--dark a{color:var(--dark)}
.feat-ic svg *,.ct-ic svg *{stroke:#fff}
.feat-ic svg [fill="#1D2A62"],.ct-ic svg [fill="#1D2A62"]{fill:#fff}
.feat-ic,.ct-ic{border-color:transparent}

/* lighter sticky bar */
.sticky-bar{background:#fff;border-top:1.5px solid var(--border);box-shadow:0 -4px 20px rgba(29,42,98,.07)}
.sticky-bar-btn--help{border:none}
.sticky-bar-btn--wa{border:none}
.call-under--sticky{color:var(--gray)}
.call-under--sticky a{color:var(--dark)}

.pill-grid.pill-grid--centre{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px}
.pill-grid.pill-grid--centre .pill{flex:0 1 auto}
@media(max-width:768px){
  .pill-grid.pill-grid--centre{flex-direction:column}
  .pill-grid.pill-grid--centre .pill{width:100%}
}
@media(max-width:768px){
  .foot-grid{grid-template-columns:1fr!important;gap:28px!important}
  .contact-grid{grid-template-columns:1fr!important;gap:20px!important}
  .pill-grid{grid-template-columns:1fr!important}
  .hero-form-desktop{margin-top:28px}
}


/* ── Johannesburg build: layout additions ─────────── */
/* Mega-menus: too wide to centre on their toggle without running off screen,
   so they are pinned to the viewport instead. Desktop only - below 769px the
   hamburger menu takes over. */
@media(min-width:769px){
  .dd-menu--wide{
    position:fixed;
    top:104px;
    left:50%;
    transform:translateX(-50%);
    width:min(860px, calc(100vw - 32px));
    min-width:0;
    max-height:calc(100vh - 128px);
    overflow-y:auto;
    padding:12px 8px;
    display:none;
    grid-template-columns:repeat(3, 1fr);
    column-gap:10px;
  }
  .dd.open .dd-menu--wide{display:grid;grid-template-columns:repeat(3, 1fr)}
  .dd-menu--wide .dd-section{grid-column:1/-1;padding-top:12px}
  .dd-menu--wide .dd-item{font-size:15.5px;padding:7px 12px;white-space:normal;line-height:1.35}
}
@media(min-width:769px) and (max-width:1180px){
  .dd-menu--wide{top:92px;width:min(600px, calc(100vw - 24px))}
  .dd.open .dd-menu--wide{grid-template-columns:repeat(2, 1fr)}
}
.dd-menu--areas{min-width:600px;max-width:calc(100vw - 48px);padding:10px 6px}
.dd-menu--areas .dd-item{font-size:16.5px;padding:8px 12px}
a.pill--link{text-decoration:none;color:inherit;transition:border-color .2s}
/* Elfsight form embed: reserve height so the layout does not collapse or shift
   while the widget loads (and degrades sanely if it fails to load) */
[class^="elfsight-app-"]{display:block;min-height:360px}
.rehab-form [class^="elfsight-app-"]{min-height:400px}
#quotes-modal-body [class^="elfsight-app-"]{min-height:340px}
.rehab-form{display:flex;flex-direction:column}
@media(max-width:768px){[class^="elfsight-app-"]{min-height:320px}}

.foot-disclaimer{font-size:14px;line-height:1.65;color:var(--gray);border-top:1px solid var(--border);padding-top:20px;margin:0 0 6px;max-width:900px}

.tm-list{column-count:2;column-gap:22px;max-width:1000px;margin:0 auto}
.tm-card{break-inside:avoid;background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:26px;margin:0 0 22px}
.tm-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.tm-photo{flex-shrink:0;width:88px;height:88px;border-radius:50%;overflow:hidden;background:#eef2f7}
.tm-photo img,.tm-photo svg{width:88px;height:88px;object-fit:cover;border-radius:50%;display:block}
.tm-card figcaption{display:flex;flex-direction:column;gap:3px}
.tm-name{font-weight:900;font-size:19px;color:var(--dark);line-height:1.25}
.tm-meta{font-size:14px;color:var(--gray);line-height:1.45}
.tm-card blockquote{margin:0;border-left:3px solid var(--g);padding-left:18px}
.tm-card blockquote p{font-size:16.5px;line-height:1.78;color:var(--gray);margin:0 0 12px}
.tm-card blockquote p:last-child{margin-bottom:0}
@media(max-width:900px){.tm-list{column-count:1}}

.foot-areas{border-top:1px solid var(--border);padding-top:22px;margin-bottom:22px}
.foot-areas h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin-bottom:12px}
.foot-areas-list{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-areas-list a{font-size:15px;color:var(--dark);font-weight:500;text-decoration:none}
.foot-areas-list a:hover{opacity:.6}

/* nav now carries three dropdowns - tighten so it fits without overlap */
@media(min-width:769px){
  .nav-inner{gap:18px}
  .nav-links{gap:18px;flex-wrap:nowrap}
  .nav-links a,.dd-toggle{font-size:16px;white-space:nowrap}
  .logo{flex-shrink:0}
  .logo-txt img{height:58px}
  .nav-btn-mobile{padding:13px 22px!important;font-size:15.5px!important;white-space:nowrap;flex-shrink:0}
}
@media(min-width:769px) and (max-width:1180px){
  .nav-inner{padding:0 18px}
  .nav-links{gap:13px}
  .nav-links a,.dd-toggle{font-size:15px}
  .logo-txt img{height:48px}
  .nav-btn-mobile{padding:11px 15px!important;font-size:14px!important}
}
a.pill--link:hover{border-color:var(--dark)}
.dd-section{padding-top:10px}
.foot-grid--8{display:grid;grid-template-columns:1.2fr repeat(6,1fr);gap:20px;margin-bottom:36px}
.foot-grid--8 .foot-col a{font-size:15px}
@media(max-width:1240px){.foot-grid--8{grid-template-columns:1fr 1fr 1fr 1fr}}
.foot-col a{font-size:16.5px}
@media(max-width:900px){.foot-grid--8{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.foot-grid--8{grid-template-columns:1fr!important;gap:26px!important}}
.cta-inline{background:var(--lg);border-left:5px solid var(--g);margin:26px 0}
.cta-inline h3{font-size:20px}
.prose h3{font-size:19px;font-weight:800;margin:20px 0 8px;letter-spacing:.01em}
.prose .pill-grid{margin:14px 0 8px}
.prose .note{text-align:left;margin:10px 0 18px}
.prose .fund-box{margin:18px 0}
.check-list li{align-items:flex-start}
.check-list li::before{content:"";width:13px;height:13px;margin-top:8px;border-radius:3px;background:var(--g);border:2px solid var(--dark);flex-shrink:0}
.eeat-box{background:#fff;border:1.5px solid var(--border);border-left:5px solid var(--dark);border-radius:14px;padding:22px 24px;margin:28px 0}
.eeat-box h3{font-size:19px;font-weight:800;margin-bottom:12px}
.eeat-box ul{list-style:none;margin:0 0 12px}
.eeat-box li{font-size:16px;color:var(--gray);line-height:1.7;margin-bottom:5px}
.eeat-box p{font-size:15px;color:var(--gray);line-height:1.7;margin:0}
.medaid-inner{gap:20px}
@media(max-width:768px){.svc-grid{grid-template-columns:1fr 1fr}}

/* ── Johannesburg build: Areas mega-menu ────────────────
   34 areas in 6 groups is too tall for the 2-column dropdown, so the Areas
   menu now uses the same pinned, 3-column treatment as the Services and
   Treatment menus. Desktop only; below 769px the hamburger menu takes over.
   Note the specificity: `.dd.open .dd-menu` sets 2 columns, so the column
   rules below must be written as `.dd.open .dd-menu--areas` to outrank it. */
@media(min-width:769px){
  .dd-menu--areas{
    position:fixed;
    top:104px;
    left:50%;
    transform:translateX(-50%);
    width:min(900px, calc(100vw - 32px));
    min-width:0;
    max-height:calc(100vh - 128px);
    overflow-y:auto;
    padding:12px 8px;
    display:none;
    column-gap:10px;
  }
  .dd.open .dd-menu--areas{display:grid;grid-template-columns:repeat(3, 1fr)}
  .dd-menu--areas .dd-section{grid-column:1/-1;padding-top:12px}
  .dd-menu--areas .dd-item{font-size:15.5px;padding:7px 12px;white-space:normal;line-height:1.35}
}
@media(min-width:769px) and (max-width:1180px){
  .dd-menu--areas{top:92px;width:min(620px, calc(100vw - 24px))}
  .dd.open .dd-menu--areas{grid-template-columns:repeat(2, 1fr)}
}


/* ── Homepage hero: keep the H1 from crowding the form ─────────────
   "JOHANNESBURG" is 12 uppercase characters. At the previous max of
   100px it needed more width than the text column has once the 380px
   form card is placed beside it, which pushed the form out of view on
   desktop. Sized here to the space actually available. Scoped to the
   homepage hero only - inner pages use .hero--page and are untouched. */
.hero:not(.hero--page) .hero-inner > div:first-child{min-width:0}
@media(min-width:769px){
  .hero:not(.hero--page) .hero-h1{
    font-size:clamp(34px, calc(6.2vw - 12px), 76px);
    line-height:1;
    margin-bottom:20px;
  }
  .hero:not(.hero--page) .hero-sub{
    font-size:clamp(17px, 1.9vw, 26px);
    padding:11px 20px;
    margin-bottom:18px;
  }
  .hero:not(.hero--page) .hero-inner > div:first-child p{
    font-size:17px;
    max-width:460px;
  }
}
@media(min-width:769px) and (max-width:900px){
  /* narrowest desktop range: the 380px form leaves too little for the H1,
     so the card gives back some width rather than the title breaking. */
  .hero:not(.hero--page) .hero-inner{padding:64px 24px!important}
  .hero:not(.hero--page) .hero-form-desktop{width:320px;padding:18px}
  .hero:not(.hero--page) .hero-h1{font-size:clamp(34px, 4.9vw, 44px)}
}
