/* =========================================================
   Aggarwal Packers and Movers — main stylesheet
   Brand: red #D71920 · yellow #FFD21F · navy #0E1B2C
   ========================================================= */
:root{
  --red:#D71920; --red-dark:#A50F15; --yellow:#FFD21F; --yellow-dark:#F2B705;
  --navy:#0E1B2C; --navy-2:#16263B; --ink:#1B2433; --muted:#5E6878;
  --line:#E8EBF0; --soft:#F6F7F9; --white:#fff;
  --radius:14px; --shadow:0 10px 30px rgba(14,27,44,.08); --shadow-lg:0 20px 50px rgba(14,27,44,.14);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --head:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;
  --script:'Kaushan Script','Brush Script MT',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:#fff;font-size:15px;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--head);font-weight:700;color:var(--navy);line-height:1.15;letter-spacing:-.01em}
a{color:var(--red);text-decoration:none;transition:.25s}
a:hover{color:var(--red-dark)}
img{max-width:100%;display:block}
.text-red{color:var(--red)!important}.text-yellow{color:var(--yellow)!important}.text-navy{color:var(--navy)!important}
.bg-soft{background:var(--soft)}.bg-navy{background:var(--navy)}
.script{font-family:var(--script);font-weight:400}
section{position:relative}
.section{padding:80px 0}
.section-sm{padding:56px 0}

/* ---------- buttons ---------- */
.btn{font-weight:600;border-radius:8px;padding:.8rem 1.5rem;font-size:.92rem;transition:.25s;display:inline-flex;align-items:center;gap:.5rem;justify-content:center}
.btn-red{background:var(--red);color:#fff;border:2px solid var(--red)}
.btn-red:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(215,25,32,.3)}
.btn-yellow{background:var(--yellow);color:var(--navy);border:2px solid var(--yellow)}
.btn-yellow:hover{background:var(--yellow-dark);border-color:var(--yellow-dark);color:var(--navy);transform:translateY(-2px)}
.btn-outline-red{border:2px solid var(--red);color:var(--red);background:#fff}
.btn-outline-red:hover{background:var(--red);color:#fff}
.btn-outline-dark{border:2px solid var(--navy);color:var(--navy);background:#fff}
.btn-outline-dark:hover{background:var(--navy);color:#fff}
.btn-sm{padding:.5rem 1rem;font-size:.82rem}
.link-arrow{font-weight:600;font-size:.85rem;color:var(--red);display:inline-flex;align-items:center;gap:.35rem}
.link-arrow i{transition:.25s}.link-arrow:hover i{transform:translateX(4px)}

/* ---------- headings ---------- */
.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:.5rem;display:inline-block}
.kicker.red{color:var(--red)}
.sec-title{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:.6rem}
.sec-title span{color:var(--red)}
.sec-sub{color:var(--muted);max-width:640px}

/* ---------- top bar ---------- */
.topbar{background:var(--red);color:#fff;font-size:.8rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}
.topbar .tb-items{display:flex;gap:1.4rem;align-items:center}
.topbar .tb-items span{display:flex;align-items:center;gap:.4rem;opacity:.95}
.topbar .btn{padding:.35rem .9rem;font-size:.78rem;border-radius:6px}
.topbar strong{font-weight:600}

/* ---------- header ---------- */
.site-header{background:#fff;position:sticky;top:0;z-index:1030;transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(14,27,44,.1)}
.site-header .navbar{padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand svg{width:58px;height:48px;flex:none}
.brand-text{line-height:1}
.brand-text .b1{font-size:1.45rem;font-weight:800;color:var(--navy);letter-spacing:.02em;display:block}
.brand-text .b2{font-size:.68rem;font-weight:700;color:var(--red);letter-spacing:.06em;display:block;margin-top:2px}
.brand-text .b3{font-size:.58rem;color:var(--muted);display:block;margin-top:2px;letter-spacing:.08em}
.site-header .nav-link{font-weight:600;font-size:.9rem;color:var(--navy);padding:.5rem .95rem!important;position:relative}
.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--red)}
.site-header .nav-link.active::after{content:"";position:absolute;left:.95rem;right:.95rem;bottom:-2px;height:3px;background:var(--red);border-radius:3px}
.site-header .dropdown-menu{border:0;border-radius:12px;box-shadow:var(--shadow-lg);padding:.6rem;min-width:260px;border-top:3px solid var(--red)}
.site-header .dropdown-item{font-size:.88rem;border-radius:8px;padding:.55rem .8rem;display:flex;gap:.6rem;align-items:center}
.site-header .dropdown-item i{color:var(--red)}
.site-header .dropdown-item:hover{background:var(--soft);color:var(--red)}
.mega{min-width:560px!important}
.mega .mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 .2rem}
.mega .dropdown-item{font-size:.82rem;padding:.35rem .6rem}
.talk{display:flex;align-items:center;gap:.6rem;color:var(--navy);font-weight:600;font-size:.88rem}
.talk .ic{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1rem;box-shadow:0 0 0 6px rgba(215,25,32,.12)}
.talk small{display:block;font-size:.7rem;color:var(--muted);font-weight:500}
@media (min-width:992px){.site-header .dropdown:hover>.dropdown-menu{display:block;margin-top:0}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#fff;min-height:620px}
.hero-bg{position:absolute;inset:0 0 0 38%;background-size:cover;background-position:center}
.hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.85) 18%,rgba(255,255,255,0) 50%)}
.hero .container{position:relative;z-index:2}
.hero-copy{padding:70px 0 60px;max-width:640px}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.3rem);font-weight:800;letter-spacing:-.01em;margin-bottom:1rem}
.hero h1 .l2{color:var(--red);display:block}
.hero p.lead{font-size:1.02rem;color:#3c4656;margin-bottom:1.6rem}
.hero-feats{display:flex;gap:1.6rem;margin-bottom:2rem;flex-wrap:wrap}
.hero-feat{text-align:center;width:88px}
.hero-feat .ic{width:52px;height:52px;margin:0 auto .45rem;border-radius:50%;background:#fff;border:2px solid rgba(215,25,32,.15);display:grid;place-items:center;color:var(--red);font-size:1.35rem;box-shadow:var(--shadow)}
.hero-feat span{font-size:.78rem;font-weight:600;color:var(--navy);line-height:1.25;display:block}
.hero-script{position:absolute;right:4%;top:22px;z-index:3;font-family:var(--script);color:var(--navy);font-size:1.55rem;line-height:1.15;transform:rotate(-6deg);text-align:right}
.hero-script::after{content:"";display:block;height:4px;width:70%;margin:.3rem 0 0 auto;background:var(--red);border-radius:4px;transform:rotate(-2deg)}

.quote-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:1.6rem;border-top:4px solid var(--red)}
.quote-card h3{font-size:1.2rem;margin-bottom:.2rem}
.quote-card p.small{color:var(--muted);margin-bottom:1rem}
.q-field{position:relative;margin-bottom:.7rem}
.q-field i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.9rem;pointer-events:none}
.q-field .form-control,.q-field .form-select{padding:.7rem .9rem .7rem 2.3rem;border-radius:8px;border:1px solid var(--line);font-size:.88rem}
.q-field textarea.form-control{padding-top:.7rem}
.q-field textarea+i,.q-field.ta i{top:1.3rem}
.form-control:focus,.form-select:focus{border-color:var(--red);box-shadow:0 0 0 .2rem rgba(215,25,32,.12)}
.secure-note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:.7rem}
.hero-form-wrap{position:relative;z-index:3;padding:60px 0}
@media (min-width:1200px){.hero-form-wrap{padding-top:150px}}

/* ---------- stats band ---------- */
.stats-band{background:var(--yellow);position:relative;overflow:hidden}
.stats-band .row{align-items:stretch}
.stat{display:flex;align-items:center;gap:.9rem;padding:1.6rem 0}
.stat .ic{width:56px;height:56px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.4rem;flex:none}
.stat b{display:block;font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1}
.stat span{font-size:.82rem;font-weight:600;color:var(--navy)}
.stats-cta{background:var(--red);color:#fff;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.8rem 1.4rem 3rem;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.stats-cta h3{color:#fff;margin:0;font-size:1.5rem}
.stats-cta i{font-size:3rem;color:var(--yellow)}
@media (min-width:992px){.stats-cta-col{margin-right:calc(-1 * (100vw - 100%) / 2)}}

/* ---------- service cards ---------- */
.svc-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;display:flex;flex-direction:column;transition:.3s;border:1px solid var(--line)}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.svc-card .img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9ecf1}
.svc-card .img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.svc-card:hover .img img{transform:scale(1.07)}
.svc-card .badge-ic{position:absolute;left:14px;bottom:-20px;width:44px;height:44px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.15rem;box-shadow:0 8px 18px rgba(215,25,32,.35);border:3px solid #fff}
.svc-card .body{padding:1.7rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.svc-card h3{font-size:1rem;margin-bottom:.4rem}
.svc-card p{font-size:.84rem;color:var(--muted);flex:1;margin-bottom:.8rem}

/* ---------- why choose ---------- */
.why{background:#fff;overflow:hidden}
.why-grid{display:grid;grid-template-columns:1fr;gap:0}
.why-left{background:var(--navy);color:#fff;padding:60px 40px;position:relative}
.why-left h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.2rem)}
.why-left p{color:#c9d2de}
.why-feats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.why-feat{background:#fff;padding:1.5rem 1rem;text-align:center;transition:.3s}
.why-feat:hover{background:#fff7f7}
.why-feat i{font-size:1.8rem;color:var(--red);display:block;margin-bottom:.5rem}
.why-feat span{font-size:.82rem;font-weight:600;color:var(--navy);line-height:1.35;display:block}
.why-mid{padding:40px 24px;display:flex;align-items:center}
.why-right{background:var(--red);position:relative;min-height:340px;overflow:hidden}
.why-right .quote{position:absolute;top:28px;left:28px;right:20px;z-index:2;color:#fff;font-family:var(--script);font-size:1.6rem;line-height:1.25;transform:rotate(-4deg)}
.why-right .quote i{color:var(--yellow);font-size:2.4rem;display:block}
.why-right img{position:absolute;bottom:0;left:0;right:0;height:58%;width:100%;object-fit:cover}
@media (min-width:992px){
  .why-grid{grid-template-columns:30% 1fr 24%}
  .why-left{clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);padding-right:70px}
  .why-feats{grid-template-columns:repeat(4,1fr)}
  .why-right{clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
  .why-right .quote{left:30%}
}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:1fr;gap:1.5rem}
.step{display:flex;gap:1rem;align-items:center;position:relative}
.step .ic{width:62px;height:62px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.5rem;flex:none;box-shadow:0 0 0 8px rgba(215,25,32,.1)}
.step .num{color:var(--red);font-weight:800;font-size:.85rem}
.step h4{font-size:1rem;margin:0}
.step p{font-size:.8rem;color:var(--muted);margin:0}
@media (min-width:992px){.steps{grid-template-columns:repeat(4,1fr)}
  .step:not(:last-child)::after{content:"\F138";font-family:bootstrap-icons;position:absolute;right:-6px;top:50%;transform:translateY(-50%);color:#b9c0cc;font-size:1.3rem}}

/* ---------- testimonials ---------- */
.testi{background:var(--soft)}
.t-card{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);height:100%;display:flex;flex-direction:column}
.t-card .stars{color:#F5A623;font-size:.9rem;margin-bottom:.6rem}
.t-card .q{font-size:2rem;color:var(--red);line-height:.6;font-family:Georgia,serif}
.t-card p{font-size:.88rem;color:#3c4656;flex:1}
.t-card .who{display:flex;align-items:center;gap:.7rem;margin-top:.6rem}
.t-card .av{width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700}
.t-card .who b{font-size:.86rem;display:block;color:var(--navy)}
.t-card .who small{font-size:.75rem;color:var(--muted)}
.story{position:relative;border-radius:var(--radius);overflow:hidden;min-height:340px;height:100%;background:#333}
.story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,27,44,.1),rgba(14,27,44,.75));display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:2rem;text-align:left}
.story h3{color:#fff;font-size:1.6rem;max-width:220px}
.story .play{display:flex;align-items:center;gap:.6rem;color:#fff;font-size:.85rem;margin-top:1rem;max-width:220px;width:100%}
.story .play i{width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-size:1.2rem}

/* ---------- banner + areas ---------- */
.banner{display:grid;grid-template-columns:1fr;overflow:hidden}
.banner-left{position:relative;min-height:300px;background:#dfe5ec}
.banner-left img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-left .ov{position:relative;z-index:2;padding:40px;margin-left:auto;max-width:360px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92) 25%);height:100%;display:flex;flex-direction:column;justify-content:center}
.banner-left h2{font-size:2rem;margin-bottom:.4rem}
.banner-left .ticks{display:flex;gap:.9rem;font-size:.8rem;font-weight:600;margin-bottom:1rem;flex-wrap:wrap}
.banner-left .ticks i{color:var(--red)}
.banner-right{background:var(--red);color:#fff;padding:40px}
.banner-right h3{color:#fff;font-size:1.35rem;margin-bottom:1.2rem}
.area-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.area-chips a{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.8rem;padding:.35rem .75rem;border-radius:30px;display:inline-flex;gap:.35rem;align-items:center}
.area-chips a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}
@media (min-width:992px){.banner{grid-template-columns:55% 45%}.banner-right{clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);padding-left:70px}}

/* ---------- blog ---------- */
.blog-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;transition:.3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.blog-card .img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e9ecf1}
.blog-card .img img{width:100%;height:100%;object-fit:cover}
.blog-card .tag{position:absolute;left:12px;bottom:12px;background:var(--red);color:#fff;font-size:.68rem;font-weight:700;padding:.25rem .6rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.blog-card .body{padding:1.1rem 1.1rem 1.3rem}
.blog-card h3{font-size:1rem;margin:0 0 .5rem}
.blog-card h3 a{color:var(--navy)}.blog-card h3 a:hover{color:var(--red)}
.blog-card p{font-size:.84rem;color:var(--muted);margin:0}
.help-box{background:var(--yellow);border-radius:var(--radius);padding:2rem 1.6rem;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}
.help-box i.big{font-size:2.8rem;color:var(--navy)}
.help-box h3{font-size:1.4rem;margin:.6rem 0 .4rem}
.help-box p{font-size:.86rem;color:#3c3620}

/* ---------- serve strip ---------- */
.serve{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.serve div{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--navy);font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}
.serve i{color:var(--red);font-size:1.4rem}
@media (min-width:768px){.serve{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1200px){.serve{grid-template-columns:repeat(6,1fr)}}

/* ---------- page hero (inner) ---------- */
.page-hero{position:relative;background:var(--navy);color:#fff;padding:80px 0 70px;overflow:hidden}
.page-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28}
.page-hero::after{content:"";position:absolute;right:0;top:0;bottom:0;width:30%;background:var(--red);clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);opacity:.95}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem);font-weight:800;max-width:760px}
.page-hero h1 span{color:var(--yellow)}
.page-hero p{color:#d3dae4;max-width:620px;font-size:1.02rem}
.crumbs{font-size:.82rem;margin-bottom:1rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--yellow)}.crumbs span{color:#aeb8c6}
@media (max-width:991px){.page-hero::after{display:none}}

/* ---------- inner content ---------- */
.prose h2{font-size:1.6rem;margin:1.8rem 0 .8rem}
.prose h3{font-size:1.2rem;margin:1.4rem 0 .6rem}
.prose p{color:#3c4656}
.check-list{list-style:none;padding:0;margin:0 0 1rem}
.check-list li{position:relative;padding-left:1.9rem;margin-bottom:.7rem;color:#3c4656}
.check-list li::before{content:"\F26A";font-family:bootstrap-icons;position:absolute;left:0;top:0;color:var(--red);font-size:1.1rem}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.info-card h4{font-size:1.05rem;margin-bottom:.9rem;display:flex;align-items:center;gap:.5rem}
.info-card h4 i{color:var(--red)}
.side-sticky{position:sticky;top:110px}
.landmark{display:inline-flex;align-items:center;gap:.4rem;background:var(--soft);border:1px solid var(--line);border-radius:30px;padding:.4rem .85rem;font-size:.82rem;margin:0 .4rem .5rem 0;color:var(--navy);font-weight:500}
.landmark i{color:var(--red)}
.mini-svc{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem;border:1px solid var(--line);border-radius:12px;background:#fff;height:100%;transition:.25s}
.mini-svc:hover{border-color:var(--red);box-shadow:var(--shadow)}
.mini-svc i{width:44px;height:44px;border-radius:10px;background:#fdecec;color:var(--red);display:grid;place-items:center;font-size:1.2rem;flex:none}
.mini-svc h4{font-size:.95rem;margin:0 0 .2rem}
.mini-svc p{font-size:.82rem;color:var(--muted);margin:0}
.accordion-button{font-weight:600;color:var(--navy);font-size:.95rem}
.accordion-button:not(.collapsed){background:#fff5f5;color:var(--red);box-shadow:none}
.accordion-button:focus{box-shadow:none}
.accordion-item{border:1px solid var(--line)!important;border-radius:10px!important;overflow:hidden;margin-bottom:.7rem}
.cta-strip{background:var(--red);color:#fff;border-radius:16px;padding:2.2rem;position:relative;overflow:hidden}
.cta-strip::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,210,31,.18)}
.cta-strip h3{color:#fff;margin:0 0 .3rem}
.cta-strip p{margin:0;color:#ffe3e3}

/* locations hub */
.zone-title{font-size:1.1rem;margin:2rem 0 1rem;display:flex;align-items:center;gap:.6rem}
.zone-title::before{content:"";width:6px;height:22px;background:var(--red);border-radius:3px}
.loc-card{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.95rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--navy);font-weight:600;font-size:.9rem;transition:.25s;height:100%}
.loc-card small{display:block;font-weight:400;color:var(--muted);font-size:.74rem}
.loc-card i{color:var(--red)}
.loc-card:hover{border-color:var(--red);color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.loc-search{max-width:460px}

/* about */
.value{padding:1.6rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line);height:100%}
.value i{font-size:1.8rem;color:var(--red)}
.value h4{font-size:1.05rem;margin:.7rem 0 .4rem}
.value p{font-size:.86rem;color:var(--muted);margin:0}
.img-stack{position:relative}
.img-stack .main{border-radius:18px;width:100%;height:auto;background:#e9ecf1;box-shadow:var(--shadow-lg)}
.img-stack .badge-box{position:absolute;left:-10px;bottom:-24px;background:var(--yellow);border-radius:14px;padding:1rem 1.3rem;box-shadow:var(--shadow-lg)}
.img-stack .badge-box b{font-size:1.8rem;color:var(--navy);display:block;line-height:1}
.img-stack .badge-box span{font-size:.8rem;font-weight:600;color:var(--navy)}

/* contact */
.contact-tile{display:flex;gap:1rem;align-items:flex-start;padding:1.3rem;border-radius:12px;background:#fff;border:1px solid var(--line);height:100%}
.contact-tile i{width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.2rem;flex:none}
.contact-tile h4{font-size:1rem;margin:0 0 .2rem}
.contact-tile p,.contact-tile a{font-size:.88rem;color:var(--muted);margin:0}
.map-wrap{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.map-wrap iframe{width:100%;height:380px;border:0;display:block}

/* article */
.article-img{border-radius:18px;width:100%;height:auto;background:#e9ecf1;margin-bottom:1.6rem;box-shadow:var(--shadow)}
.article-meta{font-size:.82rem;color:#aeb8c6}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:#b8c2d0;font-size:.88rem;padding-top:64px}
.site-footer h5{color:#fff;font-size:1rem;margin-bottom:1.1rem}
.site-footer a{color:#b8c2d0}
.site-footer a:hover{color:var(--yellow)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.55rem}
.site-footer .brand-text .b1{color:#fff}
.site-footer .brand-text .b3{color:#8b97a8}
.f-contact li{display:flex;gap:.7rem;align-items:flex-start}
.f-contact i{color:var(--red);font-size:1.05rem;margin-top:2px}
.socials{display:flex;gap:.6rem;margin-top:1.2rem}
.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1rem}
.socials a:nth-child(1){background:#1877F2}.socials a:nth-child(2){background:linear-gradient(45deg,#f09433,#dc2743,#bc1888)}
.socials a:nth-child(3){background:#FF0000}.socials a:nth-child(4){background:#0A66C2}
.socials a:hover{transform:translateY(-3px);color:#fff}
.newsletter{display:flex;margin-top:.8rem}
.newsletter input{flex:1;border:0;border-radius:8px 0 0 8px;padding:.7rem .9rem;font-size:.85rem;min-width:0}
.newsletter button{border:0;background:var(--red);color:#fff;padding:0 1rem;border-radius:0 8px 8px 0}
.f-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:26px;padding:20px 0;font-size:.8rem}
.f-bottom .links a{margin-left:1.2rem}
.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-size:1.2rem;box-shadow:var(--shadow-lg);z-index:1040;opacity:0;visibility:hidden;transition:.3s;border:0}
.to-top.show{opacity:1;visibility:visible}
.wa-float{position:fixed;left:22px;bottom:22px;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:1.6rem;box-shadow:0 10px 24px rgba(37,211,102,.4);z-index:1040}
.wa-float:hover{color:#fff;transform:scale(1.06)}

/* image fallback */
img.img-fail{opacity:0}

/* ---------- responsive ---------- */
@media (max-width:1199px){.hero-script{display:none}}
@media (max-width:991px){
  .topbar .tb-items{display:none}
  .hero{min-height:auto}
  .hero-bg{inset:0;opacity:.18}
  .hero-bg::before{display:none}
  .hero-copy{padding:48px 0 10px}
  .hero-form-wrap{padding:10px 0 48px}
  .stats-cta{clip-path:none;padding:1.4rem}
  .section{padding:60px 0}
  .navbar-collapse{padding:1rem 0}
  .site-header .nav-link.active::after{display:none}
  .mega{min-width:0!important}.mega .mega-grid{grid-template-columns:1fr 1fr}
  .why-left{padding:48px 24px}
  .banner-left .ov{max-width:none;background:rgba(255,255,255,.9)}
  .f-bottom .links a{margin:0 1rem 0 0}
}
@media (max-width:575px){
  .hero-feats{gap:.6rem}.hero-feat{width:72px}
  .why-feats{grid-template-columns:1fr 1fr}
  .topbar .container{justify-content:center}.topbar .tag{display:none}
}

/* =========================================================
   PREMIUM LAYER (v2)
   ========================================================= */
body{font-size:15.5px;-webkit-font-smoothing:antialiased}
.btn{font-family:var(--head);letter-spacing:.01em;border-radius:12px}
.btn-lg-p{padding:.95rem 1.8rem}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);box-shadow:0 6px 16px rgba(14,27,44,.06)}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-2px)}
.btn-ghost-light{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}
.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.btn-wa{background:#25D366;color:#fff;border:2px solid #25D366}.btn-wa:hover{background:#1ebe5a;color:#fff}
.kicker{font-family:var(--head);display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.14em}
.kicker.red{color:var(--red)}
.kicker.light{color:var(--yellow)}
.sec-title{font-weight:800}

/* uncropped media frame: image shown in full over a blurred copy of itself */
.media{position:relative;overflow:hidden;background:#eef1f5;isolation:isolate}
.media::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover no-repeat;filter:blur(22px) saturate(1.15);opacity:.6;transform:scale(1.1);z-index:0}
.media img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;transition:transform .6s ease}

/* ---------- header polish ---------- */
.site-header{backdrop-filter:saturate(1.4) blur(10px);background:rgba(255,255,255,.94)}
.burger{width:46px;height:46px;border-radius:12px;border:1.5px solid var(--line);background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.3s}
.burger span:nth-child(2){width:14px;margin-left:6px;background:var(--red)}
.burger:hover span{width:20px;margin:0}
.m-call{width:46px;height:46px;border-radius:12px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.05rem;box-shadow:0 8px 18px rgba(215,25,32,.3)}
.m-call:hover{color:#fff}

/* ---------- mobile off-canvas (right) ---------- */
.mnav.offcanvas{width:min(360px,88vw);border-left:0;background:#fff;box-shadow:-20px 0 60px rgba(14,27,44,.25)}
.offcanvas-backdrop.show{opacity:.55;backdrop-filter:blur(3px)}
.mnav-head{background:var(--navy);padding:1.1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}
.mnav-head::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(215,25,32,.35)}
.mnav-head .brand-text .b1{color:#fff}.mnav-head .brand-text .b3{color:#8b97a8}
.mnav-head .brand svg{width:48px;height:40px}
.mnav-close{position:relative;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:1rem}
.mnav-close:hover{background:var(--red)}
.mnav-body{padding:1.1rem 1.1rem 1.6rem;overflow-y:auto;flex:1}
.mnav-label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:.2rem .4rem .6rem}
.m-link{display:flex;align-items:center;gap:.8rem;width:100%;padding:.85rem .9rem;border-radius:12px;color:var(--navy);font-family:var(--head);font-weight:600;font-size:1rem;background:transparent;border:0;text-align:left;margin-bottom:.2rem;transition:.2s}
.m-link>i:first-child{width:36px;height:36px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--red);font-size:1rem;transition:.2s}
.m-link .bi-chevron-right,.m-link .m-caret{font-size:.8rem;color:#9aa3b2;transition:.25s}
.m-link:hover,.m-link.active{background:#fff4f4;color:var(--red)}
.m-link.active>i:first-child,.m-link:hover>i:first-child{background:var(--red);color:#fff}
.m-link:not(.collapsed) .m-caret{transform:rotate(180deg);color:var(--red)}
.m-sub{padding:.2rem 0 .5rem 3.4rem}
.m-sub a{display:flex;align-items:center;gap:.55rem;padding:.45rem .2rem;font-size:.88rem;color:#475264}
.m-sub a i{color:var(--red);font-size:.85rem}
.m-sub a:hover{color:var(--red)}
.m-sub .m-all{font-weight:700;color:var(--red)}
.m-cta{margin:1.2rem 0;padding:1rem;border-radius:16px;background:linear-gradient(135deg,var(--navy),#1d3350);display:grid;gap:.8rem}
.m-cta-call{display:flex;gap:.8rem;align-items:center;color:#fff}
.m-cta-call span{width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-size:1.1rem}
.m-cta-call small{display:block;color:#b8c2d0;font-size:.72rem}
.m-cta-call b{font-family:var(--head);font-size:1.05rem}
.m-cta-call:hover{color:var(--yellow)}
.m-cta .btn{padding:.65rem .8rem;font-size:.85rem}

/* ---------- premium hero slider ---------- */
.hero2{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff6f3 100%);padding:40px 0 110px}
.hero-deco{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 85% 20%,rgba(255,210,31,.28),transparent 32%),radial-gradient(circle at 8% 90%,rgba(215,25,32,.08),transparent 30%),
  radial-gradient(rgba(14,27,44,.07) 1px,transparent 1.3px) 0 0/22px 22px}
.hero2 .hero-script{position:absolute;right:3%;top:18px;z-index:5;font-size:1.25rem;transform:rotate(-4deg)}
.hero-swiper{position:relative;z-index:2}
.hero-copy{padding:10px 0;max-width:600px}
.hero-kicker{display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #f3d3d3;color:var(--red);font-family:var(--head);font-weight:600;font-size:.8rem;padding:.4rem .9rem;border-radius:40px;box-shadow:0 6px 16px rgba(215,25,32,.08);margin-bottom:1.1rem}
.hero-title{font-size:clamp(2.2rem,5vw,3.9rem);font-weight:800;letter-spacing:-.025em;line-height:1.04;margin-bottom:1.1rem}
.hero-title .l2{display:block;background:linear-gradient(90deg,var(--red),#ff4b3a);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:1.05rem;color:#4a5566;margin-bottom:1.6rem;max-width:540px}
.hero2 .hero-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.8rem;max-width:540px}
.hero2 .hero-feat{width:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem .4rem;box-shadow:0 6px 16px rgba(14,27,44,.05)}
.hero2 .hero-feat .ic{width:40px;height:40px;font-size:1.1rem;box-shadow:none;background:#fff1f1;border:0}
.hero2 .hero-feat span{font-size:.74rem}
.hero-visual{position:relative;padding:24px 20px 30px;display:flex;justify-content:center}
.hv-ring{position:absolute;inset:0 6% 6% 10%;border-radius:40px;background:linear-gradient(135deg,var(--red),#ff6a3d);transform:rotate(3deg);opacity:.95}
.hv-ring::after{content:"";position:absolute;right:-18px;bottom:-18px;width:120px;height:120px;border-radius:24px;background:var(--yellow);z-index:-1}
.hv-frame{position:relative;z-index:2;background:#fff;padding:10px;border-radius:28px;box-shadow:0 30px 60px rgba(14,27,44,.22);max-width:100%}
.hv-frame img{display:block;max-width:100%;width:auto;height:auto;max-height:470px;border-radius:20px;margin:0 auto;background:#eef1f5;min-height:200px;min-width:260px}
.hv-badge{position:absolute;z-index:3;display:flex;gap:.65rem;align-items:center;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-radius:16px;padding:.7rem 1rem;box-shadow:0 18px 40px rgba(14,27,44,.16);animation:floaty 5s ease-in-out infinite}
.hv-badge i{width:40px;height:40px;border-radius:12px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.1rem}
.hv-badge b{display:block;font-family:var(--head);font-size:.92rem;color:var(--navy);line-height:1.1}
.hv-badge small{font-size:.72rem;color:var(--muted)}
.hb1{left:0;top:18%}.hb2{right:0;bottom:8%;animation-delay:-2.5s}.hb2 i{background:var(--navy);color:var(--yellow)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-ctrl{display:flex;justify-content:space-between;align-items:center;margin-top:1.4rem;position:relative;z-index:3}
.hero-pag.swiper-pagination{position:static;width:auto!important;display:flex;gap:6px}
.hero-pag .swiper-pagination-bullet{width:10px;height:10px;margin:0!important;background:#cfd5de;opacity:1;border-radius:10px;transition:.3s}
.hero-pag .swiper-pagination-bullet-active{width:34px;background:var(--red)}
.hero-nav{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);font-size:1.1rem;transition:.25s}
.hero-nav:hover{background:var(--red);border-color:var(--red);color:#fff}
.hero-swiper .swiper-slide .hero-copy>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.hero-swiper .swiper-slide-active .hero-copy>*{opacity:1;transform:none}
.hero-swiper .swiper-slide-active .hero-copy>*:nth-child(2){transition-delay:.12s}
.hero-swiper .swiper-slide-active .hero-copy>*:nth-child(3){transition-delay:.22s}
.hero-swiper .swiper-slide-active .hero-copy>*:nth-child(4){transition-delay:.32s}
.hero-swiper .swiper-slide-active .hero-copy>*:nth-child(5){transition-delay:.42s}
.hero-swiper .swiper-slide .hv-frame{transform:scale(.94);opacity:.4;transition:1s ease}
.hero-swiper .swiper-slide-active .hv-frame{transform:none;opacity:1}
.hero-swiper .swiper-slide{background:transparent}

/* ---------- quick quote bar ---------- */
.qbar-wrap{position:relative;z-index:5;margin-top:-70px;padding-bottom:50px}
.qbar{background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(14,27,44,.16);padding:1.4rem 1.5rem;display:grid;gap:1rem;border:1px solid #f0f2f5}
.qbar-title{display:flex;gap:.8rem;align-items:center}
.qbar-title .ic{width:50px;height:50px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.3rem}
.qbar-title h3{font-size:1.1rem;margin:0}.qbar-title p{margin:0;font-size:.8rem;color:var(--muted)}
.qbar-form{display:grid;grid-template-columns:1fr;gap:.6rem}
.qbar-form .q-field{margin:0}
.qbar-form .form-control,.qbar-form .form-select{height:50px;border-radius:12px;background-color:#f8f9fb}
.qbar-form .btn{height:50px}
.qbar-form .form-ok{grid-column:1/-1}
@media (min-width:768px){.qbar-form{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1200px){.qbar{grid-template-columns:230px 1fr;align-items:center}.qbar-form{grid-template-columns:repeat(5,1fr) auto}}

/* ---------- premium service cards ---------- */
.svc-card{border-radius:22px;border:1px solid #edf0f4;box-shadow:0 12px 34px rgba(14,27,44,.06);position:relative}
.svc-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red),var(--yellow));transform:scaleX(0);transform-origin:left;transition:.45s}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(14,27,44,.14)}
.svc-media{position:relative;padding:10px 10px 0}
.svc-media .media{border-radius:16px}
.svc-card:hover .media img{transform:scale(1.04)}
.svc-num{position:absolute;right:22px;top:20px;z-index:2;font-family:var(--head);font-weight:800;font-size:.8rem;color:#fff;background:rgba(14,27,44,.7);backdrop-filter:blur(4px);padding:.25rem .6rem;border-radius:30px}
.svc-card .body{padding:0 1.4rem 1.5rem;position:relative}
.svc-card .badge-ic{position:relative;left:auto;bottom:auto;margin-top:-26px;margin-bottom:.8rem;width:54px;height:54px;border-radius:16px;font-size:1.35rem;border:4px solid #fff;z-index:3;display:grid}
.svc-card h3{font-size:1.2rem;margin-bottom:.45rem}
.svc-card p{font-size:.9rem}
.svc-link{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px dashed #e3e7ee;font-family:var(--head);font-weight:600;font-size:.9rem;color:var(--navy)}
.svc-link i{width:36px;height:36px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--red);transition:.3s}
.svc-card:hover .svc-link i{background:var(--red);color:#fff;transform:rotate(45deg)}

/* why + story + blog upgrades */
.why-feat .wi{width:56px;height:56px;margin:0 auto .7rem;border-radius:16px;background:#fff1f1;display:grid;place-items:center;transition:.3s}
.why-feat .wi i{margin:0;font-size:1.5rem}
.why-feat:hover .wi{background:var(--red)}.why-feat:hover .wi i{color:#fff}
.why-right .why-img{position:absolute;left:0;right:0;bottom:0;height:60%}
.why-right .why-img::before{opacity:.35}
.story{background:var(--navy);border-radius:22px}
.story .media{position:absolute;inset:0;aspect-ratio:auto!important}
.story .ov{background:linear-gradient(180deg,rgba(14,27,44,0) 40%,rgba(14,27,44,.85));justify-content:flex-end;align-items:flex-start;z-index:2}
.story h3,.story .play{max-width:none}
.t-card{border-radius:20px;border:1px solid #edf0f4;transition:.3s}
.t-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.t-card .q{font-size:1.2rem;line-height:1;width:40px;height:40px;border-radius:12px;background:#fff1f1;display:grid;place-items:center}
.blog-card{border-radius:20px;border:1px solid #edf0f4}
.blog-card .img{display:block;padding:10px 10px 0;aspect-ratio:auto;background:none}
.blog-card .img .media{border-radius:14px}
.blog-card .tag{left:22px;bottom:12px;z-index:2;border-radius:30px;padding:.3rem .8rem}
.blog-card:hover .media img{transform:scale(1.04)}
.blog-card .body{padding:1.1rem 1.3rem 1.4rem}
.blog-card h3{font-size:1.08rem}
.help-box{border-radius:22px;background:linear-gradient(160deg,#FFD84A,#FFC400)}

/* ---------- areas we serve (home) ---------- */
.areas-sec{background:var(--navy);padding:90px 0;position:relative;overflow:hidden}
.areas-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.3px) 0 0/24px 24px;pointer-events:none}
.areas-sec::after{content:"";position:absolute;right:-160px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.45),transparent 70%);pointer-events:none}
.areas-sec .container{position:relative;z-index:2}
.areas-sec .sec-title span{color:var(--yellow)}
.areas-stat{display:flex;gap:1rem;align-items:center;justify-content:flex-start;flex-wrap:wrap}
.areas-stat>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.7rem 1.1rem}
.areas-stat b{display:block;font-family:var(--head);font-size:1.6rem;color:#fff;line-height:1}
.areas-stat span{font-size:.75rem;color:#aab6c6}
@media (min-width:992px){.areas-stat{justify-content:flex-end}}
.area-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.6rem;margin-bottom:1.4rem;scrollbar-width:none}
.area-tabs::-webkit-scrollbar{display:none}
.area-tab{flex:none;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#d6dde7;padding:.65rem 1rem;border-radius:40px;font-family:var(--head);font-weight:600;font-size:.88rem;transition:.25s;white-space:nowrap}
.area-tab span{background:rgba(255,255,255,.12);border-radius:20px;padding:.05rem .55rem;font-size:.75rem}
.area-tab:hover{border-color:var(--yellow);color:#fff}
.area-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.area-tab.active span{background:var(--yellow);color:var(--navy)}
.area-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
@media (min-width:576px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.area-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1200px){.area-grid{grid-template-columns:repeat(4,1fr)}}
.area-card{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;transition:.3s}
.area-card .pin{width:42px;height:42px;border-radius:12px;background:rgba(215,25,32,.2);color:#ff6b6b;display:grid;place-items:center;flex:none;transition:.3s}
.area-card .nm{font-family:var(--head);font-weight:600;font-size:.98rem;line-height:1.2;flex:1}
.area-card .nm small{display:block;font-family:var(--font);font-weight:400;font-size:.72rem;color:#9aa8ba;margin-top:3px}
.area-card .go{color:#6f7f95;transition:.3s}
.area-card:hover{background:#fff;border-color:#fff;color:var(--navy);transform:translateY(-3px)}
.area-card:hover .pin{background:var(--red);color:#fff}
.area-card:hover .go{color:var(--red);transform:rotate(45deg)}
.area-card:hover .nm small{color:var(--muted)}

/* ---------- premium banner ---------- */
.banner2{background:linear-gradient(120deg,var(--red) 0%,#b3121a 55%,var(--navy) 55.1%);border-radius:28px;overflow:hidden;position:relative}
.b2-copy{padding:48px 44px;color:#fff}
.b2-copy h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800}
.b2-copy h2 span{color:var(--yellow)}
.b2-copy p{color:#ffe1e1}
.b2-copy .ticks{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;font-weight:600;font-size:.88rem}
.b2-copy .ticks i{color:var(--yellow)}
.b2-img{padding:30px}
.b2-img img{width:100%;height:auto;border-radius:20px;box-shadow:0 30px 60px rgba(0,0,0,.35);background:#223550;min-height:200px}
@media (max-width:991px){.banner2{background:linear-gradient(180deg,var(--red),#b3121a 60%,var(--navy) 60.1%)}.b2-copy{padding:36px 24px 10px}.b2-img{padding:10px 20px 24px}}

/* serve + stats polish */
.serve div{border-radius:16px;transition:.3s}
.serve div:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.stat b{font-family:var(--head)}
.stats-cta h3{font-weight:800}

/* inner pages polish */
.quote-card{border-radius:22px}
.info-card,.value,.contact-tile,.mini-svc,.loc-card{border-radius:16px}
.page-hero h1{font-weight:800;letter-spacing:-.02em}

/* ---------- mobile ---------- */
@media (max-width:991px){
  .hero2{padding:20px 0 100px}
  .hero-visual{padding:14px 14px 22px;margin-bottom:.5rem}
  .hv-ring{inset:4% 4% 4% 4%;border-radius:28px}
  .hv-frame{padding:7px;border-radius:22px}
  .hv-frame img{max-height:320px;min-width:0;border-radius:16px}
  .hv-badge{padding:.5rem .7rem;border-radius:12px}.hv-badge i{width:32px;height:32px;font-size:.9rem}.hv-badge b{font-size:.8rem}.hv-badge small{font-size:.66rem}
  .hb1{left:0;top:auto;bottom:6%}.hb2{right:0;top:6%;bottom:auto}
  .hero-copy{text-align:left}
  .hero2 .hero-feats{grid-template-columns:repeat(4,1fr);gap:.4rem}
  .hero2 .hero-feat{padding:.6rem .2rem}.hero2 .hero-feat span{font-size:.66rem}
  .hero-ctrl{margin-top:1rem}
  .qbar-wrap{margin-top:-60px}
  .areas-sec{padding:64px 0}
  .why-right{min-height:420px}
}
@media (max-width:575px){.hero-title{font-size:2.1rem}.hero2 .hero-feat .ic{width:34px;height:34px;font-size:.95rem}.btn-lg-p{padding:.8rem 1.3rem}}
.hero-title{font-size:clamp(2.1rem,4.4vw,3.5rem)}
.q-field .form-select{padding-right:2.2rem}
@media (max-width:575px){.hero-copy .d-flex.gap-3{gap:.6rem!important}.hero-copy .d-flex.gap-3 .btn{flex:1 1 auto;padding:.8rem 1rem;font-size:.86rem}}
@media (min-width:992px){.area-tabs{flex-wrap:wrap;overflow:visible}}
.f-contact a,.f-contact span{word-break:break-word;min-width:0}

/* =========================================================
   AREAS WE SERVE — light premium (v3)
   ========================================================= */
.areas-sec{background:linear-gradient(180deg,#fff 0%,#fff8f4 55%,#fff 100%);padding:96px 0}
.areas-sec::before{background:radial-gradient(rgba(14,27,44,.07) 1px,transparent 1.3px) 0 0/22px 22px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
.areas-sec::after{right:-140px;top:-120px;width:380px;height:380px;background:radial-gradient(circle,rgba(255,210,31,.35),transparent 70%)}
.areas-sec .sec-title{color:var(--navy)}
.areas-sec .sec-title span{color:var(--red)}
.areas-sec .sec-sub{font-size:1rem}
.areas-stat>div{background:#fff;border:1px solid #eef0f4;box-shadow:0 10px 28px rgba(14,27,44,.07);border-radius:18px;padding:.8rem 1.1rem;display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center}
.areas-stat .si{grid-row:span 2;width:42px;height:42px;border-radius:12px;background:#fff1f1;color:var(--red);display:grid;place-items:center;font-size:1.1rem}
.areas-stat b{color:var(--navy);font-size:1.45rem}
.areas-stat span:not(.si){color:var(--muted);font-size:.74rem;font-weight:600}
.area-tabs-wrap{position:relative;margin-bottom:1.6rem}
.area-tabs{background:#fff;border:1px solid #eef0f4;border-radius:60px;padding:6px;box-shadow:0 12px 30px rgba(14,27,44,.06);gap:4px;margin:0;display:flex}
.area-tab{border:0;background:transparent;color:var(--navy);padding:.7rem 1.1rem;font-size:.9rem}
.area-tab span{background:var(--soft);color:var(--muted)}
.area-tab:hover{color:var(--red);background:#fff5f5}
.area-tab.active{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(215,25,32,.3)}
.area-tab.active span{background:#fff;color:var(--red)}
@media (min-width:992px){.area-tabs{flex-wrap:nowrap;justify-content:space-between;overflow:visible}.area-tab{flex:1;justify-content:center}}
.area-grid{gap:1rem}
.area-card{background:#fff;border:1px solid #eef0f4;color:var(--navy);box-shadow:0 8px 22px rgba(14,27,44,.05);border-radius:18px;padding:1rem 1.1rem;position:relative;overflow:hidden}
.area-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--red),var(--yellow));transform:scaleY(0);transition:.35s;transform-origin:bottom}
.area-card .pin{background:#fff1f1;color:var(--red);border-radius:14px}
.area-card .nm small{color:var(--muted)}
.area-card .go{width:32px;height:32px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--navy);font-size:.8rem;flex:none}
.area-card:hover{background:#fff;color:var(--navy);border-color:#f6d0d0;transform:translateY(-4px);box-shadow:0 20px 40px rgba(215,25,32,.12)}
.area-card:hover::before{transform:scaleY(1)}
.area-card:hover .pin{background:var(--red);color:#fff}
.area-card:hover .go{background:var(--red);color:#fff;transform:rotate(45deg)}
.areas-foot{margin-top:1.8rem;display:flex;justify-content:center}

/* mobile */
@media (max-width:991px){
  .areas-sec{padding:64px 0}
  .areas-stat{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
  .areas-stat .btn{grid-column:1/-1;width:100%}
  .area-tabs-wrap::after{content:"";position:absolute;right:0;top:0;bottom:0;width:48px;border-radius:0 60px 60px 0;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 80%);pointer-events:none}
  .area-tabs{overflow-x:auto;scroll-snap-type:x mandatory;flex-wrap:nowrap}
  .area-tab{scroll-snap-align:start;padding:.6rem .95rem;font-size:.84rem}
}
@media (max-width:575px){
  .area-grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .area-card{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.9rem .85rem;border-radius:16px}
  .area-card .pin{width:36px;height:36px;font-size:.95rem;border-radius:11px}
  .area-card .nm{font-size:.92rem}
  .area-card .nm small{font-size:.68rem}
  .area-card .go{position:absolute;right:10px;top:10px;width:28px;height:28px}
}

/* footer without newsletter */
.site-footer .f-brand p{max-width:360px}
@media (max-width:991px){.site-footer .f-brand{margin-bottom:.5rem}}
.area-tab i{font-size:.95rem;opacity:.8}
.areas-stat{align-items:stretch}
@media (min-width:992px){.areas-stat .btn{align-self:center}}

/* =========================================================
   v4 — compact banner, testimonial slider, typography system
   ========================================================= */
/* compact banner */
.banner2{display:grid;grid-template-columns:1fr;gap:0;background:linear-gradient(110deg,var(--red) 0%,#b3121a 58%,var(--navy) 58.1%);border-radius:24px;align-items:center}
.b2-copy{padding:28px 26px 8px}
.b2-copy .kicker{margin-bottom:.35rem;font-size:.7rem}
.b2-copy h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:.4rem}
.b2-copy p{font-size:.9rem;margin-bottom:.7rem;max-width:440px}
.b2-copy .ticks{margin:0;gap:.9rem;font-size:.82rem}
.b2-img{padding:14px 26px}
.b2-img img{max-height:170px;width:auto;max-width:100%;margin:0 auto;border-radius:16px;min-height:0;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.b2-cta{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 26px 26px}
.b2-cta .btn{padding:.7rem 1.1rem;font-size:.86rem}
@media (min-width:992px){
  .banner2{grid-template-columns:1.25fr auto auto;padding:6px}
  .b2-copy{padding:26px 10px 26px 36px}
  .b2-img{padding:14px 18px}
  .b2-cta{flex-direction:column;padding:0 36px 0 10px}
  .b2-cta .btn{width:100%}
}
@media (max-width:991px){.banner2{background:linear-gradient(180deg,var(--red),#b3121a 62%,var(--navy) 62.1%)}}

/* testimonial slider */
.testi-swiper{padding:6px 4px 14px;margin:0 -4px}
.testi-swiper .swiper-slide{height:auto}
.testi-swiper .t-card{height:100%}
.t-card .t-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.t-card p{font-size:.93rem;line-height:1.7;color:#3a4556}
.t-card .who{padding-top:.9rem;border-top:1px dashed #e3e7ee}
.t-nav{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);transition:.25s}
.t-nav:hover{background:var(--red);border-color:var(--red);color:#fff}
.t-pag.swiper-pagination{position:static;width:auto!important;display:flex;gap:6px}
.t-pag .swiper-pagination-bullet{width:9px;height:9px;margin:0!important;background:#cfd5de;opacity:1;border-radius:10px;transition:.3s}
.t-pag .swiper-pagination-bullet-active{width:28px;background:var(--red)}
.t-share{font-family:var(--head);font-weight:600;font-size:.88rem;color:var(--navy)}
.t-share:hover{color:var(--red)}
.story{min-height:380px}

/* ---------- typography system ---------- */
body{font-size:15.5px;line-height:1.7;color:#243042;letter-spacing:.002em}
p{margin-bottom:1rem}
.sec-title{font-size:clamp(1.85rem,3.2vw,2.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.1}
.sec-sub{font-size:1rem;line-height:1.7;color:#5b6677}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.16em}
.topbar{font-family:var(--font);font-size:.78rem}
.topbar strong{font-family:var(--head);letter-spacing:.02em}
.site-header .nav-link{font-family:var(--head);font-weight:600;font-size:.97rem;letter-spacing:.005em}
.site-header .dropdown-item{font-family:var(--font);font-weight:500}
.talk{font-family:var(--head);font-size:.95rem}
.brand-text .b1{font-family:var(--head);font-weight:800;letter-spacing:.01em}
.brand-text .b2{font-family:var(--head);letter-spacing:.08em}
.hero-title{font-family:var(--head)}
.hero-lead{font-size:1.07rem;line-height:1.75}
.hero-feat span{font-family:var(--head);font-weight:600;letter-spacing:.01em}
.stat b{font-weight:800;letter-spacing:-.01em}
.stat span{font-family:var(--head);font-weight:600;font-size:.84rem}
.svc-card h3,.blog-card h3,.mini-svc h4,.value h4,.contact-tile h4,.info-card h4,.step h4{font-weight:700;letter-spacing:-.01em}
.why-left h2{font-weight:800;letter-spacing:-.02em;line-height:1.12}
.why-feat span{font-family:var(--head);font-weight:600;font-size:.86rem}
.step h4{font-size:1.05rem}
.step p{font-size:.84rem}
.help-box h3{font-weight:800;letter-spacing:-.01em}
.page-hero{padding:90px 0 80px}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.025em}
.page-hero p{font-size:1.05rem;line-height:1.7}
.crumbs{font-family:var(--head);font-weight:500}
.prose p,.prose li{font-size:1rem;line-height:1.8;color:#3a4556}
.prose h2{font-size:clamp(1.45rem,2.4vw,1.8rem);font-weight:800;letter-spacing:-.02em;margin:2.2rem 0 .9rem}
.prose h3{font-weight:700}
.accordion-button{font-family:var(--head);font-size:1rem}
.accordion-body{font-size:.95rem;line-height:1.75;color:#3a4556}
.landmark{font-family:var(--head);font-weight:500}
.zone-title{font-weight:700;font-size:1.2rem}
.loc-card{font-family:var(--head);font-weight:600;font-size:.95rem}
.loc-card small{font-family:var(--font)}
.quote-card h3{font-weight:700;font-size:1.25rem}
.site-footer{font-size:.9rem}
.site-footer h5{font-weight:700;letter-spacing:.01em;font-size:1.05rem;position:relative;padding-bottom:.7rem}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:3px;background:var(--red)}
.f-bottom{font-size:.82rem}
@media (max-width:575px){
  body{font-size:15px}
  .sec-title{font-size:1.75rem}
  .page-hero{padding:56px 0 50px}
  .page-hero h1{font-size:2rem}
  .prose p,.prose li{font-size:.96rem}
  .section{padding:56px 0}
}
.article-img{max-height:460px;width:auto;max-width:100%}

/* =========================================================
   v5 — how it works, who we serve, banner3, premium footer
   ========================================================= */
@media (min-width:992px){.site-header .dropdown:focus-within>.dropdown-menu{display:block;margin-top:0}}
.site-header .dropdown-toggle::after{vertical-align:.15em}

/* How it works */
.howit{background:linear-gradient(180deg,#fff,#fbfbfd)}
.hw-steps{display:grid;grid-template-columns:1fr;gap:0;position:relative}
.hw-step{position:relative;display:flex;gap:1.1rem;align-items:flex-start;padding:0 0 1.8rem}
.hw-step:last-child{padding-bottom:0}
.hw-step:not(:last-child)::before{content:"";position:absolute;left:31px;top:66px;bottom:6px;border-left:2px dashed #f0b9b9}
.hw-ic{position:relative;flex:none;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--red),#ff4b3a);color:#fff;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 14px 28px rgba(215,25,32,.28)}
.hw-n{position:absolute;right:-8px;top:-8px;width:28px;height:28px;border-radius:50%;background:var(--yellow);color:var(--navy);font-family:var(--head);font-weight:800;font-size:.72rem;display:grid;place-items:center;border:3px solid #fff}
.hw-txt{background:#fff;border:1px solid #eef0f4;border-radius:18px;padding:1rem 1.2rem;flex:1;box-shadow:0 10px 26px rgba(14,27,44,.05)}
.hw-txt h4{font-size:1.08rem;margin:0 0 .25rem}
.hw-txt p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.6}
@media (min-width:992px){
  .hw-steps{grid-template-columns:repeat(4,1fr);gap:1.5rem}
  .hw-steps::before{content:"";position:absolute;left:12%;right:12%;top:32px;border-top:2px dashed #f0b9b9;z-index:0}
  .hw-step{flex-direction:column;align-items:center;text-align:center;padding:0}
  .hw-step::before{display:none}
  .hw-ic{z-index:1;width:66px;height:66px;box-shadow:0 0 0 10px #fff,0 16px 30px rgba(215,25,32,.28)}
  .hw-txt{width:100%;padding:1.3rem 1.2rem;transition:.3s}
  .hw-step:hover .hw-txt{transform:translateY(-5px);box-shadow:0 22px 44px rgba(14,27,44,.1);border-color:#f6d0d0}
}

/* Who we serve */
.serve-sec{background:radial-gradient(circle at 10% 0%,rgba(255,210,31,.16),transparent 35%),radial-gradient(circle at 95% 100%,rgba(215,25,32,.08),transparent 35%),#f7f8fa}
.sv-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (min-width:768px){.sv-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem}}
.sv-card{position:relative;overflow:hidden;background:#fff;border:1px solid #eef0f4;border-radius:22px;padding:1.5rem 1.4rem;box-shadow:0 12px 30px rgba(14,27,44,.05);transition:.35s;isolation:isolate}
.sv-card::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,var(--navy),#1f3656);opacity:0;transition:.35s;z-index:-1}
.sv-ic{width:58px;height:58px;border-radius:18px;background:#fff1f1;color:var(--red);display:grid;place-items:center;font-size:1.5rem;margin-bottom:1rem;transition:.35s}
.sv-card h4{font-size:1.1rem;margin-bottom:.35rem;transition:.35s}
.sv-card p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.6;transition:.35s}
.sv-no{position:absolute;right:18px;top:12px;font-family:var(--head);font-weight:800;font-size:2.6rem;color:rgba(14,27,44,.05);line-height:1;transition:.35s}
.sv-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(14,27,44,.16);border-color:transparent}
.sv-card:hover::before{opacity:1}
.sv-card:hover .sv-ic{background:var(--red);color:#fff}
.sv-card:hover h4{color:#fff}.sv-card:hover p{color:#c3ccd8}.sv-card:hover .sv-no{color:rgba(255,210,31,.25)}
@media (max-width:575px){.sv-card{padding:1.1rem 1rem;border-radius:18px}.sv-ic{width:46px;height:46px;font-size:1.2rem;border-radius:14px;margin-bottom:.7rem}.sv-card h4{font-size:.98rem}.sv-card p{font-size:.8rem}.sv-no{font-size:1.9rem}}

/* Banner 3 */
.banner3{display:grid;grid-template-columns:1fr;background:var(--navy);border-radius:28px;overflow:hidden;position:relative;isolation:isolate}
.banner3::before{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.55),transparent 65%);z-index:-1}
.banner3::after{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.3px) 0 0/20px 20px;z-index:-1}
.b3-media{position:relative;padding:16px}
.b3-media .media{border-radius:20px;height:100%}
.b3-float{position:absolute;left:32px;bottom:32px;z-index:3;display:flex;gap:.6rem;align-items:center;background:#fff;border-radius:14px;padding:.6rem .9rem;box-shadow:0 16px 36px rgba(0,0,0,.25)}
.b3-float i{width:36px;height:36px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center}
.b3-float b{display:block;font-family:var(--head);font-size:.88rem;color:var(--navy);line-height:1.1}
.b3-float small{font-size:.7rem;color:var(--muted)}
.b3-copy{padding:10px 24px 30px;color:#fff}
.b3-copy h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;margin-bottom:.5rem}
.b3-copy h2 span{color:var(--yellow)}
.b3-copy>p{color:#c3ccd8;margin-bottom:1.2rem}
.b3-ticks{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.4rem}
.b3-ticks div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.8rem .7rem}
.b3-ticks i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--red);color:#fff;margin-bottom:.5rem}
.b3-ticks b{display:block;font-family:var(--head);font-size:.95rem}
.b3-ticks small{color:#9fadbf;font-size:.72rem;line-height:1.3;display:block}
@media (min-width:992px){.banner3{grid-template-columns:44% 1fr;align-items:center}.b3-media{padding:22px}.b3-copy{padding:36px 44px 36px 20px}}
@media (max-width:575px){.b3-ticks{gap:.4rem}.b3-ticks div{padding:.6rem .5rem}.b3-ticks small{display:none}.b3-float{left:26px;bottom:26px}}

/* Premium footer */
.site-footer{background:linear-gradient(180deg,#0E1B2C,#0a1422);padding-top:0;position:relative;overflow:hidden;margin-top:60px}
.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1.3px) 0 0/22px 22px;pointer-events:none}
.site-footer::after{content:"";position:absolute;left:-150px;bottom:-200px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.25),transparent 65%);pointer-events:none}
.site-footer .container{position:relative;z-index:2}
.f-cta{transform:translateY(-50%);margin-bottom:-20px;background:linear-gradient(110deg,var(--red),#b3121a);border-radius:24px;padding:1.4rem 1.6rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;box-shadow:0 24px 50px rgba(215,25,32,.3);position:relative;overflow:hidden}
.f-cta::after{content:"";position:absolute;right:-50px;top:-70px;width:200px;height:200px;border-radius:50%;background:rgba(255,210,31,.18)}
.f-cta-l{display:flex;gap:1rem;align-items:center}
.f-cta-ic{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.15);display:grid;place-items:center;color:#fff;font-size:1.5rem;flex:none}
.f-cta h3{color:#fff;font-size:1.25rem;margin:0 0 .15rem}
.f-cta p{color:#ffdcdc;margin:0;font-size:.85rem}
.f-cta-r{display:flex;gap:.6rem;flex-wrap:wrap;position:relative;z-index:2}
.f-main{padding-bottom:10px}
.f-brand p{color:#aeb9c8}
.f-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.f-badges span{font-size:.75rem;color:#dfe5ee;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:.3rem .65rem;border-radius:30px}
.f-badges i{color:var(--yellow)}
.f-links li{margin-bottom:.55rem}
.f-links a{display:inline-flex;align-items:center;gap:.45rem;color:#b8c2d0;transition:.25s}
.f-links a i{font-size:.65rem;color:var(--red);transition:.25s}
.f-links a:hover{color:#fff;transform:translateX(4px)}
.f-contact2{display:grid;gap:.6rem}
.f-contact2>a,.f-contact2>div{display:flex;gap:.75rem;align-items:center;padding:.6rem .75rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#fff;transition:.25s;min-width:0}
.f-contact2>a:hover{background:rgba(255,255,255,.08);color:var(--yellow)}
.f-contact2 i{width:36px;height:36px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;flex:none}
.f-contact2 span{font-size:.86rem;font-weight:600;word-break:break-word;min-width:0}
.f-contact2 small{display:block;font-weight:400;color:#8f9cb0;font-size:.7rem}
.f-pop{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.f-pop small{width:100%;color:#8f9cb0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.1rem}
.f-pop a{font-size:.75rem;color:#cfd7e2;border:1px solid rgba(255,255,255,.12);padding:.2rem .6rem;border-radius:20px}
.f-pop a:hover{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.f-pop a.more{border-color:transparent;color:var(--yellow)}
.f-bottom{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;align-items:center;color:#8f9cb0}
.f-bottom .links{display:flex;gap:1.2rem;flex-wrap:wrap}
.f-bottom .links a{margin:0}
@media (max-width:767px){
  .site-footer{margin-top:80px}
  .f-cta{padding:1.2rem;border-radius:20px;transform:translateY(-40%)}
  .f-cta h3{font-size:1.05rem}
  .f-cta-r{width:100%}.f-cta-r .btn{flex:1;padding:.7rem .8rem;font-size:.85rem}
  .f-bottom{flex-direction:column;align-items:flex-start;padding-bottom:84px}
}
/* prevent any horizontal scroll (AOS side animations, sliders) */
html{overflow-x:hidden}
main>section,.site-footer{overflow-x:clip}
/* footer CTA sits inside footer (no overlap) */
.site-footer{margin-top:0;padding-top:48px}
.f-cta{transform:none;margin-bottom:48px}
.f-contact2 a[href^="mailto"] span{font-size:.8rem}
@media (max-width:767px){.site-footer{margin-top:0;padding-top:36px}.f-cta{transform:none;margin-bottom:36px}}

.site-footer .btn-yellow,.site-footer .btn-yellow:hover{color:var(--navy)}
.site-footer .btn-ghost-light{color:#fff}.site-footer .btn-ghost-light:hover{color:var(--navy)}
.f-brand{padding-right:2rem}
.f-cta .btn{white-space:nowrap}
@media (max-width:767px){.f-cta-r .btn:first-child{flex-basis:100%}}
@media (max-width:991px){
  .img-stack{margin-bottom:40px}
  .img-stack .badge-box{left:14px;bottom:-22px;padding:.7rem 1rem;max-width:230px}
  .img-stack .badge-box b{font-size:1.4rem}.img-stack .badge-box span{font-size:.72rem;line-height:1.3;display:block}
}
@media (min-width:992px){.hw-step{gap:1.2rem}}

/* ---------- fixed navbar ---------- */
html,body{overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:1040;background:rgba(255,255,255,.97);transition:box-shadow .3s,background .3s}
body{padding-top:var(--hdr-h,118px)}
.site-header .topbar{max-height:44px;overflow:hidden;transition:max-height .35s ease,opacity .25s}
.site-header .navbar{transition:padding .3s}
.site-header.scrolled{box-shadow:0 10px 30px rgba(14,27,44,.12)}
.site-header.scrolled .topbar{max-height:0;opacity:0}
.site-header.scrolled .navbar{padding:.45rem 0}
.site-header.scrolled .brand svg{width:50px;height:42px}
.brand svg{transition:.3s}
html{scroll-padding-top:90px}
.side-sticky{top:100px}
@media (max-width:991px){body{padding-top:var(--hdr-h,108px)}}

/* ===== Real brand logo ===== */
.brand .brand-logo{height:66px;width:auto;display:block;transition:height .3s}
.site-header.scrolled .brand .brand-logo{height:52px}
@media (max-width:991px){.brand .brand-logo{height:50px}.site-header.scrolled .brand .brand-logo{height:42px}}
@media (max-width:380px){.brand .brand-logo{height:40px}}
.site-footer .brand,.mnav-head .brand{background:#fff;border-radius:14px;padding:10px 14px;display:inline-flex;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.site-footer .brand .brand-logo{height:64px}
.mnav-head .brand{padding:6px 10px;border-radius:10px}.mnav-head .brand .brand-logo{height:40px}
.f-contact2 a span{word-break:normal}

/* ===== Enquiry popup ===== */
.enq-modal .modal-content{border:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(14,27,44,.35)}
.enq-modal .enq-top{background:linear-gradient(135deg,#D71920,#9e0f15);padding:34px 24px 58px;text-align:center;position:relative;color:#fff}
.enq-modal .enq-top.err{background:linear-gradient(135deg,#0E1B2C,#24364f)}
.enq-modal .enq-top h3{font-family:var(--head,inherit);font-weight:800;font-size:1.55rem;margin:0 0 4px;color:#fff}
.enq-modal .enq-top p{margin:0;opacity:.9;font-size:.95rem}
.enq-modal .enq-ic{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;position:absolute;left:50%;bottom:-42px;transform:translateX(-50%);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.enq-modal .enq-ic svg{width:48px;height:48px}
.enq-modal .enq-ic .c{stroke:#1faa59;stroke-width:3;fill:none;stroke-dasharray:151;stroke-dashoffset:151;animation:enqDraw .6s .15s ease forwards}
.enq-modal .enq-ic .t{stroke:#1faa59;stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:enqDraw .4s .65s ease forwards}
.enq-modal .enq-ic .x{stroke:#D71920;stroke-width:4;stroke-linecap:round;fill:none}
@keyframes enqDraw{to{stroke-dashoffset:0}}
.enq-modal .enq-body{padding:58px 26px 26px;text-align:center}
.enq-modal .enq-body .lead2{font-size:1rem;color:#33415a;margin-bottom:16px}
.enq-modal .enq-sum{background:#f5f7fb;border-radius:14px;padding:12px 16px;text-align:left;font-size:.88rem;margin-bottom:18px}
.enq-modal .enq-sum div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed #dde3ec}
.enq-modal .enq-sum div:last-child{border:0}.enq-modal .enq-sum span{color:#6b778a}.enq-modal .enq-sum b{color:#0E1B2C;text-align:right}
.enq-modal .enq-btns{display:flex;gap:10px}.enq-modal .enq-btns .btn{flex:1;border-radius:12px;padding:.7rem .5rem;font-weight:700}
.enq-modal .enq-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;z-index:2}
.enq-modal .enq-close:hover{background:rgba(255,255,255,.3)}
.enq-modal .enq-note{font-size:.78rem;color:#8a94a6;margin-top:12px}
.js-quote button[type=submit][disabled]{opacity:.8;cursor:wait}
.js-quote .hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.addr-card{display:flex;gap:14px;background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(14,27,44,.06)}
.addr-card .ai{flex:none;width:48px;height:48px;border-radius:14px;background:#D71920;color:#fff;display:grid;place-items:center;font-size:1.3rem}
.addr-card h4{font-size:1.05rem;font-weight:800;margin:0 0 4px;color:#0E1B2C}.addr-card p{margin:0 0 12px;color:#4a5670}
.modal-backdrop{z-index:1990}.modal.enq-modal{z-index:2000}

/* ===== Branches ===== */
.br-ho{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding:2.2rem 2.4rem;border-radius:22px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy),var(--navy-2));box-shadow:var(--shadow-lg)}
.br-ho::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:var(--red);opacity:.9}
.br-ho>*{position:relative;z-index:2}.br-ho h2{color:#fff;font-weight:800;margin:.2rem 0 .4rem}.br-ho p{color:#cfd7e3;margin:0;max-width:520px}
.br-ho-r{display:flex;gap:.6rem;flex-wrap:wrap}
.br-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.br-chips button{border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:600;font-size:.85rem;padding:.5rem 1.1rem;border-radius:999px;transition:.2s}
.br-chips button:hover{border-color:var(--red);color:var(--red)}.br-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.br-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.6rem;position:relative;transition:.3s;display:flex;flex-direction:column;overflow:hidden}
.br-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--red),var(--yellow));transform:scaleX(0);transform-origin:left;transition:.35s}
.br-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}.br-card:hover::before{transform:scaleX(1)}
.br-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.br-ic{width:46px;height:46px;border-radius:14px;background:rgba(215,25,32,.09);color:var(--red);display:grid;place-items:center;font-size:1.2rem}
.br-tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);background:var(--soft);padding:.3rem .7rem;border-radius:999px}
.br-card h3{font-size:1.45rem;font-weight:800;margin:0;letter-spacing:-.02em}
.br-state{color:var(--red);font-weight:600;font-size:.82rem;margin:.15rem 0 .8rem}
.br-addr{color:var(--muted);font-size:.92rem;line-height:1.6;flex:1;margin-bottom:1.2rem}
.br-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.br-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;padding:.55rem .9rem;border-radius:10px;border:1px solid var(--line);color:var(--navy);transition:.2s}
.br-btn:hover{border-color:var(--red);color:var(--red)}.br-btn.primary{background:var(--red);border-color:var(--red);color:#fff}.br-btn.primary:hover{background:var(--red-dark);color:#fff}
.br-card:target{outline:2px solid var(--red);outline-offset:3px}
.br-empty{text-align:center;color:var(--muted);padding:2rem 0}
@media(max-width:575px){.br-ho{padding:1.6rem}}
