/* ==========================================================
   Clean Today — Redesign 2026
   Universal stylesheet (all pages)
   ========================================================== */
/* Floating call + WhatsApp buttons removed on all screen sizes */
.side-contact{display:none !important}
/* FAQ "Still have questions?" box: hidden on mobile, shown on desktop */
@media (max-width:767px){.faq-aside .help{display:none !important}}
/* Mobile bottom bar: gentle attention animation on icons */
@keyframes mbRing{0%,60%,100%{transform:rotate(0)}64%{transform:rotate(-14deg)}68%{transform:rotate(12deg)}72%{transform:rotate(-10deg)}76%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}84%{transform:rotate(0)}}
@keyframes mbBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes mbPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.mob-bar .mb-c svg{animation:mbRing 1.3s ease-in-out infinite;transform-origin:50% 50%}
.mob-bar .mb-w svg{animation:mbBounce .8s ease-in-out infinite .2s}
.mob-bar .mb-q svg{animation:mbPulse .9s ease-in-out infinite .4s}
@media (prefers-reduced-motion:reduce){.mob-bar svg{animation:none !important}}
/* iPhone fix: clock icon overlapping "Select time", date box overflowing */
select.field:not(#_){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c2945' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5-5 5 5M7 14l5 5 5-5'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:16px 16px !important}
input[type="date"].field{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;min-height:44px;text-align:left;line-height:1.3}
input[type="date"].field::-webkit-date-and-time-value{text-align:left;margin:0}
.hf-ico{min-width:0;max-width:100%}
.hf-row>div{min-width:0}
/* Service pages: hide sidebar "All Services" list + side quote form on phones */
@media (max-width:767px){.sidebar .side-links,.sidebar .side-form{display:none !important}}
/* Home "areas we serve" chips: neat 2-column grid on phones */
@media (max-width:767px){.areas{display:grid !important;grid-template-columns:1fr 1fr;gap:10px;max-width:100%}.area{justify-content:center;min-width:0;padding:11px 10px;font-size:.92rem;gap:6px;white-space:nowrap}.area svg{width:16px;height:16px;flex:none}}
@media (max-width:360px){.area{font-size:.84rem;padding:10px 6px}}
/* Gallery: no "Clean Today" label, small title at bottom of each photo */
.g-cap small{display:none !important}
.g-cap{padding:28px 12px 10px !important;transform:none !important}
.g-cap b{font-size:.9rem;font-weight:600;line-height:1.25}
/* Gallery on phones: tidy 2-column grid, same-size squares, no gaps */
@media (max-width:767px){
  .gallery{grid-template-columns:1fr 1fr !important;gap:10px;grid-auto-flow:dense}
  .g-item,.g-item.wide{grid-column:auto !important;aspect-ratio:1 !important;border-radius:14px}
  .g-cap{padding:22px 9px 8px !important}
  .g-cap b{font-size:.78rem}
  .g-item .media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto !important}
  .g-item .media img{width:100%;height:100%;object-fit:cover}
}
/* CTA band ("Ready for a spotless space?"): both buttons on one line on phones */
@media (max-width:767px){
  .cta-band .acts{display:flex !important;flex-wrap:nowrap !important;gap:8px !important;width:100% !important}
  .cta-band .acts .btn{flex:1 1 0 !important;min-width:0 !important;justify-content:center !important;white-space:nowrap !important;overflow:hidden;padding:12px 6px !important;font-size:.8rem !important;gap:6px !important;line-height:1.2}
  .cta-band .acts .btn:first-child{flex-grow:1.15 !important}
  .cta-band .acts .btn:first-child svg{display:none !important}
  .cta-band .acts .btn svg{width:16px !important;height:16px !important;flex:none}
}
@media (max-width:360px){.cta-band .acts .btn{font-size:.74rem !important;padding:11px 4px !important;gap:4px !important}}
/* Home quote form: 2 steps on phones only */
.ms-ind,.ms-next,.ms-back{display:none !important}
@media (max-width:767px){
  .ms-form .ms-ind{display:flex !important;flex-direction:column;gap:7px;margin:2px 0 4px}
  .ms-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .ms-bar i{display:block;height:5px;border-radius:5px;background:#e3e7ef}
  .ms-bar i:first-child,.ms-s2 .ms-bar i:last-child{background:var(--sun)}
  .ms-txt{font-size:.8rem;font-weight:600;color:var(--muted)}
  .ms-form.ms-s1 .ms2{display:none !important}
  .ms-form.ms-s2 .ms1{display:none !important}
  .ms-form.ms-s1.ms-ready .ms-next{display:flex !important;align-items:center;width:max-content;margin:12px 0 0 auto;background:none;border:0;padding:4px 2px;font:inherit;font-size:.92rem;font-weight:700;color:var(--sun-2);cursor:pointer;animation:wiIn .3s ease}
  .ms-form.ms-s2 .ms-back{display:block !important;margin:10px auto 0;background:none;border:0;font:inherit;font-size:.9rem;font-weight:600;color:var(--navy);cursor:pointer;padding:6px 10px}
}
/* "About Clean Today" + "Why Choose Us" labels: centered, orange line on both sides */
.wrap.split > .reveal:not(.wp) > .eyebrow,
.wj-card .eyebrow{display:flex !important;justify-content:center;text-align:center;width:100%}
.wrap.split > .reveal:not(.wp) > .eyebrow::after,
.wj-card .eyebrow::after{content:"";display:block !important;width:26px;height:2px;background:var(--sun) !important;border-radius:2px}
:root{
  --navy:#1c2945;
  --navy-2:#2a3a5e;
  --teal:#c98500;
  --teal-2:#a86f00;
  --aqua:#fdf3dc;
  --sun:#f5a800;
  --sun-2:#e09200;
  --ink:#141c2e;
  --muted:#5a6478;
  --line:#e6e8ee;
  --bg:#f7f8fb;
  --white:#fff;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(28,41,69,.08);
  --shadow-lg:0 24px 60px rgba(28,41,69,.16);
  --font-head:'Outfit',system-ui,sans-serif;
  --font-body:'Outfit',system-ui,sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;color:var(--navy);letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{color:var(--muted)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.section{padding:90px 0}
.section.tight{padding:64px 0}
.bg-soft{background:var(--bg)}
.bg-navy{background:var(--navy);color:#d3ddf7}
.bg-navy h2,.bg-navy h3{color:#fff}
.bg-navy p{color:#aab9e3}
.center{text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--teal);border-radius:2px}
.center .eyebrow::after{content:"";width:22px;height:2px;background:var(--teal);border-radius:2px}
.sec-head{max-width:720px;margin-bottom:48px}
.sec-head.center{margin-left:auto;margin-right:auto}
.sec-head p{margin-top:14px;font-size:1.06rem}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-family:var(--font-head);font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-sun{background:var(--sun);color:var(--navy)}
.btn-sun:hover{background:var(--sun-2);transform:translateY(-2px)}
.btn-teal{background:var(--navy);color:#fff}
.btn-teal:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-line{border-color:var(--navy);color:var(--navy)}
.btn-line:hover{background:var(--navy);color:#fff}
.btn-wa{background:#25d366;color:#fff}
.btn-wa:hover{background:#1eb457}

/* ---------- Top bar ---------- */
.topbar{background:#141f36;color:#b9c8ee;font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px}
.topbar a{color:#e6eeff}
.topbar .tb-left,.topbar .tb-right{display:flex;gap:22px;align-items:center}
.topbar .tb-item{display:inline-flex;gap:7px;align-items:center}
.topbar svg{width:15px;height:15px;color:var(--sun)}
.social{display:flex;gap:8px}
.social a{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:.2s}
.social a:hover{background:var(--teal)}
.social svg{width:14px;height:14px;color:#fff}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.header.scrolled{box-shadow:0 8px 24px rgba(28,41,69,.08)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:86px;gap:20px}
.logo{display:flex;align-items:center;gap:11px}
.logo-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--teal),var(--navy-2));display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px rgba(245,168,0,.35)}
.logo-mark svg{width:24px;height:24px}
.logo-text b{display:block;font-family:var(--font-head);font-size:1.28rem;color:var(--navy);letter-spacing:-.02em;line-height:1}
.logo-text small{font-size:.72rem;color:var(--muted);letter-spacing:.04em;white-space:nowrap}
.logo-text b{white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px}
.nav>li{position:relative}
.nav>li>a{display:flex;align-items:center;gap:5px;padding:10px 13px;white-space:nowrap;border-radius:10px;font-weight:500;font-size:.96rem;color:var(--ink);transition:.2s}
.nav>li>a:hover,.nav>li>a.active{color:var(--teal)}
.nav>li>a.active{background:var(--aqua)}
.nav .caret{width:14px;height:14px;transition:.2s}
.dropdown{position:absolute;top:calc(100% + 8px);left:-20px;width:560px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;border:1px solid var(--line)}
.has-drop:hover .dropdown,.has-drop:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.has-drop:hover .caret{transform:rotate(180deg)}
.dropdown a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;transition:.2s}
.dropdown a:hover{background:var(--aqua)}
.dropdown .di{width:38px;height:38px;flex:none;border-radius:10px;background:var(--aqua);color:var(--teal);display:grid;place-items:center}
.dropdown a:hover .di{background:var(--teal);color:#fff}
.dropdown .di svg{width:20px;height:20px}
.dropdown b{display:block;font-size:.92rem;font-weight:600;color:var(--navy)}
.dropdown small{font-size:.78rem;color:var(--muted);line-height:1.35;display:block}
.header-cta{display:flex;align-items:center;gap:12px}
.call-chip{display:flex;align-items:center;gap:10px}
.call-chip .ci{width:42px;height:42px;border-radius:50%;background:var(--aqua);color:var(--teal);display:grid;place-items:center}
.call-chip .ci svg{width:19px;height:19px}
.call-chip small{display:block;font-size:.72rem;color:var(--muted);line-height:1.2}
.call-chip b{font-family:var(--font-head);font-size:.98rem;color:var(--navy);white-space:nowrap}
@media (max-width:1320px){.call-chip{display:none}}
.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:22px;height:22px;color:var(--navy)}

/* Mobile drawer */
.drawer{position:fixed;inset:0;z-index:100;pointer-events:none}
.drawer .scrim{position:absolute;inset:0;background:rgba(28,41,69,.5);opacity:0;transition:.25s}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:#fff;transform:translateX(100%);transition:.3s;padding:22px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.drawer.open{pointer-events:auto}
.drawer.open .scrim{opacity:1}
.drawer.open .panel{transform:none}
.drawer .d-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.drawer .close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:22px;color:var(--navy)}
.drawer a.dl{padding:13px 4px;border-bottom:1px solid var(--line);font-weight:500;color:var(--navy)}
.drawer .d-sub{padding:4px 0 8px 12px;display:flex;flex-direction:column}
.drawer .d-sub a{padding:9px 4px;font-size:.92rem;color:var(--muted)}
.drawer .d-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:700;margin-top:10px}
.drawer .btn{margin-top:14px}

/* ---------- Hero (home) ---------- */
.hero{position:relative;background:radial-gradient(1200px 600px at 85% -10%,rgba(245,168,0,.16),transparent 60%),linear-gradient(160deg,#16213a 0%,var(--navy) 55%,#24365c 100%);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:80px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.08))}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:80px;padding-bottom:110px;position:relative;z-index:2}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--sun);position:relative}
.hero .lead{color:#bccbf0;font-size:1.15rem;margin:22px 0 32px;max-width:560px}
.hero .pill{display:inline-flex;gap:8px;align-items:center;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:.86rem;margin-bottom:24px;color:#dbe5fb}
.hero .pill span{background:var(--sun);color:var(--navy);font-weight:700;border-radius:999px;padding:3px 10px;font-size:.74rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-trust{display:flex;flex-wrap:wrap;gap:22px;margin-top:38px}
.hero-trust div{display:flex;align-items:center;gap:9px;font-size:.92rem;color:#d6e1fa}
.hero-trust svg{width:20px;height:20px;color:var(--sun);flex:none}
.hero-visual{position:relative}
.hero-card{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/4.3;box-shadow:0 40px 80px rgba(0,0,0,.35);border:6px solid rgba(255,255,255,.08)}
.float-badge{position:absolute;background:#fff;color:var(--navy);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;z-index:3;animation:bob 5s ease-in-out infinite}
.float-badge .fi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--aqua);color:var(--teal)}
.float-badge .fi svg{width:22px;height:22px}
.float-badge b{font-family:var(--font-head);font-size:1.25rem;display:block;line-height:1}
.float-badge small{font-size:.78rem;color:var(--muted)}
.fb-1{left:-34px;bottom:60px}
.fb-2{right:-22px;top:46px;animation-delay:-2.5s}
@keyframes bob{50%{transform:translateY(-10px)}}

/* Quick quote strip below hero */
.quick-quote{position:relative;z-index:5;margin-top:-56px}
.qq-box{background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);padding:22px;display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:14px;align-items:end;border:1px solid var(--line)}
.qq-box label{display:block;font-size:.78rem;font-weight:600;color:var(--navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}

/* ---------- Forms ---------- */
.field{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:.96rem;color:var(--ink);background:#fff;transition:.2s}
.field:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(245,168,0,.12)}
textarea.field{min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1/-1}
.form-note{font-size:.82rem;color:var(--muted);margin-top:10px}
.form-ok{display:none;background:var(--aqua);border:1px solid #c4dcfa;border-radius:14px;padding:18px;margin-top:14px}
.form-ok.show{display:block}
.form-ok b{color:var(--navy);display:block;margin-bottom:6px;font-family:var(--font-head)}
.form-ok .btn{margin-top:10px}

/* ---------- Image with fallback ---------- */
.media{position:relative;overflow:hidden;background:linear-gradient(140deg,#2a3a5e 0%,#16213a 100%);height:100%;width:100%}
.media .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9)}
.media .ph svg{width:34%;max-width:120px;height:auto;opacity:.9}
.media .ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 45%),repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 14px,transparent 14px 28px)}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.media.t2{background:linear-gradient(140deg,#3a4f7a,#1c2945)}
.media.t3{background:linear-gradient(140deg,#2a3a5e,#141f36)}
.media.t4{background:linear-gradient(140deg,#f5a800,#c98500)}
.media.t5{background:linear-gradient(140deg,#4a5f8c,#1c2945)}
.media.t6{background:linear-gradient(140deg,#34476e,#16213a)}
.media.t7{background:linear-gradient(140deg,#5a6478,#1c2945)}

/* ---------- Feature strip ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.25s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.feature .ic{width:54px;height:54px;border-radius:15px;background:var(--aqua);color:var(--teal);display:grid;place-items:center;margin-bottom:16px}
.feature .ic svg{width:27px;height:27px}
.feature h3{margin-bottom:6px;font-size:1.08rem}
.feature p{font-size:.94rem}

/* ---------- Services grid ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:.3s}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.svc .svc-img{height:210px;position:relative}
.svc .svc-ic{position:absolute;left:22px;bottom:-26px;z-index:3;width:58px;height:58px;border-radius:16px;background:var(--sun);color:var(--navy);display:grid;place-items:center;box-shadow:0 10px 20px rgba(245,168,0,.35)}
.svc .svc-ic svg{width:28px;height:28px}
.svc .svc-body{padding:40px 24px 24px;display:flex;flex-direction:column;flex:1}
.svc h3{margin-bottom:8px}
.svc p{font-size:.95rem;flex:1}
.svc .more{margin-top:18px;display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--teal);font-family:var(--font-head);font-size:.92rem}
.svc .more svg{width:16px;height:16px;transition:.2s}
.svc:hover .more svg{transform:translateX(4px)}
.services.four{grid-template-columns:repeat(4,1fr);gap:20px}
.services.four .svc .svc-img{height:180px}
.svc.cta-card{background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#fff;padding:34px;justify-content:center}
.svc.cta-card h3{color:#fff;font-size:1.5rem}
.svc.cta-card p{color:#aab9e3;margin:12px 0 22px;flex:none}

/* ---------- Split / about ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-img{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:5/4.6;box-shadow:var(--shadow-lg)}
.exp-badge{position:absolute;right:22px;bottom:22px;z-index:3;background:var(--sun);color:var(--navy);border-radius:18px;padding:18px 22px;text-align:center;font-family:var(--font-head)}
.exp-badge b{font-size:2rem;display:block;line-height:1}
.exp-badge small{font-size:.8rem;font-weight:600}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:26px 0 30px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--ink)}
.checks svg{width:22px;height:22px;flex:none;color:var(--teal);margin-top:1px}
.checks.one{grid-template-columns:1fr}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;padding:28px 16px;border-radius:var(--radius);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.stat b{display:block;font-family:var(--font-head);font-size:clamp(2.2rem,4vw,3rem);color:var(--sun);line-height:1}
.stat span{display:block;margin-top:10px;color:#d3ddf7;font-weight:500}

/* ---------- Process ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;position:relative}
.process::before{content:"";position:absolute;top:36px;left:12%;right:12%;border-top:2px dashed #c8d6ee}
.step{text-align:center;position:relative}
.step .num{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#fff;border:2px solid var(--teal);display:grid;place-items:center;color:var(--teal);position:relative;z-index:1;box-shadow:0 0 0 8px var(--bg)}
.step .num svg{width:30px;height:30px}
.step .num::after{counter-increment:step;content:counter(step);position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--sun);color:var(--navy);font-family:var(--font-head);font-weight:700;font-size:.8rem;display:grid;place-items:center}
.step h3{margin-bottom:6px}
.step p{font-size:.94rem}

/* ---------- Reviews slider (universal) ---------- */
.reviews{position:relative}
.rv-track-wrap{overflow:hidden;margin:0 -12px;padding:12px 0 20px}
.rv-track{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.rv{flex:0 0 33.333%;padding:0 12px}
.rv-card{background:#fff;border-radius:22px;padding:30px;height:100%;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:.25s}
.rv-card:hover{box-shadow:var(--shadow)}
.rv-card .q{position:absolute;right:24px;top:20px;width:48px;height:48px;color:var(--aqua)}
.stars{display:flex;gap:3px;color:var(--sun);margin-bottom:14px}
.stars svg{width:18px;height:18px}
.rv-card p{color:var(--ink);font-size:1rem;flex:1}
.rv-who{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--navy-2));color:#fff;display:grid;place-items:center;font-family:var(--font-head);font-weight:700}
.rv-who b{display:block;color:var(--navy);font-family:var(--font-head);font-size:.98rem}
.rv-who small{color:var(--muted);font-size:.84rem}
.rv-tag{display:inline-block;align-self:flex-start;margin-bottom:12px;font-size:.74rem;padding:5px 11px;border-radius:999px;background:var(--aqua);color:var(--teal-2);font-weight:600}
.rv-ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:10px}
.rv-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--navy);transition:.2s}
.rv-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.rv-btn svg{width:20px;height:20px}
.rv-dots{display:flex;gap:8px}
.rv-dots button{width:9px;height:9px;border-radius:999px;border:0;background:#c8d6ee;cursor:pointer;transition:.3s;padding:0}
.rv-dots button.on{width:28px;background:var(--teal)}

/* ---------- FAQ (universal) ---------- */
.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.faq-aside{position:sticky;top:110px}
.faq-aside .help{margin-top:28px;background:var(--navy);border-radius:22px;padding:28px;color:#d3ddf7}
.faq-aside .help h3{color:#fff;margin-bottom:8px}
.faq-aside .help p{color:#aab9e3;margin-bottom:18px;font-size:.95rem}
.faq-aside .help .btn{width:100%;margin-top:10px}
.faq{display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;transition:.25s}
.faq-item.open{border-color:var(--teal);box-shadow:var(--shadow)}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 22px;display:flex;justify-content:space-between;gap:18px;align-items:center;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:1.02rem;color:var(--navy)}
.faq-q .pm{width:32px;height:32px;flex:none;border-radius:50%;background:var(--aqua);color:var(--teal);display:grid;place-items:center;transition:.25s}
.faq-q .pm svg{width:16px;height:16px;transition:.25s}
.faq-item.open .pm{background:var(--teal);color:#fff}
.faq-item.open .pm svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 22px 22px}

/* ---------- CTA band (universal) ---------- */
.cta-band{position:relative;border-radius:28px;overflow:hidden;background:linear-gradient(120deg,var(--teal) 0%,var(--navy-2) 70%);padding:56px;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;color:#fff}
.cta-band::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.07);right:-120px;top:-180px}
.cta-band::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,194,61,.15);left:-80px;bottom:-140px}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{color:#fff}
.cta-band p{color:#d9e6fb;margin-top:10px;font-size:1.06rem}
.cta-band .acts{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Areas ---------- */
.areas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.area{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--navy);transition:.2s}
.area svg{width:18px;height:18px;color:var(--teal)}
.area:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.area:hover svg{color:#fff}

/* ---------- Page hero (inner) ---------- */
.page-hero{background:radial-gradient(800px 400px at 90% 0%,rgba(245,168,0,.16),transparent 60%),linear-gradient(160deg,#16213a,#24365c);color:#fff;padding:70px 0 80px;position:relative;overflow:hidden}
.page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.page-hero p{color:#bccbf0;max-width:640px;margin-top:14px;font-size:1.08rem}
.crumbs{display:flex;gap:8px;align-items:center;font-size:.88rem;color:#9fb1e0;margin-bottom:18px}
.crumbs a{color:#d6e1fa}
.crumbs a:hover{color:var(--sun)}
.page-hero .hero-actions{margin-top:28px}
.ph-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.ph-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:26px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ph-card h3{color:#fff;margin-bottom:14px;font-size:1.05rem}
.ph-card li{display:flex;gap:10px;align-items:center;color:#d6e1fa;padding:7px 0;font-size:.95rem}
.ph-card svg{width:19px;height:19px;color:var(--sun);flex:none}

/* ---------- Service detail ---------- */
.svc-layout{display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:start}
.svc-main>*+*{margin-top:22px}
.svc-main h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.svc-main .big-img{border-radius:24px;overflow:hidden;aspect-ratio:16/9}
.inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inc{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.inc .ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--aqua);color:var(--teal);display:grid;place-items:center}
.inc .ic svg{width:22px;height:22px}
.inc b{display:block;color:var(--navy);font-family:var(--font-head);font-size:.98rem;margin-bottom:2px}
.inc p{font-size:.9rem}
.mini-steps{display:flex;flex-direction:column;gap:0;border-left:2px dashed #c8d6ee;margin-left:18px}
.mini-steps li{position:relative;padding:0 0 22px 32px}
.mini-steps li::before{content:attr(data-n);position:absolute;left:-19px;top:0;width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--font-head);font-weight:700;display:grid;place-items:center;font-size:.9rem;box-shadow:0 0 0 6px #fff}
.mini-steps b{display:block;color:var(--navy);font-family:var(--font-head);padding-top:5px}
.mini-steps p{font-size:.94rem}
.sidebar{position:sticky;top:104px;display:flex;flex-direction:column;gap:20px}
.side-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.side-box h3{margin-bottom:14px}
.side-links a{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;font-weight:500;color:var(--navy);transition:.2s;font-size:.95rem}
.side-links a+a{margin-top:4px}
.side-links a:hover,.side-links a.on{background:var(--aqua);color:var(--teal)}
.side-links a.on{font-weight:700}
.side-links svg{width:16px;height:16px}
.side-quote{background:linear-gradient(160deg,var(--navy),var(--navy-2));border:0;color:#d3ddf7}
.side-quote h3{color:#fff}
.side-quote p{color:#aab9e3;font-size:.92rem;margin-bottom:14px}
.side-quote .field{background:rgba(255,255,255,.95);margin-bottom:10px}
.side-quote .btn{width:100%}
.side-call{display:flex;gap:14px;align-items:center;background:var(--sun);border:0}
.side-call .ci{width:50px;height:50px;border-radius:50%;background:var(--navy);color:var(--sun);display:grid;place-items:center;flex:none}
.side-call .ci svg{width:22px;height:22px}
.side-call small{display:block;color:var(--navy);font-weight:600;font-size:.8rem}
.side-call b{font-family:var(--font-head);color:var(--navy);font-size:1.15rem}

/* ---------- Values / cards ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;transition:.25s}
.vcard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.vcard .ic{width:60px;height:60px;border-radius:17px;background:linear-gradient(135deg,var(--teal),var(--navy-2));color:#fff;display:grid;place-items:center;margin-bottom:18px}
.vcard .ic svg{width:28px;height:28px}
.vcard h3{margin-bottom:8px}

/* ---------- Gallery ---------- */
.g-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px}
.g-filters button{padding:10px 20px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:600;color:var(--navy);cursor:pointer;transition:.2s;font-size:.92rem}
.g-filters button.on,.g-filters button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.g-item{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1;cursor:pointer;transition:.3s}
.g-item.wide{grid-column:span 2;aspect-ratio:auto}
.g-item.hide{display:none}
.g-cap{position:absolute;inset:auto 0 0 0;z-index:2;padding:40px 18px 16px;background:linear-gradient(to top,rgba(28,41,69,.9),transparent);color:#fff;transform:translateY(8px);opacity:.95;transition:.3s}
.g-cap b{font-family:var(--font-head);display:block}
.g-cap small{color:#bccbf0;font-size:.82rem}
.g-item:hover .g-cap{transform:none}
.g-item:hover{box-shadow:var(--shadow-lg)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(6,24,32,.92);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}
.lightbox .lb-in{width:min(900px,100%);aspect-ratio:16/10;border-radius:20px;overflow:hidden;position:relative}
.lightbox .lb-cap{position:absolute;left:0;right:0;bottom:-46px;text-align:center;color:#fff;font-family:var(--font-head)}
.lightbox .lb-x{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:0;background:#fff;font-size:24px;cursor:pointer;color:var(--navy)}

/* ---------- Blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.post:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.post .p-img{height:210px}
.post .p-body{padding:24px;display:flex;flex-direction:column;flex:1}
.post .meta{display:flex;gap:14px;font-size:.82rem;color:var(--muted);margin-bottom:10px}
.post .meta span{display:inline-flex;gap:6px;align-items:center}
.post .meta svg{width:14px;height:14px;color:var(--teal)}
.post h3{margin-bottom:10px;font-size:1.15rem}
.post p{font-size:.94rem;flex:1}
.post .more{margin-top:16px;display:inline-flex;gap:8px;align-items:center;color:var(--teal);font-weight:600;font-family:var(--font-head);font-size:.92rem}
.post .more svg{width:16px;height:16px;transition:.2s}
.post:hover .more svg{transform:translateX(4px)}
.article{max-width:760px;margin:0 auto}
.article p{font-size:1.08rem;color:#33454d;margin-bottom:18px}
.article h2{font-size:1.6rem;margin:36px 0 14px}
.article ul.bul{margin:0 0 20px 0}
.article ul.bul li{position:relative;padding-left:26px;margin-bottom:10px;color:#33454d;font-size:1.04rem}
.article ul.bul li::before{content:"";position:absolute;left:4px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--teal)}
.article .big-img{border-radius:22px;overflow:hidden;aspect-ratio:16/8;margin-bottom:34px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.c-info{display:flex;flex-direction:column;gap:14px}
.c-card{display:flex;gap:16px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line);align-items:flex-start}
.c-card .ic{width:50px;height:50px;flex:none;border-radius:14px;background:var(--aqua);color:var(--teal);display:grid;place-items:center}
.c-card .ic svg{width:24px;height:24px}
.c-card small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:700;color:var(--teal)}
.c-card b{display:block;font-family:var(--font-head);color:var(--navy);font-size:1.02rem;margin-top:3px;word-break:break-word}
.c-card p{font-size:.92rem;margin-top:2px}
.form-card{background:#fff;border-radius:24px;padding:36px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.form-card h2{font-size:1.7rem;margin-bottom:6px}
.form-card>p{margin-bottom:24px}
.map-ph{border-radius:24px;overflow:hidden;height:340px;background:linear-gradient(135deg,#e3eeff,#c9dcf7);position:relative;display:grid;place-items:center}
.map-ph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff80 1px,transparent 1px),linear-gradient(90deg,#ffffff80 1px,transparent 1px);background-size:40px 40px}
.map-ph .pin{position:relative;text-align:center;background:#fff;padding:20px 26px;border-radius:18px;box-shadow:var(--shadow-lg);max-width:380px}
.map-ph .pin svg{width:34px;height:34px;color:#e5484d;margin:0 auto 8px}
.map-ph .pin b{display:block;color:var(--navy);font-family:var(--font-head)}
.map-ph .pin p{font-size:.9rem;margin:6px 0 12px}

/* ---------- Legal ---------- */
.legal{max-width:820px;margin:0 auto}
.legal h2{font-size:1.35rem;margin:30px 0 10px}
.legal p,.legal li{color:#33454d;margin-bottom:10px}
.legal ul{list-style:disc;padding-left:22px}

/* ---------- Footer ---------- */
.footer{background:#141f36;color:#a3b2d9;padding-top:80px;font-size:.95rem}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.3fr;gap:40px;padding-bottom:50px}
.footer h4{color:#fff;font-size:1.02rem;margin-bottom:20px;position:relative;padding-bottom:12px}
.footer h4::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:3px;background:var(--sun)}
.footer .logo-text b{color:#fff}
.footer .logo-text small{color:#8d9cc8}
.footer p{color:#a3b2d9;margin:18px 0 20px}
.f-links li{margin-bottom:10px}
.f-links a{transition:.2s;display:inline-flex;gap:8px;align-items:center}
.f-links a:hover{color:var(--sun);transform:translateX(3px)}
.f-links svg{width:12px;height:12px;color:var(--teal)}
.f-contact li{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}
.f-contact svg{width:18px;height:18px;color:var(--sun);flex:none;margin-top:3px}
.f-contact a:hover{color:#fff}
.f-areas{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:.88rem}
.f-areas b{color:#fff;margin-right:6px}
.f-areas a:hover{color:var(--sun)}
.f-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.86rem}
.f-bottom a:hover{color:#fff}

/* ---------- Floating actions (universal) ---------- */
.fab{position:fixed;right:20px;bottom:22px;z-index:60;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.fab a,.fab button{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.2);border:0;cursor:pointer;transition:.25s;position:relative}
.fab a:hover,.fab button:hover{transform:scale(1.08)}
.fab svg{width:27px;height:27px}
.fab .wa{background:#25d366}
.fab .wa::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;animation:ping 2s infinite;z-index:-1}
.fab .call{background:var(--teal)}
.fab .top{background:var(--navy);width:46px;height:46px;opacity:0;pointer-events:none}
.fab .top.show{opacity:1;pointer-events:auto}
.fab .top svg{width:20px;height:20px}
.fab .tip{position:absolute;right:70px;white-space:nowrap;background:var(--navy);color:#fff;font-size:.82rem;padding:6px 12px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none;font-weight:500}
.fab a:hover .tip{opacity:1}
@keyframes ping{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.quote-tab{position:fixed;left:0;top:50%;z-index:60;transform:translateY(-50%) rotate(-90deg);transform-origin:left top;margin-top:70px;background:var(--sun);color:var(--navy);font-family:var(--font-head);font-weight:700;padding:11px 20px;border-radius:0 0 14px 14px;border:0;cursor:pointer;font-size:.88rem;letter-spacing:.04em;box-shadow:var(--shadow)}
.mob-bar{display:none}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:150;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(28,41,69,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal.open{display:flex}
.modal .m-box{background:#fff;border-radius:26px;width:min(560px,100%);max-height:92vh;overflow-y:auto;padding:34px;position:relative;animation:pop .3s}
.modal .m-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:20px;color:var(--navy)}
.modal h3{font-size:1.5rem;margin-bottom:4px}
.modal .m-box>p{margin-bottom:20px}
@keyframes pop{from{transform:scale(.94);opacity:0}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .nav,.call-chip{display:none}
  .burger{display:flex}
  .hero .wrap,.split,.faq-layout,.svc-layout,.contact-grid,.ph-grid{grid-template-columns:1fr}
  .hero-visual{max-width:520px;margin:0 auto;width:100%}
  .features,.stats{grid-template-columns:repeat(2,1fr)}
  .services,.services.four,.cards3,.posts{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .process::before{display:none}
  .rv{flex-basis:50%}
  .faq-aside,.sidebar{position:static}
  .f-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .qq-box{grid-template-columns:1fr 1fr}
  .cta-band{grid-template-columns:1fr;padding:40px}
}
@media (max-width:680px){
  body{font-size:16px}
  .section{padding:64px 0}
  .topbar .tb-left .tb-item:not(:first-child),.topbar .tb-right .tb-item{display:none}
  .header .wrap{height:68px}
  .header-cta .btn{display:none}
  .services,.services.four,.cards3,.posts,.stats,.inc-grid,.checks,.form-grid{grid-template-columns:1fr}
  .features{grid-template-columns:1fr 1fr;gap:12px}.feature{padding:18px}.feature .ic{width:44px;height:44px;margin-bottom:10px}.feature p{font-size:.86rem}.feature h3{font-size:.98rem}
  .hero-visual{display:none}
  .hero .wrap{padding-bottom:90px}
  .stats{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr}
  .rv{flex-basis:100%}
  .f-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .g-item.wide{grid-column:span 2}
  .qq-box{grid-template-columns:1fr}
  .fb-1{left:8px}.fb-2{right:8px}
  .hero .wrap{padding-top:50px}
  .cta-band{padding:30px 24px}
  .fab{bottom:84px;right:14px}
  .quote-tab{display:none}
  .mob-bar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(28,41,69,.08)}
  .mob-bar a,.mob-bar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;font-size:.76rem;font-weight:600;color:var(--navy);border:0;background:none;font-family:inherit;cursor:pointer}
  .mob-bar svg{width:22px;height:22px}
  .mob-bar .mb-q{background:var(--sun)}
  .mob-bar .mb-w svg{color:#25d366}
  .mob-bar .mb-c svg{color:var(--teal)}
  .fab .wa,.fab .call{display:none}
  body{padding-bottom:64px}
  .modal .m-box{padding:26px 20px}
  .form-card{padding:24px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---------- Brand logo ---------- */
.logo img{height:66px;width:auto}
.drawer .logo img{height:46px}
.footer .logo{background:#fff;border-radius:16px;padding:10px 16px;display:inline-flex}
.footer .logo img{height:62px}
@media (max-width:680px){.logo img{height:46px}}

.footer .logo{background:none;padding:0}
.footer .logo img{height:60px}
@media (max-width:680px){.logo img{height:42px}}
.feature .ic,.inc .ic,.c-card .ic,.dropdown .di{color:var(--navy)}
.dropdown a:hover .di{background:var(--navy);color:var(--sun)}
.svc .more,.post .more{color:var(--teal-2)}
.step .num{border-color:var(--navy);color:var(--navy)}
.mini-steps li::before{background:var(--navy)}
.rv-dots button.on{background:var(--sun)}
.faq-item.open{border-color:var(--sun)}
.faq-item.open .pm{background:var(--navy);color:var(--sun)}
.faq-q .pm{color:var(--navy)}
.checks svg,.area svg{color:var(--sun-2)}
.area:hover{background:var(--navy);border-color:var(--navy)}
.area:hover svg{color:var(--sun)}
.eyebrow{color:var(--teal-2)}
.eyebrow::before,.center .eyebrow::after{background:var(--sun)}
.cta-band{background:linear-gradient(120deg,#24365c 0%,#16213a 75%)}
.avatar{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:var(--sun)}
.vcard .ic{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:var(--sun)}
.logo-mark{display:none}

/* ---------- Home hero v2 (text + quote form) ---------- */
.hero-v2 .wrap{grid-template-columns:1.1fr .9fr;gap:70px;padding-top:70px;padding-bottom:130px;align-items:center}
.hero-v2::after{display:none}
.hero-v2 .pill{padding:7px 16px;font-size:.9rem;margin-bottom:22px}
.hero-v2 h1{font-family:'Inter Display','Sora',sans-serif;font-weight:900;font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1.04;letter-spacing:-.035em}
.hero-v2 h1 em{color:var(--sun)}
.hero-v2 .lead{font-size:1.12rem;color:#d3dbea;margin:24px 0 30px;max-width:540px}
.hero-v2 .btn{padding:15px 26px;border-radius:12px}
.hero-v2 .btn-ghost{border-color:rgba(255,255,255,.85)}
.hero-v2 .btn-ghost svg{color:var(--sun)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;max-width:560px}
.chips span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:#e8edf6;font-size:.92rem}
.chips svg{width:15px;height:15px;color:var(--sun)}
.hero-form{background:#fff;border-radius:22px;padding:30px 28px;box-shadow:0 30px 70px rgba(0,0,0,.35);color:var(--ink)}
.hero-form h2{font-size:1.65rem;color:var(--navy);letter-spacing:-.02em}
.hero-form>p{color:var(--muted);margin:4px 0 18px;font-size:.98rem}
.hero-form label{display:block;font-weight:700;font-size:.92rem;color:var(--navy);margin:12px 0 6px}
.hero-form .field{background:#f4f6fa;border-color:#e3e7ef}
.hero-form textarea.field{min-height:76px}
.hero-form .hf-btn{width:100%;margin-top:16px;border-radius:12px;padding:15px}
.hero-form .hf-btn svg{width:20px;height:20px}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:90px;z-index:1}
@media (max-width:1080px){.hero-v2 .wrap{grid-template-columns:1fr;gap:40px}}
@media (max-width:680px){.hero-v2 .wrap{padding-top:44px;padding-bottom:100px}.hero-form{padding:24px 20px}.hero-v2 .hero-actions .btn{flex:1}}

/* ---------- Design v3: white header, Outfit, pill WhatsApp ---------- */
body{font-size:17px}
h1,h2,h3,h4{letter-spacing:-.025em}
.topbar{background:#141f36;font-size:.95rem}
.topbar .wrap{min-height:40px}
.topbar .tb-left{gap:8px}.tb-dot{color:#8d9cc8}
.topbar svg{color:#ff6b8a}
.topbar .tb-item{color:#e6ebf5}
.header{background:#fff;border-bottom:1px solid var(--line)}
.header .wrap{height:68px}
.logo img{height:50px}
.nav{gap:2px}
.nav>li>a{color:var(--navy);font-weight:500;font-size:1.02rem;padding:9px 14px;border-radius:10px}
.nav>li>a:hover{color:var(--sun-2)}
.nav>li>a.active{background:#fdf3dc;color:var(--navy);font-weight:600}
.nav .caret{width:12px;height:12px}
.hdr-btn{border-radius:10px;padding:13px 24px}
.burger{background:#fff;border-color:var(--line)}.burger svg{color:var(--navy)}
.hero-v2{background:radial-gradient(700px 500px at 88% 25%,rgba(86,122,190,.55),transparent 65%),linear-gradient(160deg,#16213a 0%,#1c2945 55%,#24365c 100%)}
.hero-v2 h1{font-family:'Outfit',system-ui,sans-serif;font-weight:800;letter-spacing:-.035em;font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.08}
.hero-v2 .pill{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25)}
.hero-v2 .btn{border-radius:10px;font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:1.02rem}
.hero-v2 .btn-ghost svg{color:#ff6b8a}
.chips span{border-radius:999px;font-size:.95rem}
.hero-form{border-radius:20px}
.hero-form h2{font-weight:700}
.hero-form label{font-weight:600}
.hero-form .field{border-radius:12px;background:#f5f7fb}
.hero-form .hf-btn{font-weight:700;justify-content:flex-start;padding-left:24px}
.btn{font-family:'Outfit',system-ui,sans-serif;font-weight:600}
.fab{right:18px;bottom:20px;align-items:flex-end}
.wa-pill{display:inline-flex !important;align-items:center;gap:8px;width:auto !important;height:auto !important;border-radius:999px !important;padding:14px 22px;background:#25d366;color:#fff;font-family:'Outfit',system-ui,sans-serif;font-weight:700;font-size:1.05rem;box-shadow:0 12px 26px rgba(37,211,102,.35)}
.wa-pill svg{width:20px !important;height:20px !important}
/* service areas page */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.area-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;scroll-margin-top:100px;transition:.25s}
.area-card:hover,.area-card:target{box-shadow:var(--shadow-lg);border-color:var(--sun)}
.ac-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ac-ic{width:46px;height:46px;border-radius:14px;background:var(--navy);color:var(--sun);display:grid;place-items:center}.ac-ic svg{width:22px;height:22px}
.ac-head h3{font-size:1.4rem}
.area-card>p{font-size:.96rem}
.ac-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:18px 0 22px}
.ac-list a{display:flex;gap:7px;align-items:center;font-size:.92rem;color:var(--ink)}
.ac-list a:hover{color:var(--sun-2)}
.ac-list svg{width:15px;height:15px;color:var(--sun-2);flex:none}
.ac-acts{display:flex;gap:10px;flex-wrap:wrap}.ac-acts .btn{padding:11px 18px;border-radius:10px;font-size:.92rem}
@media (max-width:1080px){.area-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.area-grid{grid-template-columns:1fr}.topbar .tb-right{display:none}.topbar .tb-left .tb-item:not(:first-child),.tb-dot{display:none}.fab{bottom:82px}.wa-pill{display:none !important}}

/* compact hero form */
.hero-form{padding:24px 24px 22px}
.hero-form h2{font-size:1.45rem}
.hero-form>p{margin:2px 0 8px;font-size:.94rem}
.hf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-form label{margin:10px 0 5px;font-size:.88rem}
.hero-form .field{padding:10px 13px;font-size:.94rem}
.hero-form textarea.field{min-height:54px;height:54px}
.hero-form .hf-btn{margin-top:14px;padding:13px 22px}
.hero-v2 .wrap{padding-top:56px;padding-bottom:110px}
@media (max-width:680px){.hf-row{grid-template-columns:1fr;gap:0}}

/* hero chips: keep on one line */
.hero-v2 .chips{flex-wrap:nowrap;gap:8px;max-width:none}
.hero-v2 .chips span{white-space:nowrap;padding:7px 12px;font-size:.86rem;gap:5px}
@media (max-width:1240px) and (min-width:1081px){.hero-v2 .chips span{padding:6px 10px;font-size:.8rem}}
@media (max-width:640px){.hero-v2 .chips{flex-wrap:wrap}}

/* services: icon cards */
.svc2-grid{gap:22px}
.svc2{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 24px 28px;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc2:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(28,41,69,.12);border-color:rgba(245,168,0,.55)}
.svc2-ic{width:124px;height:124px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff6df 0%,#fdf0d2 60%,#fbe8bf 100%);display:grid;place-items:center;margin-bottom:20px;transition:transform .3s}
.svc2:hover .svc2-ic{transform:scale(1.06)}
.svc2-ic svg{width:100px;height:100px}
.svc2 h3{font-size:1.14rem;margin-bottom:10px}
.svc2 p{font-size:.95rem;color:var(--muted);line-height:1.65;flex:1}
.svc2 .more{margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--teal);font-size:.94rem}
.svc2 .more svg{width:16px;height:16px;transition:transform .2s}
.svc2:hover .more svg{transform:translateX(4px)}

/* feature icons in orange */
.feature .ic{color:#e88a00}
.feature .ic svg{stroke-width:2}
.feature:hover .ic{background:var(--sun);color:#fff;transition:background .25s,color .25s}

/* services: photo tiles */
.svc-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.svc-tile{position:relative;display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#eef2f8;box-shadow:0 6px 20px rgba(28,41,69,.10);transition:transform .3s,box-shadow .3s}
.svc-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,24,44,.78) 0%,rgba(16,24,44,.25) 32%,transparent 55%)}
.svc-tile .st-label{position:absolute;left:12px;right:12px;bottom:18px;z-index:1;text-align:center;color:#fff;font-family:var(--font-head);font-weight:700;font-size:1.08rem;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.svc-tile:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,41,69,.18)}
.svc-tile:hover img{transform:scale(1.07)}
@media (max-width:1080px){.svc-tiles{grid-template-columns:repeat(3,1fr);gap:20px}}
@media (max-width:760px){.svc-tiles{grid-template-columns:repeat(2,1fr);gap:14px}.svc-tile .st-label{font-size:.95rem;bottom:12px}}
/* photo tiles: centred rows like 4 + 3 */
.svc-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:26px}
.svc-tile{flex:0 0 calc((100% - 78px)/4)}
.svc-tile img{object-position:center 35%}
@media (max-width:1080px){.svc-tiles{gap:20px}.svc-tile{flex-basis:calc((100% - 40px)/3)}}
@media (max-width:760px){.svc-tiles{gap:14px}.svc-tile{flex-basis:calc((100% - 14px)/2)}}
/* service tiles with description */
.svc-tile{aspect-ratio:auto;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.svc-tile::after{display:none}
.svc-tile .st-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.svc-tile .st-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,24,44,.8) 0%,rgba(16,24,44,.2) 38%,transparent 60%)}
.svc-tile .st-label{bottom:14px}
.svc-tile .st-text{display:block;padding:16px 18px 20px;text-align:center;font-size:.93rem;line-height:1.6;color:var(--muted)}
@media (max-width:760px){.svc-tile .st-text{padding:12px 12px 14px;font-size:.84rem}}
/* service descriptions: 4 justified lines */
.svc-tile .st-text{text-align:center;padding:16px 16px 18px;font-size:.88rem;line-height:1.6}

/* about: work process timeline */
.wp{border-radius:26px;box-shadow:var(--shadow-lg);font-family:var(--font-body)}
.wp-head span{display:block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--sun)}
.wp-head b{display:block;font-family:var(--font-head);font-size:1.45rem;margin-top:6px}
.wp h4{font-family:var(--font-head);font-size:1.02rem;margin:0}
.wp p{margin:4px 0 0;font-size:.9rem;line-height:1.55}
.wpA{background:linear-gradient(160deg,#16213a,#24365c);color:#fff;padding:34px 34px 30px}
.wpA .wp-head b{color:#fff}
.wpA ol{list-style:none;margin:24px 0 0;padding:0;position:relative}
.wpA ol::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:rgba(245,168,0,.35)}
.wpA li{display:flex;gap:18px;padding:11px 0;position:relative}
.wpA .n{flex:none;width:40px;height:40px;border-radius:50%;background:var(--sun);color:var(--navy);display:grid;place-items:center;font-weight:800;font-family:var(--font-head);box-shadow:0 0 0 5px rgba(245,168,0,.18)}
.wpA h4{color:#fff}.wpA p{color:#b9c6e0}
@media (max-width:680px){.wpA{padding:26px 20px}.wpA li{gap:14px}}
.wp-head b{line-height:1.25}
.wpA p{color:#fff}
/* work process card matches height of About text */
.split:has(.wpA){align-items:stretch}
.wpA{display:flex;flex-direction:column;padding:26px 32px 24px}
.wpA ol{flex:1;display:flex;flex-direction:column;justify-content:space-between;margin-top:16px}
.wpA li{padding:6px 0}
@media (max-width:1080px){.wpA ol{gap:6px}}

/* How it works: sample C */
.step .num::after{display:none}
.section:has(> .wrap > .process){background:#f7f8fb}
.process{gap:44px}
.process::before{display:none}
.step{background:#fff;border-radius:20px;padding:30px 22px 26px;box-shadow:0 8px 26px rgba(28,41,69,.07);border-bottom:4px solid var(--sun);transition:transform .3s,box-shadow .3s}
.step:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(28,41,69,.13)}
.step:not(:last-child)::after{content:"";position:absolute;right:-34px;top:50%;width:24px;height:24px;margin-top:-12px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5a800' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.step .num{width:70px;height:70px;border:none;background:linear-gradient(150deg,#ffc531,#f5a300);color:var(--navy);box-shadow:0 10px 22px rgba(245,168,0,.35)}
.step .num svg{width:30px;height:30px}
.step p{color:var(--muted)}
@media (max-width:1080px){.step:not(:last-child)::after{display:none}.process{gap:20px}}

/* stats: white boxes */
.stat{background:#fff;border:none;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.stat b{color:#e89400}
.stat span{color:var(--navy);font-weight:600}

/* how it works: colour illustrated icons */
.step .num.num-color{width:96px;height:96px;background:radial-gradient(circle at 50% 45%,#fff6df,#fbe8bf);box-shadow:none}
.step .num.num-color svg{width:62px;height:62px}
/* reviews: read more (same as Online Chandigarh) */
.rv-track{align-items:flex-start}
.rv-card{height:auto}
.rv-card p{flex:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;min-height:calc(1.7em * 4);line-height:1.7;margin-bottom:6px}
.rv-card.expanded p{-webkit-line-clamp:unset;display:block}
.rv-more{align-self:flex-start;background:none;border:0;padding:0;font-family:var(--font-head);font-weight:600;font-size:.88rem;color:#c98500;cursor:pointer;visibility:hidden}
.rv-more.show{visibility:visible}
.rv-more:hover{text-decoration:underline}

/* ---------- Reviews v2: Online Chandigarh pattern (navy section, white cards) ---------- */
.rv-section .eyebrow{color:var(--sun)}
.rv-section .eyebrow::before,.rv-section .eyebrow::after{background:var(--sun)}
.rv-section .sec-head b,.rv-section .sec-head strong{color:#fff !important}
.rv-section .rv-card{background:#fff;border:0;border-radius:24px;padding:30px 34px 26px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.rv-section .rv-card:hover{box-shadow:0 22px 48px rgba(0,0,0,.25)}
.rv-section .rv-card .q{position:absolute;right:30px;top:28px;width:40px;height:40px;color:var(--sun)}
.rv-top{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-right:50px}
.rv-top .avatar{width:58px;height:58px;flex:none;border-radius:50%;background:#fbbd3c;color:var(--navy);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:1.2rem}
.rv-top b{display:block;font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:#111827;margin-bottom:6px;line-height:1.2}
.rv-top .stars{display:flex;gap:2px;margin:0;color:var(--sun)}
.rv-top .stars svg{width:15px;height:15px}
.rv-section .rv-card p{color:#1f2937;font-size:1.04rem;line-height:1.75;min-height:calc(1.75em * 4)}
.rv-section .rv-more{font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--sun-2);margin-top:6px}
.rv-section .rv-more:hover{color:var(--sun);text-decoration:none}
.rv-section .rv-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.rv-section .rv-btn:hover{background:var(--sun);border-color:var(--sun);color:var(--navy)}
.rv-section .rv-dots button{background:rgba(255,255,255,.3)}
.rv-section .rv-dots button.on{background:var(--sun)}
/* review slider dots: white */
.rv-section .rv-dots button,.rv-section .rv-dots button:not(.on){background:#ffffff !important;opacity:1}
.rv-section .rv-dots button.on{background:var(--sun) !important}

/* ---------- FAQ vertical slider (scroll box top to bottom) ---------- */
.faq-wrap{position:relative}
.faq-wrap .faq{max-height:600px;overflow-y:auto;padding:4px 14px 4px 2px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--sun) #e9edf4;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%)}
.faq-wrap .faq::-webkit-scrollbar{width:8px}
.faq-wrap .faq::-webkit-scrollbar-track{background:#e9edf4;border-radius:8px}
.faq-wrap .faq::-webkit-scrollbar-thumb{background:var(--sun);border-radius:8px}
.faq-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.faq-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;display:grid;place-items:center;transition:.2s}
.faq-nav button:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:var(--sun)}
.faq-nav button:disabled{opacity:.35;cursor:default}
.faq-nav svg{width:20px;height:20px}
.faq-nav span{font-family:var(--font-head);font-weight:600;font-size:.9rem;color:var(--muted)}
@media (max-width:680px){.faq-wrap .faq{max-height:520px}}
/* top bar + hero phone icons in theme gold */
.topbar svg,.topbar .tb-item svg{color:var(--sun) !important}
.hero-v2 .btn-ghost svg{color:var(--sun) !important}
/* feature icons: always filled orange (hover look by default) */
.feature .ic{background:var(--sun) !important;color:#fff !important;box-shadow:0 8px 18px rgba(245,168,0,.3)}
.feature:hover .ic{background:var(--sun-2) !important}
.feature .ic{color:var(--navy) !important}
/* hero form button: orange with navy text */
.hero-form .hf-btn{background:var(--sun) !important;color:var(--navy) !important;border-color:var(--sun) !important;justify-content:center;padding-left:22px}
.hero-form .hf-btn:hover{background:var(--sun-2) !important;border-color:var(--sun-2) !important}
/* date & time fields */
.hf-ico{position:relative}
.hf-ico>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--sun-2);pointer-events:none;z-index:1}
.hf-ico .field{padding-left:38px !important}
.hero-form input[type=date]{cursor:pointer;min-height:42px}
.hero-form input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}
/* hero form button hover: navy with white text */
.hero-form .hf-btn{transition:background .25s,color .25s,border-color .25s,transform .25s}
.hero-form .hf-btn:hover{background:var(--navy) !important;border-color:var(--navy) !important;color:#fff !important;transform:translateY(-2px)}

/* ---------- Universal button style (all buttons site-wide) ---------- */
.btn,.btn-sun,.btn-teal,.btn-ghost,.btn-line,.btn-wa,.hdr-btn,.hero-form .hf-btn{
  background:var(--sun) !important;color:var(--navy) !important;border:2px solid var(--sun) !important;
  transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s !important}
.btn svg,.btn-ghost svg,.hero-v2 .btn-ghost svg{color:currentColor !important}
.btn:hover,.btn-sun:hover,.btn-teal:hover,.btn-ghost:hover,.btn-line:hover,.btn-wa:hover,.hdr-btn:hover,.hero-form .hf-btn:hover{
  background:var(--navy) !important;color:#fff !important;border-color:var(--navy) !important;transform:translateY(-2px)}
/* on dark navy sections, keep the hovered button visible */
.hero .btn:hover,.page-hero .btn:hover,.cta-band .btn:hover,.help .btn:hover,.side-quote .btn:hover,.bg-navy .btn:hover,.footer .btn:hover,.svc.cta-card .btn:hover,.post[style*="navy"] .btn:hover{
  border-color:rgba(255,255,255,.6) !important;box-shadow:0 8px 20px rgba(0,0,0,.25)}
/* FAQ: exactly 5 visible (height set by script), orange plus buttons */
.faq-wrap .faq{max-height:none;-webkit-mask-image:none;mask-image:none}
.faq-q .pm{background:var(--sun) !important;color:var(--navy) !important}
.faq-item.open .pm{background:var(--navy) !important;color:var(--sun) !important}
/* how-it-works circles: soft blue tint with navy ring */
.step .num.num-color{background:radial-gradient(circle at 50% 40%,#f2f6fc,#dbe4f3) !important;box-shadow:0 0 0 4px #fff,0 0 0 6px #c9d5ea,0 10px 24px rgba(28,41,69,.12) !important}
/* how-it-works circles: theme navy */
.step .num.num-color{background:radial-gradient(circle at 50% 35%,#2a3a5e,#1c2945) !important;box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(245,168,0,.55),0 12px 26px rgba(28,41,69,.3) !important}
/* how-it-works circles: B soft blue */
.step .num.num-color{background:radial-gradient(circle at 50% 40%,#dcebff,#b9d6fb) !important;box-shadow:none !important}
/* section labels: theme orange, slightly larger */
.eyebrow{color:var(--sun) !important;font-size:.95rem !important;letter-spacing:.14em}
.eyebrow::before,.center .eyebrow::after{background:var(--sun) !important;width:26px}
/* footer text white */
.footer,.footer p,.footer a,.footer span,.footer li,.footer .f-links a,.footer .f-contact a,.footer .f-contact span,.footer .f-bottom,.footer .f-bottom a{color:#ffffff !important}
.footer .f-links a:hover,.footer .f-contact a:hover,.footer .f-bottom a:hover{color:var(--sun) !important}
/* footer link arrows: theme orange */
.footer .f-links svg{color:var(--sun) !important;stroke-width:2.6;width:13px;height:13px}

/* ---------- Fixed call + WhatsApp buttons, right middle ---------- */
.side-contact{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:65;display:flex;flex-direction:column;gap:12px}
.side-contact a{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.22);transition:transform .25s,background .25s,color .25s}
.side-contact a svg{width:25px;height:25px}
.side-contact .sc-call{background:var(--sun);color:var(--navy)}
.side-contact .sc-wa{background:#25d366;color:#fff}
.side-contact a:hover{transform:scale(1.08)}
.side-contact .sc-call:hover{background:var(--navy);color:#fff}
.side-contact .sc-tip{position:absolute;right:66px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--navy);color:#fff;font-family:var(--font-head);font-size:.85rem;font-weight:600;padding:7px 12px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
.side-contact a:hover .sc-tip{opacity:1}
@media (max-width:680px){.side-contact{right:10px}.side-contact a{width:46px;height:46px}.side-contact a svg{width:21px;height:21px}.side-contact .sc-tip{display:none}}
/* smaller side contact buttons */
.side-contact{gap:10px}
.side-contact a{width:46px;height:46px}
.side-contact a svg{width:21px;height:21px}
.side-contact .sc-tip{right:58px}
@media (max-width:680px){.side-contact a{width:40px;height:40px}.side-contact a svg{width:18px;height:18px}}

/* ---------- Home: Our Recent Work photo grid ---------- */
.rw-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px}
.rw-item{position:relative;display:block;border-radius:18px;overflow:hidden;background:#dfe6f1}
.rw-item.big{grid-column:span 2;grid-row:span 2}
.rw-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rw-item:hover img{transform:scale(1.06)}
.rw-cap{position:absolute;left:12px;bottom:12px;background:rgba(28,41,69,.88);color:#fff;font-family:var(--font-head);font-weight:600;font-size:.9rem;padding:7px 13px;border-radius:999px}
.rw-item:hover .rw-cap{background:var(--sun);color:var(--navy)}
@media (max-width:1080px){.rw-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}}
@media (max-width:680px){.rw-grid{grid-auto-rows:150px;gap:10px}.rw-item.big{grid-column:span 2;grid-row:span 1}.rw-cap{font-size:.78rem;padding:5px 10px}}
.rw-grid{grid-auto-flow:dense}

/* ---------- Before & After sliders ---------- */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ba-card{background:#fff;border-radius:20px;padding:12px 12px 16px;box-shadow:0 10px 28px rgba(28,41,69,.08)}
.ba{position:relative;aspect-ratio:4/3.2;border-radius:14px;overflow:hidden;user-select:none;touch-action:pan-y}
.ba-img{position:absolute;inset:0}
.ba-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ba-after{background:linear-gradient(135deg,#eef3f9,#d3dfee)}
.ba-before{background:linear-gradient(135deg,#8b7c66,#5b5040);clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-head);font-weight:600;font-size:.9rem;color:rgba(28,41,69,.45)}
.ba-before .ba-ph{color:rgba(255,255,255,.6)}
.ba-tag{position:absolute;top:12px;z-index:3;font-family:var(--font-head);font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:7px;pointer-events:none}
.ba-tag-b{left:12px;background:rgba(17,24,39,.75);color:#fff}
.ba-tag-a{right:12px;background:var(--sun);color:var(--navy)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;margin-left:-2px;background:#fff;z-index:4;pointer-events:none;box-shadow:0 0 10px rgba(0,0,0,.25)}
.ba-knob{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--sun);color:var(--navy);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.ba-knob svg{width:22px;height:22px}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;-webkit-appearance:none;appearance:none}
.ba-range:focus-visible + *{outline:none}
.ba:focus-within .ba-knob{box-shadow:0 0 0 4px rgba(245,168,0,.4),0 6px 16px rgba(0,0,0,.25)}
.ba-name{display:inline-flex;align-items:center;gap:8px;margin:14px 6px 0;font-family:var(--font-head);font-weight:700;font-size:1.08rem;color:var(--navy)}
.ba-name svg{width:16px;height:16px;color:var(--sun);transition:transform .2s}
.ba-name:hover{color:var(--sun-2)}.ba-name:hover svg{transform:translateX(4px)}
@media (max-width:1080px){.ba-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.ba-grid{grid-template-columns:1fr}}
.ba-before .ba-ph{right:auto;width:50%}
.ba-after .ba-ph{left:auto;width:50%}
.ba-after{z-index:1}.ba-before{z-index:2}

/* ---------- Why Choose Us comparison ---------- */
.wc-table{max-width:1000px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 18px 44px rgba(28,41,69,.1);overflow:hidden;border:1px solid var(--line)}
.wc-row{display:grid;grid-template-columns:1.1fr 1.15fr 1fr;align-items:stretch}
.wc-row>div{padding:17px 24px;display:flex;align-items:center;gap:12px;font-size:1rem}
.wc-row:not(.wc-head)+.wc-row>div{border-top:1px solid var(--line)}
.wc-f{font-family:var(--font-head);font-weight:700;color:var(--navy)}
.wc-us{background:var(--navy);color:#fff;font-weight:500}
.wc-row:not(.wc-head)+.wc-row .wc-us{border-top-color:rgba(255,255,255,.1) !important}
.wc-them{color:var(--muted)}
.wc-head>div{padding:22px 24px;font-family:var(--font-head);font-weight:700;font-size:1.05rem}
.wc-head .wc-us{justify-content:center;border-radius:0}
.wc-head .wc-them{justify-content:flex-start;color:var(--muted)}
.wc-logo{height:46px;width:auto}
.wc-ic{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center}
.wc-ic svg{width:15px;height:15px}
.wc-ic.ok{background:var(--sun);color:var(--navy)}
.wc-ic.no{background:#fde4e4;color:#d64545}
@media (max-width:760px){
 .wc-row{grid-template-columns:1fr 1fr}
 .wc-f{grid-column:1/-1;background:#f5f7fb;padding:12px 16px !important}
 .wc-row>div{padding:12px 14px;font-size:.92rem}
 .wc-head .wc-f{display:none}
}

/* ---------- Why Choose Us: option J (photo + overlapping navy card) ---------- */
.wj-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.wj-photo{height:520px;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(28,41,69,.12)}
.wj-photo img{width:100%;height:100%;object-fit:cover}
.wj-card{position:relative;z-index:2;margin-left:-80px;background:var(--navy);border-radius:24px;padding:44px 42px;box-shadow:0 28px 60px rgba(28,41,69,.32)}
.wj-card .eyebrow{display:inline-flex}
.wj-card .eyebrow::after{display:none}
.wj-card h2{color:#fff;margin:6px 0 22px}
.wj-list{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.wj-list li{display:flex;gap:13px;align-items:flex-start;color:#aab9e3;font-size:1.02rem;line-height:1.5}
.wj-list b{color:#fff;font-weight:700}
.wj-tick{width:26px;height:26px;flex:none;border-radius:50%;background:var(--sun);color:var(--navy);display:grid;place-items:center;margin-top:1px}
.wj-tick svg{width:14px;height:14px}
@media (max-width:1080px){.wj-grid{grid-template-columns:1fr}.wj-photo{height:340px}.wj-card{margin:-70px 18px 0;padding:34px 28px}}
@media (max-width:680px){.wj-photo{height:240px}.wj-card{margin:-50px 8px 0;padding:28px 22px}.wj-list li{font-size:.95rem}}
/* buttons on dark/navy backgrounds: hover turns white with navy text (stays visible) */
.wj-card .btn:hover,.hero .btn:hover,.page-hero .btn:hover,.cta-band .btn:hover,.help .btn:hover,.side-quote .btn:hover,.bg-navy .btn:hover,.footer .btn:hover,.svc.cta-card .btn:hover,.post[style*="navy"] .btn:hover,.rv-section .btn:hover{
  background:#fff !important;color:var(--navy) !important;border-color:#fff !important;box-shadow:0 10px 24px rgba(0,0,0,.3)}

/* ---------- What's Included (tabs) ---------- */
.wi-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px}
.wi-tab{font-family:var(--font-head);font-weight:600;font-size:1rem;padding:12px 22px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;transition:.2s}
.wi-tab:hover{border-color:var(--sun);color:var(--navy)}
.wi-tab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.wi-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(28,41,69,.08)}
.wi-panel{display:grid;grid-template-columns:.85fr 1.15fr}
.wi-panel[hidden]{display:none}
.wi-panel.on{animation:wiIn .35s ease}
@keyframes wiIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wi-photo{min-height:400px;background:#dfe6f1}
.wi-photo img{width:100%;height:100%;object-fit:cover}
.wi-body{padding:36px 40px}
.wi-body h3{font-size:1.6rem;color:var(--navy)}
.wi-body>p{margin:6px 0 14px}
.wi-list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin-bottom:26px}
.wi-list li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f4;color:var(--ink);font-size:1rem}
.wi-tick{width:24px;height:24px;flex:none;border-radius:50%;background:var(--sun);color:var(--navy);display:grid;place-items:center}
.wi-tick svg{width:13px;height:13px}
@media (max-width:1080px){.wi-panel{grid-template-columns:1fr}.wi-photo{min-height:260px;height:260px}}
@media (max-width:680px){.wi-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px}.wi-tab{flex:none;padding:10px 18px;font-size:.95rem}.wi-body{padding:26px 22px}.wi-list{grid-template-columns:1fr}.wi-photo{height:200px;min-height:200px}}
/* What's Included: one line per item */
.wi-panel{grid-template-columns:.8fr 1.2fr}
.wi-list{column-gap:22px}
.wi-list li{white-space:nowrap;font-size:.98rem;min-width:0}
@media (max-width:1180px){.wi-list li{white-space:normal}}
.wi-list{margin-bottom:0}
/* Mobile/tablet: stack photo above text, single-column list */
@media (max-width:860px){
  .wi-panel{grid-template-columns:1fr}
  .wi-photo{height:240px;min-height:240px}
  .wi-body{padding:24px 20px}
  .wi-body h3{font-size:1.4rem;line-height:1.25}
  .wi-list{grid-template-columns:1fr;column-gap:0}
  .wi-list li{white-space:normal;font-size:.97rem;padding:11px 0}
}
@media (max-width:480px){
  .wi-photo{height:200px;min-height:200px}
  .wi-body{padding:20px 16px}
}
.wi-photo img{image-rendering:auto;filter:saturate(1.03)}

/* ---------- Home page: clean alternating section backgrounds ---------- */
.bg-white{background:#ffffff !important}
.bg-soft{background:#f4f6fa !important}
.hero-wave path{fill:#f4f6fa}
/* cards on white sections get a soft border so they don't float */
.bg-white .wi-card,.bg-white .ba-card,.bg-white .feature,.bg-white .svc{border:1px solid var(--line)}
/* subtle divider where two light sections meet a navy band is not needed; keep shadows contained */
.section{position:relative}

/* ---------- Menu style H: short orange bar under active link ---------- */
.nav>li>a{position:relative;background:transparent !important;color:var(--navy) !important;font-weight:500}
.nav>li>a:hover{color:var(--navy) !important}
.nav>li>a.active{font-weight:700 !important}
.nav>li>a::after{content:"";position:absolute;left:50%;bottom:2px;width:0;height:4px;border-radius:4px;background:var(--sun);transform:translateX(-50%);transition:width .25s,opacity .25s;opacity:.5}
.nav>li>a:hover::after{width:12px}
.nav>li>a.active::after{width:22px;opacity:1}
/* mobile drawer: active link marker */
.drawer a.dl.active{color:var(--navy);font-weight:700;box-shadow:inset 4px 0 0 var(--sun);padding-left:12px}

/* ---------- Services dropdown hover: style D (orange title + slide right) ---------- */
.dropdown a{background:transparent !important;transition:transform .22s ease}
.dropdown a:hover{background:transparent !important;transform:translateX(6px)}
.dropdown a .di{background:#fdf3dc !important;color:var(--navy) !important;transition:background .22s,color .22s}
.dropdown a:hover .di{background:var(--sun) !important;color:var(--navy) !important}
.dropdown a b{transition:color .22s}
.dropdown a:hover b{color:var(--sun-2) !important}
/* dropdown: titles only */
.dropdown{width:480px}
.dropdown a{padding:10px 12px;align-items:center}
.dropdown a b{font-size:.98rem}
.dropdown{width:520px}
.dropdown a b{white-space:nowrap}
/* shift main menu a little to the right */
@media (min-width:1081px){.header nav{position:relative;left:105px}}
/* quote form button (white card inside hero): navy on hover */
.hero .hero-form .hf-btn:hover,.hero-form .hf-btn:hover{background:var(--navy) !important;border-color:var(--navy) !important;color:#fff !important;box-shadow:0 10px 22px rgba(28,41,69,.3)}
/* same for buttons inside the white quote pop-up and white sidebar boxes */
.modal .btn:hover{background:var(--navy) !important;border-color:var(--navy) !important;color:#fff !important}

/* ---------- Internal page banner v2 (navy + slanted orange stats panel) ---------- */
.ph2{position:relative;background:var(--navy);color:#fff;overflow:hidden;min-height:340px;display:flex;align-items:center}
.ph2-wrap{position:relative;z-index:2;width:100%;padding-top:64px;padding-bottom:64px}
.ph2-text{max-width:56%}
.ph2 .crumbs{margin-bottom:16px;font-size:.9rem;color:#9fb0d0}
.ph2 .crumbs a{color:#d6def0}.ph2 .crumbs a:hover{color:var(--sun)}
.ph2 h1{color:#fff;font-family:var(--font-head);font-weight:800;font-size:clamp(2.2rem,4.6vw,3.7rem);line-height:1.06;letter-spacing:-.03em;margin:0}
.ph2 h1.ph2-long{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.ph2 h1 em{font-style:normal;color:var(--sun)}
.ph2-loc{display:block;font-size:1.05rem;font-weight:600;letter-spacing:0;color:#c6d0e6;margin-top:10px}
.ph2 p{color:#e3e8f2;font-size:1.08rem;line-height:1.75;margin-top:18px;max-width:640px}
.ph2-panel{position:absolute;top:0;right:0;bottom:0;width:40%;background:var(--sun);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);display:flex;align-items:center;justify-content:center;padding-left:7%}
.ph2-stats{display:grid;gap:10px 40px;width:100%;max-width:560px;padding:0 40px}
.ph2-n3{grid-template-columns:repeat(3,1fr)}.ph2-n1{grid-template-columns:1fr}
.ph2-stat{text-align:center}
.ph2-stat b{display:block;font-family:var(--font-head);font-weight:800;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;color:var(--navy);letter-spacing:-.02em;white-space:nowrap}
.ph2-stat span{display:block;margin-top:8px;font-size:1rem;font-weight:500;color:var(--navy)}
@media (max-width:1080px){
 .ph2{display:block;min-height:0}
 .ph2-text{max-width:100%}
 .ph2-wrap{padding-bottom:40px}
 .ph2-panel{position:relative;width:100%;clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);padding:46px 0 34px}
 .ph2-stats{padding:0 22px;gap:10px 16px}
}
@media (max-width:680px){.ph2-wrap{padding-top:44px}.ph2-stat b{font-size:1.6rem}.ph2-stat span{font-size:.85rem}}
@media (min-width:1081px){
 .ph2-panel{width:44%;padding-left:9%;padding-right:70px}
 .ph2-stats{padding:0;gap:10px 22px}
 .ph2-stat b{font-size:clamp(1.5rem,2.2vw,2.3rem)}
 .ph2-stat span{white-space:nowrap;font-size:.95rem}
 .ph2-text{max-width:52%}
}

/* ---------- Quick Quote box: city links ---------- */
.sq-cities{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.sq-cities h4{color:#fff;font-family:var(--font-head);font-size:1rem;font-weight:700;margin:0 0 12px}
.sq-chips{display:flex;flex-wrap:wrap;gap:8px}
.sq-city{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#e3e8f2;font-size:.9rem;font-weight:500;transition:.2s}
.sq-city svg{width:14px;height:14px;color:var(--sun)}
.sq-city:hover{background:var(--sun);border-color:var(--sun);color:var(--navy)}
.sq-city:hover svg{color:var(--navy)}
.sq-city.on{background:var(--sun);border-color:var(--sun);color:var(--navy);font-weight:700}
.sq-city.on svg{color:var(--navy)}
.sidebar{position:static !important}

/* Mission & Vision stacked cards */
.mv-stack{display:flex;flex-direction:column;gap:28px;margin-bottom:28px}
.mv-card{background:#fff;border:1px solid #e8ecf3;border-radius:24px;padding:44px 54px;box-shadow:0 6px 24px rgba(28,41,69,.06)}
.mv-card h3{font-size:1.85rem;font-weight:700;color:#1c2945;margin:0 0 16px;letter-spacing:-.01em}
.mv-card p{font-size:1.06rem;line-height:1.9;color:#5b6475;margin:0}
.cards3.mv-two{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.mv-card{padding:28px 24px;border-radius:18px}.mv-card h3{font-size:1.45rem}.cards3.mv-two{grid-template-columns:1fr}}

/* Shorter inner-page banner */
@media(min-width:901px){
.ph2{min-height:250px}
.ph2-wrap{padding-top:38px;padding-bottom:38px}
.ph2 p{margin-top:12px;line-height:1.65}
.ph2-loc{margin-top:6px}
}

/* Sidebar city card – style D */
.sq-d{padding:0;overflow:hidden;box-shadow:0 8px 26px rgba(28,41,69,.07)}
.sq-d-head{background:var(--sun);padding:16px 22px;display:flex;align-items:center;gap:12px}
.sq-d-ic{width:40px;height:40px;border-radius:12px;background:var(--navy);color:var(--sun);display:grid;place-items:center;flex:none}
.sq-d-ic svg{width:18px;height:18px}
.sq-d-head b{display:block;color:var(--navy);font-family:var(--font-head);font-size:1.05rem;font-weight:700;line-height:1.25}
.sq-d-head small{color:var(--navy);opacity:.8;font-size:.82rem}
.sq-d .sq-chips{padding:18px 22px 22px;gap:8px}
.sq-d .sq-city{background:#fff;border:1.5px solid #e1e6ef;color:var(--navy);font-weight:600}
.sq-d .sq-city svg{color:var(--sun)}
.sq-d .sq-city:hover{border-color:var(--sun);background:#fff8e6;color:var(--navy)}
.sq-d .sq-city:hover svg{color:var(--sun)}
.sq-d .sq-city.on,.sq-d .sq-city.on:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.sq-d .sq-city.on svg{color:var(--sun)}
.side-call2{display:block;position:relative;overflow:hidden;border:0;background:linear-gradient(135deg,var(--navy),#2b3f69);padding:22px 24px;transition:transform .2s}
.side-call2:hover{transform:translateY(-2px)}
.side-call2:after{content:"";position:absolute;right:-34px;top:-34px;width:130px;height:130px;border-radius:50%;background:rgba(245,168,0,.18)}
.side-call2 .tag{display:inline-block;background:var(--sun);color:var(--navy);font-weight:700;font-size:.72rem;letter-spacing:.04em;padding:4px 10px;border-radius:999px;margin-bottom:8px}
.side-call2 b{display:block;color:#fff;font-family:var(--font-head);font-size:1.4rem;font-weight:700}
.side-call2 small{color:#aab9e3;font-size:.86rem}
.side-call2:after{background:none;border:16px solid rgba(245,168,0,.28);right:-40px;top:-40px;width:120px;height:120px}
.side-call2 .tag,.side-call2 b,.side-call2 small{position:relative;z-index:1}

/* Home-page quote form in service sidebar */
.side-form{box-shadow:0 14px 36px rgba(28,41,69,.12);border:1px solid #e6eaf2}
.side-form .hf-row{grid-template-columns:1fr;gap:0}
.side-form h2{font-size:1.4rem}

/* Why Choose Us heading on one line */
@media(min-width:1000px){.wj-card h2{font-size:2.15rem;white-space:nowrap}}
@media(min-width:901px){.ph2-text{max-width:min(52%,660px)}.ph2-text:has(h1 br){max-width:660px}}
@media(min-width:901px){.ph2 h1.h1-one{white-space:nowrap;font-size:var(--h1fs)}.ph2-text:has(h1.h1-one){max-width:none}}

/* Compact sidebar boxes */
.sidebar .side-box:not(.sq-d){padding:20px}
.sidebar .side-box h3{margin-bottom:10px;font-size:1.15rem}
.side-links a{padding:8px 12px;font-size:.92rem}
.side-links a+a{margin-top:2px}
.side-form{padding:20px 20px 18px !important}
.side-form h2{font-size:1.25rem;margin-bottom:2px}
.side-form label{margin:7px 0 4px;font-size:.84rem}
.side-form .field{padding:8px 12px;font-size:.9rem;min-height:0}
.side-form input[type=date]{min-height:38px}
.side-form textarea.field{min-height:44px;height:44px}
.side-form .hf-btn{margin-top:12px;padding:11px 20px}
@media(min-width:1000px){.sidebar .side-links{display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box}.sidebar .side-links a+a{margin-top:0}}
.side-form form>.hf-row:first-child{grid-template-columns:1fr 1fr;gap:10px}

/* Form validation */
.field.is-bad{border-color:#e5484d !important;background:#fff5f5 !important;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.f-err{display:block;color:#d93036;font-size:.78rem;font-weight:500;margin:4px 2px 0;line-height:1.3}
.hero-form .f-err,.side-form .f-err{margin-top:4px}
/* Date + time on one line in sidebar form */
.side-form form>.hf-row:nth-of-type(3){grid-template-columns:1fr 1fr;gap:10px}
.side-form .hf-ico .field{padding-left:34px !important;padding-right:6px}
.side-form .hf-ico>svg{left:10px;width:16px;height:16px}
.side-form input[type=date]::-webkit-calendar-picker-indicator{margin-left:0;padding:0}

/* All Services hover – style A (navy fill) */
.side-links a{transition:background .22s,color .22s}
.side-links a svg{transition:color .22s,transform .22s}
.side-links a:hover,.side-links a.on{background:var(--navy) !important;color:#fff !important}
.side-links a.on{font-weight:700}
.side-links a:hover svg,.side-links a.on svg{color:var(--sun);transform:translateX(2px)}

/* City chips: 2 neat rows */
.sq-d .sq-chips{padding:16px 16px 18px;gap:7px}
.sq-d .sq-city{flex:1 1 auto;justify-content:center;padding:7px 9px;font-size:.84rem;gap:5px;white-space:nowrap}
.sq-d .sq-city svg{width:13px;height:13px}
.sq-d .sq-chips{display:grid;grid-template-columns:auto auto auto;gap:7px;padding:16px 14px 18px}
.sq-d .sq-city{padding:7px 8px;font-size:.8rem;gap:4px}
@media(max-width:999px){.sq-d .sq-chips{display:flex;flex-wrap:wrap}}
.sq-d .sq-chips>a:nth-child(2){order:3}.sq-d .sq-chips>a:nth-child(3){order:2}
.sq-d .sq-chips>a:nth-child(4){order:4}.sq-d .sq-chips>a:nth-child(5){order:5}.sq-d .sq-chips>a:nth-child(6){order:6}
@media(max-width:999px){.sq-d .sq-chips{display:grid;grid-template-columns:auto auto auto;gap:6px}.sq-d .sq-city{padding:7px 6px;font-size:.78rem}}
.sq-d .sq-city{padding:10px 8px;font-size:.85rem}
.sq-d .sq-city svg{width:14px;height:14px}
@media(max-width:999px){.sq-d .sq-city{padding:9px 6px;font-size:.8rem}}

/* City card header – style A (navy) */
.sq-d-head{background:linear-gradient(135deg,var(--navy),#2b3f69);padding:16px 18px;gap:12px}
.sq-d-ic{width:38px;height:38px;border-radius:50%;background:rgba(245,168,0,.18);color:var(--sun)}
.sq-d-head b{color:#fff;font-size:1rem;line-height:1.3}
.sq-d-head b em{font-style:normal;color:var(--sun)}
.sq-d-head{padding:12px 18px}
.sq-d-head b em{color:#fff}

/* What's Included: 3 per row */
@media(min-width:1000px){
.inc-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.inc{flex-direction:column;gap:12px;padding:20px}
}
@media(min-width:640px) and (max-width:999px){.inc-grid{grid-template-columns:1fr 1fr}}
.sq-d{display:flex;flex-direction:column}
.sq-d .sq-chips{flex:1;align-content:center}
@media(min-width:1000px){.sq-d .sq-chips{padding:16px 12px 18px;gap:7px}.sq-d .sq-city{padding:10px 5px}}
@media(min-width:1000px){
.inc{padding:14px 16px;gap:8px;border-radius:14px}
.inc .ic{width:36px;height:36px;border-radius:10px}
.inc .ic svg{width:19px;height:19px}
.inc b{font-size:.95rem;margin-bottom:3px}
.inc p{font-size:.86rem;line-height:1.5}
.inc-grid{gap:12px}
}
@media(min-width:1000px){aside.sidebar{gap:14px}.side-form textarea.field{min-height:36px;height:36px}.side-form .hf-btn{margin-top:8px}}
@media(min-width:1000px){.inc-grid{grid-auto-rows:1fr}}

/* Our Process – arrow chevrons (style E) */
.pchev{display:grid;grid-template-columns:repeat(4,1fr);column-gap:0;row-gap:14px}
.pc-s{display:contents}
.pc-h{grid-row:1;grid-column:var(--c);background:var(--navy);color:#fff;padding:18px 30px 18px 34px;margin-left:-10px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,18px 50%);min-height:76px;display:flex;flex-direction:column;justify-content:center}
.pc-s:first-child .pc-h{margin-left:0;padding-left:20px;border-radius:14px 0 0 14px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}
.pc-s:nth-child(2n) .pc-h{background:#2b3f69}
.pc-s:last-child .pc-h{background:var(--sun);color:var(--navy)}
.pc-h span{font-size:.7rem;font-weight:800;letter-spacing:.1em;opacity:.8}
.pc-h b{display:block;font-family:var(--font-head);font-size:1rem;margin-top:2px;line-height:1.25;color:inherit}
.pc-s p{grid-row:2;grid-column:var(--c);font-size:.86rem;color:var(--muted);line-height:1.55;margin:0;padding:0 12px 0 4px}
@media(max-width:699px){
.pchev{grid-template-columns:1fr;row-gap:0}
.pc-s{display:block;margin-bottom:14px}
.pc-h,.pc-s:first-child .pc-h{margin:0;padding:14px 18px;min-height:0;border-radius:14px;clip-path:none}
.pc-s p{padding:8px 4px 0}
}

/* Our Process – full width, 6 steps */
.svc-process{margin-top:54px}
.svc-process h2{margin-bottom:22px}
.pchev-6{grid-template-columns:repeat(6,1fr)}
.pchev-6 .pc-h{padding-right:26px}
@media(max-width:1099px) and (min-width:700px){.pchev-6{grid-template-columns:repeat(3,1fr);row-gap:10px}.pchev-6 .pc-s:nth-child(1) .pc-h{grid-column:1;grid-row:1}.pchev-6 .pc-s:nth-child(1) p{grid-column:1;grid-row:2}.pchev-6 .pc-s:nth-child(2) .pc-h{grid-column:2;grid-row:1}.pchev-6 .pc-s:nth-child(2) p{grid-column:2;grid-row:2}.pchev-6 .pc-s:nth-child(3) .pc-h{grid-column:3;grid-row:1}.pchev-6 .pc-s:nth-child(3) p{grid-column:3;grid-row:2}.pchev-6 .pc-s:nth-child(4) .pc-h{grid-column:1;grid-row:3}.pchev-6 .pc-s:nth-child(4) p{grid-column:1;grid-row:4}.pchev-6 .pc-s:nth-child(5) .pc-h{grid-column:2;grid-row:3}.pchev-6 .pc-s:nth-child(5) p{grid-column:2;grid-row:4}.pchev-6 .pc-s:nth-child(6) .pc-h{grid-column:3;grid-row:3}.pchev-6 .pc-s:nth-child(6) p{grid-column:3;grid-row:4}.pchev-6 .pc-s:nth-child(4) .pc-h{margin-left:0;padding-left:20px;border-radius:14px 0 0 14px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}}
@media(max-width:699px){.pchev.pchev-6{grid-template-columns:1fr}.pchev-6 .pc-s{display:block}}
/* Form text same size as All Services list */
.side-form label{font-size:.92rem}
.side-form .field,.side-form select.field,.side-form textarea.field{font-size:.92rem}
@media(min-width:700px){.pc-h{min-height:100px;padding-top:24px;padding-bottom:24px}.pc-h b{font-size:1.06rem}}

/* Inner banner: wider text block (4 full lines), panel shifted right */
@media(min-width:1000px){
.ph2-panel{width:40%;padding-left:8%;padding-right:60px}
.ph2-text,.ph2-text:has(h1.h1-one),.ph2-text:has(h1 br){max-width:700px}
.ph2 p{max-width:680px}
}

/* Same heading size on all inner pages (= Water Tank Cleaning in Chandigarh) */
@media(min-width:901px){
.ph2 h1,.ph2 h1.h1-one,.ph2 h1.ph2-long{font-size:min(41.8px,3.06vw) !important;line-height:1.15}
.ph2 h1.h1-one{white-space:normal}
.ph2-text,.ph2-text:has(h1.h1-one),.ph2-text:has(h1 br){max-width:760px}
}
@media(min-width:901px){.ph2 h1{text-wrap:balance;max-width:745px}}

/* Inner-page FAQ – style A (centered list + help strip) */
.faq-a1{max-width:880px}
.faq-a1 .sec-head{margin-bottom:28px}
.faq-a1 .faq,.faq-a1 .faq-wrap{width:100%}
.faq-a1 .faq-item.open{border-color:var(--sun);box-shadow:0 10px 26px rgba(245,168,0,.14)}
.faq-a1 .faq-item.open .pm{background:var(--navy);color:var(--sun)}
.faq-strip{margin-top:22px;background:var(--navy);border-radius:18px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.faq-strip .fs-t b{display:block;color:#fff;font-family:var(--font-head);font-size:1.12rem}
.faq-strip .fs-t small{display:block;color:#aab9e3;font-size:.9rem;margin-top:2px}
.faq-strip .fs-b{display:flex;gap:10px;flex-wrap:wrap}
.faq-strip .btn{white-space:nowrap;padding:12px 20px}
.faq-strip .btn:hover{background:#fff !important;color:var(--navy) !important;border-color:#fff !important}
@media(max-width:699px){.faq-strip{flex-direction:column;align-items:stretch;text-align:center}.faq-strip .fs-b{flex-direction:column}.faq-strip .btn{justify-content:center}}

/* CTA band: single solid navy */
.cta-band{background:#1c2945 !important}
.cta-band::before,.cta-band::after{display:none !important}

/* Inner-page FAQ: full container width */
.faq-a1{max-width:var(--wrap) !important}

/* Article CTA text readable */
.article .cta-band p{color:#d9e6fb !important}

/* Blog articles: full container width */
.article{max-width:none !important}
.article .big-img{aspect-ratio:16/6}
.article .big-img img{width:100%;height:100%;object-fit:cover}

/* Contact page form = home form fields */
.form-card .hero-form.cf-form{background:none;box-shadow:none;padding:0;border-radius:0}

/* Contact map embed */
.map-embed{border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(28,41,69,.12);line-height:0}
.map-embed iframe{width:100%;height:450px;border:0;display:block}
@media(max-width:680px){.map-embed iframe{height:320px}}

/* Quote popup = home form */
.modal .hero-form.qm-form{background:none;box-shadow:none;padding:0;border-radius:0;margin-top:6px}
.modal .m-box h3{font-size:1.5rem;color:var(--navy)}

/* Service pages: tighter gap between FAQ and CTA band */
.faq-a1-sec{padding-bottom:34px !important}
.faq-a1-sec + .section.tight{padding-top:24px !important}

/* ===== Responsive hardening (all devices) ===== */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow-x:clip){html,body{overflow-x:clip}}
img,svg,video,iframe{max-width:100%}
.svc-layout>*,.split>*,.contact-grid>*,.hf-row>*,.stats>*,.inc-grid>*,.posts>*,.gallery>*{min-width:0}
h1,h2,h3,p,li,a,b{overflow-wrap:anywhere}
@media (max-width:1000px){.svc-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  .inc-grid{grid-template-columns:minmax(0,1fr) !important;grid-auto-rows:auto}
  .stats{gap:12px}
  .stat{padding:20px 10px}
  .stat b{font-size:1.9rem}
}
@media (max-width:360px){
  .wrap{padding-left:16px;padding-right:16px}
  .stat b{font-size:1.6rem}
  .stat span,.stat small{font-size:.8rem}
}
@media (min-width:1921px){.wrap{max-width:1320px}}


/* Home page: even spacing above and below every section */
body.home section.section{padding-top:56px !important;padding-bottom:56px !important}
@media(max-width:680px){body.home section.section{padding-top:44px !important;padding-bottom:44px !important}}
