/* ============================================================
   3S HOME CLEANING SERVICES — MASTER STYLESHEET
   Modern, fresh, SEO-friendly cleaning brand system
   ============================================================ */

:root{
  --teal:#189CFC;
  --teal-deep:#0E7FE0;
  --teal-dark:#0B63B4;
  --navy:#0A2A4A;
  --ink:#12303f;
  --slate:#5b7383;
  --accent:#84CC00;
  --accent-deep:#6FAF00;
  --coral:#FF6B5E;
  --mint:#EAF5FF;
  --mint-2:#F3F9FF;
  --sky:#5AB8FF;
  --line:#e3ecf0;
  --white:#ffffff;
  --shadow-sm:0 2px 10px rgba(10,37,64,.06);
  --shadow:0 14px 40px rgba(10,37,64,.10);
  --shadow-lg:0 30px 70px rgba(10,37,64,.16);
  --radius:18px;
  --radius-lg:28px;
  --maxw:1200px;
  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-head:'Sora',var(--font-body);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;color:var(--navy);font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{color:var(--slate)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
section{position:relative}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-weight:700;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal-deep);
  background:var(--mint);border:1px solid rgba(24,156,252,.2);
  padding:7px 14px;border-radius:100px;margin-bottom:18px
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(24,156,252,.18)}
.lead{font-size:clamp(1rem,1.4vw,1.12rem);color:var(--slate);max-width:62ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.grad-text{background:linear-gradient(100deg,var(--teal),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-head);font-weight:700;font-size:.98rem;
  padding:15px 28px;border-radius:100px;border:2px solid transparent;
  cursor:pointer;transition:.28s cubic-bezier(.2,.7,.3,1);white-space:nowrap;
}
.btn svg{width:18px;height:18px}
.btn-primary{background:linear-gradient(120deg,var(--teal),var(--teal-deep));color:#fff;box-shadow:0 12px 26px rgba(24,156,252,.34)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(24,156,252,.45)}
.btn-accent{background:linear-gradient(120deg,var(--accent),var(--accent-deep));color:var(--navy);box-shadow:0 12px 26px rgba(132,204,0,.36)}
.btn-accent:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(132,204,0,.5)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-deep);transform:translateY(-3px)}
.btn-white{background:#fff;color:var(--teal-deep)}
.btn-white:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.btn-lg{padding:17px 34px;font-size:1.05rem}
.btn-block{width:100%}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy);color:#cfe6ea;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.topbar a{color:#cfe6ea;display:inline-flex;align-items:center;gap:7px;transition:.2s}
.topbar a:hover{color:#fff}
.topbar .tb-left{display:flex;gap:20px;flex-wrap:wrap}
.topbar .tb-right{display:flex;gap:14px;align-items:center}
.topbar svg{width:15px;height:15px;stroke:var(--accent)}
.tb-social a{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.09);justify-content:center}
.tb-social svg{width:14px;height:14px;stroke:#fff;fill:none}
@media(max-width:760px){.topbar .tb-left{gap:14px;font-size:.8rem}.topbar .tb-right .tb-hours{display:none}}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.3s}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand .logo-mark{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--teal-deep));
  display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.15rem;
  box-shadow:0 8px 18px rgba(24,156,252,.35);position:relative;overflow:hidden
}
.brand .logo-mark::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.5),transparent 55%)}
.brand .logo-txt strong{font-family:var(--font-head);font-weight:800;color:var(--navy);font-size:1.12rem;display:block;line-height:1.05;letter-spacing:-.02em}
.brand .logo-txt span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);font-weight:700}
.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu > li{position:relative}
.menu > li > a{
  display:inline-flex;align-items:center;gap:5px;padding:11px 15px;border-radius:12px;
  font-weight:600;font-size:.96rem;color:var(--ink);transition:.2s
}
.menu > li > a:hover,.menu > li.active > a{color:var(--teal-deep);background:var(--mint)}
.menu .caret{width:15px;height:15px;transition:.25s}
.has-drop:hover .caret{transform:rotate(180deg)}
.dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:266px;
  background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;list-style:none
}
.has-drop:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;font-weight:600;font-size:.92rem;color:var(--ink);transition:.18s}
.dropdown a:hover{background:var(--mint);color:var(--teal-deep)}
.dropdown a .di{width:34px;height:34px;border-radius:9px;background:var(--mint);display:grid;place-items:center;flex-shrink:0}
.dropdown a .di svg{width:18px;height:18px;stroke:var(--teal-deep);fill:none}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.burger span{width:22px;height:2.5px;background:var(--navy);border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:1024px){
  .menu,.nav-cta .btn:not(.btn-accent){display:none}
  .burger{display:flex}
  .nav-cta .btn-accent{padding:12px 18px;font-size:.9rem}
}
@media(max-width:560px){
  .nav-cta .btn-accent{display:none}
  .nav{gap:12px}
}

/* ---------- Mobile menu ---------- */
.mobile-menu{position:fixed;inset:0 0 0 auto;width:min(86%,360px);background:#fff;z-index:1000;transform:translateX(100%);transition:.35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:22px;overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mm-overlay{position:fixed;inset:0;background:rgba(10,37,64,.5);z-index:999;opacity:0;visibility:hidden;transition:.35s}
.mm-overlay.open{opacity:1;visibility:visible}
.mm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.mm-close{width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;font-size:1.4rem;cursor:pointer;color:var(--navy)}
.mobile-menu nav a{display:block;padding:14px 12px;border-radius:12px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.mobile-menu nav a:hover{background:var(--mint);color:var(--teal-deep)}
.mm-sub a{padding-left:28px;font-size:.92rem;font-weight:500}
.mm-cta{margin-top:20px;display:grid;gap:10px}

/* ---------- Marquee (running text) ---------- */
.marquee{background:linear-gradient(90deg,var(--teal-deep),var(--teal));color:#fff;overflow:hidden;padding:13px 0;position:relative}
.marquee-track{display:flex;width:max-content;animation:marq 32s linear infinite;gap:0}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--font-head);font-weight:600;font-size:.98rem;padding:0 26px;display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.marquee-track span::after{content:"✦";color:var(--accent);font-size:.8rem;margin-left:26px}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(1100px 600px at 88% -8%,var(--mint) 0,transparent 60%),linear-gradient(180deg,#fff,var(--mint-2));padding:clamp(48px,7vw,86px) 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:52px;align-items:center}
.hero h1{margin-bottom:20px}
.hero .lead{margin-bottom:26px}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:9px 16px;font-weight:600;font-size:.88rem;color:var(--navy);box-shadow:var(--shadow-sm)}
.hero-badge svg{width:17px;height:17px;stroke:var(--teal);fill:none}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-trust{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.stars{display:flex;gap:2px}
.stars svg{width:18px;height:18px;fill:var(--accent)}
.hero-trust small{color:var(--slate);font-weight:600}
.hero-visual{position:relative}
.hero-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;aspect-ratio:4/4.4}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover}
.float-card{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;display:flex;align-items:center;gap:12px;animation:float 4.5s ease-in-out infinite}
.float-card .fc-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.float-card strong{display:block;font-family:var(--font-head);color:var(--navy);font-size:1.05rem;line-height:1}
.float-card small{color:var(--slate);font-size:.78rem}
.fc-1{top:24px;left:-22px;animation-delay:.2s}
.fc-1 .fc-ico{background:var(--mint)}.fc-1 .fc-ico svg{width:24px;height:24px;stroke:var(--teal-deep);fill:none}
.fc-2{bottom:30px;right:-18px;animation-delay:1.4s}
.fc-2 .fc-ico{background:#FFF6DD}.fc-2 .fc-ico svg{width:24px;height:24px;stroke:var(--accent-deep);fill:none}
.hero-offer{position:absolute;top:-16px;right:24px;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--navy);display:grid;place-content:center;text-align:center;font-family:var(--font-head);font-weight:800;box-shadow:var(--shadow);animation:spin 14s linear infinite;line-height:1.05}
.hero-offer b{font-size:1.7rem;display:block}.hero-offer i{font-style:normal;font-size:.62rem;letter-spacing:.08em}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.float-card,.hero-offer{animation:none}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{max-width:460px;margin:0 auto}.float-card{padding:11px 14px}.fc-1{left:0}.fc-2{right:0}}

/* ---------- Trust strip ---------- */
.trust-strip{background:var(--navy);padding:22px 0}
.trust-strip .container{display:flex;justify-content:space-around;align-items:center;gap:20px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:12px;color:#fff}
.trust-item svg{width:30px;height:30px;stroke:var(--accent);fill:none;flex-shrink:0}
.trust-item strong{font-family:var(--font-head);display:block;font-size:1rem;line-height:1.1}
.trust-item small{color:#9fc0c8;font-size:.8rem}

/* ---------- Section framing ---------- */
.sec{padding:clamp(56px,7vw,92px) 0}
.sec-mint{background:var(--mint-2)}
.sec-head{max-width:720px;margin:0 auto 52px;text-align:center}
.sec-head p{margin-top:14px}

/* ---------- Service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:.32s;position:relative;overflow:hidden}
.svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--sky));transform:scaleX(0);transform-origin:left;transition:.35s}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.svc-card:hover::before{transform:scaleX(1)}
.svc-ico{width:62px;height:62px;border-radius:16px;background:var(--mint);display:grid;place-items:center;margin-bottom:20px;transition:.32s}
.svc-card:hover .svc-ico{background:var(--teal);transform:rotate(-6deg)}
.svc-ico svg{width:30px;height:30px;stroke:var(--teal-deep);fill:none;transition:.32s}
.svc-card:hover .svc-ico svg{stroke:#fff}
.svc-card h3{margin-bottom:10px}
.svc-card p{font-size:.94rem;margin-bottom:16px}
.svc-price{display:inline-block;font-family:var(--font-head);font-weight:700;color:var(--teal-deep);background:var(--mint);padding:4px 12px;border-radius:100px;font-size:.85rem;margin-bottom:16px}
.svc-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--navy);font-family:var(--font-head);font-size:.92rem;transition:.2s}
.svc-link svg{width:16px;height:16px;transition:.25s}
.svc-card:hover .svc-link{color:var(--teal-deep)}
.svc-card:hover .svc-link svg{transform:translateX(4px)}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* ---------- Stats / counters ---------- */
.stats{background:linear-gradient(120deg,var(--teal-deep),var(--teal-dark));padding:clamp(50px,6vw,74px) 0;color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat b{font-family:var(--font-head);font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;display:block;line-height:1;color:#fff}
.stat b .plus{color:var(--accent)}
.stat span{color:#bfe6e5;font-weight:600;font-size:.95rem;margin-top:8px;display:block}
@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:34px 24px}}

/* ---------- Why / features split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4.4}
.split-img img{width:100%;height:100%;object-fit:cover}
.feat-list{display:grid;gap:18px;margin-top:26px}
.feat{display:flex;gap:16px;align-items:flex-start}
.feat .fico{width:50px;height:50px;border-radius:13px;background:var(--mint);display:grid;place-items:center;flex-shrink:0}
.feat .fico svg{width:24px;height:24px;stroke:var(--teal-deep);fill:none}
.feat h4{font-size:1.08rem;margin-bottom:4px;color:var(--navy)}
.feat p{font-size:.92rem;margin:0}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:36px}.split.rev .split-img{order:-1}}

/* ---------- Process ---------- */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{text-align:center;position:relative;padding:0 6px}
.step-num{width:66px;height:66px;border-radius:50%;margin:0 auto 18px;background:#fff;border:2px dashed var(--teal);color:var(--teal-deep);font-family:var(--font-head);font-weight:800;font-size:1.5rem;display:grid;place-items:center;position:relative;z-index:2}
.step h4{margin-bottom:8px}
.step p{font-size:.9rem}
.process-grid .step:not(:last-child)::after{content:"";position:absolute;top:33px;left:60%;width:80%;height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 8px,transparent 8px 16px);opacity:.4}
@media(max-width:800px){.process-grid{grid-template-columns:repeat(2,1fr);gap:34px 24px}.process-grid .step::after{display:none}}

/* ---------- Testimonials ---------- */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tst{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;transition:.3s}
.tst:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.tst .q{font-size:3.4rem;font-family:var(--font-head);color:var(--mint);line-height:.6;position:absolute;top:22px;right:24px}
.tst .stars{margin-bottom:14px}
.tst p{color:var(--ink);font-size:.96rem;margin-bottom:20px;position:relative;z-index:1}
.tst-who{display:flex;align-items:center;gap:12px}
.tst-ava{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--sky));color:#fff;display:grid;place-items:center;font-family:var(--font-head);font-weight:700}
.tst-who strong{display:block;color:var(--navy);font-size:.95rem}
.tst-who small{color:var(--slate);font-size:.82rem}
@media(max-width:900px){.tst-grid{grid-template-columns:1fr}}

/* ---------- Pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 28px;display:flex;flex-direction:column;transition:.3s;position:relative}
.price-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.price-card.featured{border:2px solid var(--teal);box-shadow:var(--shadow)}
.price-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(120deg,var(--accent),var(--accent-deep));color:var(--navy);font-family:var(--font-head);font-weight:700;font-size:.78rem;padding:6px 16px;border-radius:100px;box-shadow:var(--shadow-sm)}
.price-card h3{margin-bottom:6px}
.price-card .from{color:var(--slate);font-size:.86rem}
.price-amt{font-family:var(--font-head);font-weight:800;color:var(--navy);font-size:2.6rem;margin:12px 0 4px;line-height:1}
.price-amt span{font-size:1rem;color:var(--slate);font-weight:600}
.price-card ul{list-style:none;margin:22px 0;display:grid;gap:12px}
.price-card li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink)}
.price-card li svg{width:18px;height:18px;stroke:var(--teal);fill:none;flex-shrink:0;margin-top:2px}
.price-card .btn{margin-top:auto}
@media(max-width:900px){.price-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}}

/* ---------- Areas ---------- */
.area-wrap{background:linear-gradient(120deg,var(--navy),#0d3350);border-radius:var(--radius-lg);padding:clamp(34px,5vw,56px);color:#fff;position:relative;overflow:hidden}
.area-wrap::before{content:"";position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,252,.4),transparent 70%)}
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:26px;position:relative;z-index:1}
.area-chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:9px;font-weight:600;font-size:.9rem;transition:.25s}
.area-chip:hover{background:var(--teal);border-color:var(--teal)}
.area-chip svg{width:16px;height:16px;stroke:var(--accent);fill:none;flex-shrink:0}
.area-chip:hover svg{stroke:#fff}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:820px;margin:0 auto}
.faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden;transition:.25s}
.faq.open{border-color:var(--teal);box-shadow:var(--shadow-sm)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 24px;font-family:var(--font-head);font-weight:600;font-size:1.02rem;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .fq-ico{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--mint);display:grid;place-items:center;transition:.3s;color:var(--teal-deep);font-size:1.2rem}
.faq.open .fq-ico{background:var(--teal);color:#fff;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 24px 22px;font-size:.95rem}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--teal),var(--teal-deep));border-radius:var(--radius-lg);padding:clamp(38px,5vw,64px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band::before,.cta-band::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band::before{width:200px;height:200px;top:-70px;left:-40px}
.cta-band::after{width:260px;height:260px;bottom:-110px;right:-50px}
.cta-band h2{color:#fff;position:relative;z-index:1}
.cta-band p{color:#dbf5f3;max-width:56ch;margin:14px auto 28px;position:relative;z-index:1}
.cta-band .hero-actions{justify-content:center;position:relative;z-index:1}

/* ---------- Page hero (inner) ---------- */
.page-hero{background:radial-gradient(900px 460px at 85% -20%,var(--mint) 0,transparent 60%),linear-gradient(180deg,#fff,var(--mint-2));padding:clamp(38px,5vw,64px) 0;border-bottom:1px solid var(--line)}
.crumbs{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--slate);margin-bottom:16px;flex-wrap:wrap}
.crumbs a{color:var(--teal-deep);font-weight:600}
.crumbs span{opacity:.5}
.page-hero h1{max-width:20ch}
.page-hero .lead{margin-top:16px}
.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.page-hero-grid .ph-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4}
.page-hero-grid .ph-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.page-hero-grid{grid-template-columns:1fr}.page-hero-grid .ph-img{display:none}}

/* ---------- Rich content ---------- */
.prose{max-width:820px}
.prose.wide{max-width:920px}
.prose h2{margin:38px 0 16px}
.prose h3{margin:28px 0 12px}
.prose p{margin-bottom:16px;color:var(--ink);opacity:.9}
.prose ul{margin:0 0 20px;padding-left:0;list-style:none;display:grid;gap:11px}
.prose ul li{display:flex;gap:11px;align-items:flex-start;color:var(--ink)}
.prose ul li::before{content:"";width:20px;height:20px;flex-shrink:0;margin-top:3px;border-radius:6px;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B7C7B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/13px no-repeat}
.content-2col{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}
@media(max-width:960px){.content-2col{grid-template-columns:1fr}}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:96px;box-shadow:var(--shadow-sm)}
.sidebar-card.dark{background:linear-gradient(135deg,var(--navy),#0d3350);color:#fff;border:none}
.sidebar-card.dark h3,.sidebar-card.dark p{color:#fff}
.sidebar-card h3{margin-bottom:8px}
.sidebar-card p{font-size:.9rem;margin-bottom:16px}
.sidebar-list{list-style:none;display:grid;gap:8px;margin-bottom:18px}
.sidebar-list a{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;background:var(--mint-2);font-weight:600;font-size:.9rem;color:var(--navy);transition:.2s}
.sidebar-list a:hover{background:var(--mint);color:var(--teal-deep);transform:translateX(3px)}
.sidebar-list a svg{width:16px;height:16px;stroke:var(--teal);fill:none}

.checklist-box{background:var(--mint-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:26px 0}
.checklist-box h3{margin-bottom:16px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.check-grid div{display:flex;gap:9px;align-items:flex-start;font-size:.92rem;color:var(--ink)}
.check-grid svg{width:18px;height:18px;stroke:var(--teal);fill:none;flex-shrink:0;margin-top:2px}
@media(max-width:600px){.check-grid{grid-template-columns:1fr}}

/* ---------- Gallery ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gal-item{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:4/3;box-shadow:var(--shadow-sm);cursor:pointer}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gal-item:hover img{transform:scale(1.08)}
.gal-item .gal-cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(10,37,64,.82));color:#fff;padding:26px 16px 14px;font-weight:600;font-size:.9rem;transform:translateY(6px);opacity:0;transition:.3s}
.gal-item:hover .gal-cap{transform:translateY(0);opacity:1}
@media(max-width:800px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gal-grid{grid-template-columns:1fr}}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.blog-thumb{aspect-ratio:16/10;overflow:hidden}
.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.blog-card:hover .blog-thumb img{transform:scale(1.07)}
.blog-body{padding:24px;display:flex;flex-direction:column;flex:1}
.blog-tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep);background:var(--mint);padding:4px 11px;border-radius:100px;margin-bottom:12px;align-self:flex-start}
.blog-body h3{font-size:1.15rem;margin-bottom:10px}
.blog-body p{font-size:.92rem;margin-bottom:16px;flex:1}
.blog-meta{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--slate);border-top:1px solid var(--line);padding-top:14px}
.blog-meta .svc-link{font-size:.86rem}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}

/* ---------- Forms ---------- */
.form-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(26px,4vw,40px);box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:.88rem;color:var(--navy)}
.field label .req{color:var(--coral)}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border:1.6px solid var(--line);border-radius:12px;
  font-family:var(--font-body);font-size:.96rem;color:var(--ink);background:#fff;transition:.2s
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(24,156,252,.13)}
.field textarea{resize:vertical;min-height:110px}
.form-note{font-size:.82rem;color:var(--slate);margin-top:14px;display:flex;gap:8px;align-items:center}
.form-note svg{width:16px;height:16px;stroke:var(--teal);fill:none;flex-shrink:0}
.form-msg{padding:14px 16px;border-radius:12px;font-weight:600;font-size:.92rem;margin-top:16px;display:none}
.form-msg.ok{display:block;background:#e7f9f1;color:#0a7a4f;border:1px solid #b7ebd3}
.form-msg.err{display:block;background:#fdecec;color:#c0392b;border:1px solid #f5c6c6}
.form-msg.loading{display:block;background:var(--mint);color:var(--teal-deep);border:1px solid rgba(24,156,252,.25)}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:start}
.contact-info{display:grid;gap:16px}
.ci-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:.25s}
.ci-card:hover{box-shadow:var(--shadow-sm);border-color:var(--teal);transform:translateX(4px)}
.ci-ico{width:50px;height:50px;border-radius:13px;background:var(--mint);display:grid;place-items:center;flex-shrink:0}
.ci-ico svg{width:24px;height:24px;stroke:var(--teal-deep);fill:none}
.ci-card h4{font-size:1rem;margin-bottom:3px}
.ci-card p,.ci-card a{font-size:.92rem;color:var(--slate);word-break:break-word}
.ci-card a:hover{color:var(--teal-deep)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-top:20px;line-height:0}
.map-embed iframe{width:100%;height:340px;border:0}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#b9d2d8;padding:clamp(50px,6vw,74px) 0 0}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:38px;padding-bottom:44px}
.foot-brand .brand{margin-bottom:18px}
.foot-brand .logo-txt strong{color:#fff}
.foot-brand p{color:#9fbcc4;font-size:.92rem;margin-bottom:18px}
.foot-social{display:flex;gap:10px}
.foot-social a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.25s}
.foot-social a:hover{background:var(--teal);transform:translateY(-3px)}
.foot-social svg{width:18px;height:18px;stroke:#fff;fill:none}
.foot-col h4{color:#fff;font-size:1.02rem;margin-bottom:18px}
.foot-col ul{list-style:none;display:grid;gap:11px}
.foot-col a{color:#9fbcc4;font-size:.92rem;transition:.2s;display:inline-flex;align-items:center;gap:8px}
.foot-col a:hover{color:var(--accent);transform:translateX(3px)}
.foot-col a svg{width:16px;height:16px;flex:none;stroke:var(--teal);fill:none}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;font-size:.92rem;color:#9fbcc4;margin-bottom:13px}
.foot-contact svg{width:18px;height:18px;stroke:var(--accent);fill:none;flex-shrink:0;margin-top:2px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#8aa9b1}
.foot-bottom a{color:#9fbcc4}.foot-bottom a:hover{color:#fff}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- Sticky mobile CTA ---------- */
.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:800;display:none;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(10,37,64,.12);padding:9px 12px;gap:9px}
.mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border-radius:12px;font-family:var(--font-head);font-weight:700;font-size:.9rem}
.mobile-cta svg{width:18px;height:18px}
.mc-call{background:var(--navy);color:#fff}
.mc-wa{background:#25D366;color:#fff}
.mc-quote{background:linear-gradient(120deg,var(--accent),var(--accent-deep));color:var(--navy)}
@media(max-width:1024px){.mobile-cta{display:flex}body{padding-bottom:70px}}

/* Floating WhatsApp (desktop) */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:790;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.45);transition:.25s;animation:pulse 2.4s infinite}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:1024px){.wa-float{display:none}}

/* ---------- Reveal animation ---------- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(10,37,64,.6);backdrop-filter:blur(4px);z-index:1100;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:var(--radius-lg);max-width:560px;width:100%;max-height:92vh;overflow-y:auto;padding:clamp(24px,4vw,38px);position:relative;box-shadow:var(--shadow-lg)}
.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;font-size:1.3rem;cursor:pointer;color:var(--navy)}
.modal h3{margin-bottom:6px}.modal .lead{font-size:.94rem;margin-bottom:20px}

/* ============ Real-asset additions (blue/green rebuild) ============ */
.brand{display:flex;align-items:center;gap:12px}
.brand img.logo-img{height:54px;width:auto;display:block}
@media(max-width:560px){.brand img.logo-img{height:44px}}
.foot-brand img.flogo{height:60px;width:auto;margin-bottom:16px}

/* generic media frame for real photos */
.media-frame{border-radius:22px;overflow:hidden;box-shadow:0 26px 60px rgba(10,42,74,.18);position:relative}
.media-frame img{display:block;width:100%;height:100%;object-fit:cover}
.img-badge{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.95);border-radius:14px;padding:10px 16px;font-family:var(--font-head);font-weight:800;color:var(--navy);box-shadow:0 10px 24px rgba(10,42,74,.16)}
.prose img{max-width:100%;border-radius:16px;margin:10px 0 6px}

/* two-image hero collage on service pages */
.svc-collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.svc-collage .media-frame:first-child{margin-top:26px}
@media(max-width:640px){.svc-collage{grid-template-columns:1fr}.svc-collage .media-frame:first-child{margin-top:0}}

/* price cards */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:820px){.price-grid{grid-template-columns:1fr}}
.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(10,42,74,.08);transition:.3s;display:flex;flex-direction:column}
.price-card:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(24,156,252,.16);border-color:rgba(24,156,252,.4)}
.price-card .pc-img{height:190px;overflow:hidden}
.price-card .pc-img img{width:100%;height:100%;object-fit:cover}
.price-card .pc-body{padding:24px 24px 26px}
.price-card h3{font-size:1.3rem;margin-bottom:6px}
.pc-badge{display:inline-block;background:var(--mint);color:var(--teal-deep);font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:20px;margin-bottom:14px}
.pc-rows{list-style:none;display:grid;gap:9px;margin:6px 0 16px}
.pc-rows li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.98rem;color:var(--ink)}
.pc-rows li strong{color:var(--teal);font-family:var(--font-head);font-size:1.08rem}
.pc-note{font-size:.82rem;color:#6b8390;background:var(--mint-2);border-radius:10px;padding:10px 12px;margin-top:auto}

/* masonry-ish gallery for many images */
.gal-masonry{columns:4 240px;column-gap:16px}
.gal-masonry a{display:block;margin:0 0 16px;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(10,42,74,.1);break-inside:avoid;transition:.3s}
.gal-masonry a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(24,156,252,.2)}
.gal-masonry img{width:100%;display:block}
@media(max-width:520px){.gal-masonry{columns:2 150px;column-gap:12px}.gal-masonry a{margin-bottom:12px}}

/* reviews badge */
.reviews-badge{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 20px;box-shadow:0 10px 26px rgba(10,42,74,.08)}
.reviews-badge img{height:40px;width:auto}
.reviews-badge b{font-family:var(--font-head);color:var(--navy)}
.reviews-badge span{font-size:.86rem;color:#6b8390}

/* testimonial avatar as real image */
.t-avatar img{width:54px;height:54px;border-radius:50%;object-fit:cover}

/* ============ Rebuild component styles (missing classes) ============ */
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:1000;border-radius:0 0 8px 0}
.skip:focus{left:0}
.btn-sm{padding:10px 16px;font-size:.9rem}
.narrow{max-width:900px;margin-inline:auto}
.sec-sub{max-width:680px;margin:10px auto 0;color:#5a7180;text-align:center}
.sep{color:#9db4c0;margin:0 2px}

/* topbar layout */
.tb-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;flex-wrap:wrap}
.tb-left a,.tb-right a{color:#d6e9ef;display:inline-flex;align-items:center;gap:7px;transition:.2s}
.tb-left a:hover,.tb-right a:hover{color:#fff}
.tb-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tb-social{display:inline-flex;gap:8px}
.tb-social a{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){.tb-mail,.tb-left span{display:none}}

/* header dropdown */
.has-dd{position:relative}
.has-dd>a{display:inline-flex;align-items:center;gap:5px}
.chev{width:15px;height:15px;transition:.25s}
.has-dd:hover .chev{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);min-width:330px;opacity:0;visibility:hidden;transition:.25s;z-index:950;padding-top:14px}
.has-dd:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px)}
.dd-panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 54px rgba(10,42,74,.18);padding:10px}
.dd-panel a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:11px;transition:.2s}
.dd-panel a:hover{background:var(--mint)}
.dd-ic{width:40px;height:40px;border-radius:10px;background:var(--mint);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.dd-ic svg{width:20px;height:20px;stroke:var(--teal-deep);fill:none}
.dd-panel a strong{display:block;color:var(--navy);font-size:.98rem}
.dd-panel a em{font-style:normal;font-size:.82rem;color:var(--teal)}

/* marquee */
.marquee{background:var(--teal);overflow:hidden;white-space:nowrap;padding:11px 0}
.mq-track{display:inline-flex;align-items:center;gap:18px;animation:mq 34s linear infinite}
.mq-item{color:#fff;font-weight:600;font-size:.92rem;letter-spacing:.01em}
.mq-dot{color:rgba(255,255,255,.6);font-weight:700}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* hero */
.hero-copy{max-width:600px}
.hero-media{position:relative}
.hero-rating{display:flex;align-items:center;gap:9px;margin-top:22px;color:#5a7180;font-size:.95rem}
.hero-rating strong{color:var(--navy)}
.offer-badge{position:absolute;top:-14px;right:-6px;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(132,204,0,.45);transform:rotate(8deg);z-index:3}
.offer-badge span{font-family:var(--font-head);font-weight:800;font-size:1.7rem;line-height:1}
.offer-badge small{font-size:.52rem;font-weight:700;letter-spacing:.06em;text-align:center;margin-top:2px}
.hero-badges span{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:9px 15px;font-weight:600;font-size:.9rem;color:var(--navy);box-shadow:0 6px 16px rgba(10,42,74,.06)}
.hero-badges span svg{width:17px;height:17px;color:var(--accent-deep);stroke:var(--accent-deep);flex:0 0 auto}

/* page hero */
.page-hero{background:linear-gradient(160deg,var(--navy),#0d3a63 60%,var(--teal-dark));color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(24,156,252,.35),transparent 70%)}
.ph-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;position:relative;z-index:2}
.ph-copy h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.ph-copy .lead{color:#cfe4f2}
.eyebrow.light{background:rgba(255,255,255,.12);color:#eaf5ff;border-color:rgba(255,255,255,.2)}
.crumbs{font-size:.85rem;color:#a9c6da;margin-bottom:16px}
.crumbs a{color:#cfe4f2}.crumbs a:hover{color:#fff}
.ph-media img{width:100%;height:100%;object-fit:cover;min-height:300px}
@media(max-width:820px){.ph-grid{grid-template-columns:1fr;gap:26px}}

/* trust strip */
.ts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ts-item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 8px 22px rgba(10,42,74,.05)}
.ts-item svg{width:30px;height:30px;stroke:var(--teal);fill:none;flex:0 0 auto}
.ts-item strong{display:block;color:var(--navy);font-size:1rem}
.ts-item span{font-size:.84rem;color:#6b8390}
.trust-strip{margin-top:-34px;position:relative;z-index:5;padding-bottom:10px}
@media(max-width:820px){.ts-grid{grid-template-columns:1fr 1fr}.trust-strip{margin-top:24px}}
@media(max-width:480px){.ts-grid{grid-template-columns:1fr 1fr}}

/* service cards */
.svc-thumb{height:200px;overflow:hidden}
.svc-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.svc-card:hover .svc-thumb img{transform:scale(1.07)}
.svc-card-body{padding:24px}
.svc-ic{width:54px;height:54px;border-radius:14px;background:var(--mint);display:flex;align-items:center;justify-content:center;margin:-46px 0 14px;position:relative;border:4px solid #fff;box-shadow:0 8px 20px rgba(10,42,74,.1)}
.svc-ic svg{width:28px;height:28px;stroke:var(--teal-deep);fill:none}
.svc-price{display:inline-block;background:var(--mint);color:var(--teal-deep);font-weight:700;font-size:.82rem;padding:4px 12px;border-radius:20px;margin:4px 0 10px}
/* service rows */
.svc-rows{display:flex;flex-direction:column;gap:40px}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.svc-row.row-rev .svc-row-media{order:2}
.svc-row-media{height:320px}
.svc-row-copy .svc-ic{margin:0 0 14px}
@media(max-width:820px){.svc-row{grid-template-columns:1fr;gap:20px}.svc-row.row-rev .svc-row-media{order:0}.svc-row-media{height:240px}}

/* why cards */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 24px;box-shadow:0 12px 30px rgba(10,42,74,.06);transition:.3s}
.why-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(24,156,252,.14);border-color:rgba(24,156,252,.35)}
.why-ic{width:64px;height:64px;border-radius:16px;background:var(--mint);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.why-ic img{width:40px;height:40px;object-fit:contain}
.why-card h3{font-size:1.12rem;margin-bottom:8px}
.why-card p{color:#5a7180;font-size:.95rem}
@media(max-width:820px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr}}

/* stats band */
.stats-band{background:linear-gradient(120deg,var(--teal-dark),var(--teal-deep));padding:46px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat-num{font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:#fff;line-height:1}
.stat-lbl{color:#d6ecf7;margin-top:6px;font-size:.95rem}
@media(max-width:640px){.stats-grid{grid-template-columns:1fr 1fr;gap:26px}}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;text-align:center;box-shadow:0 10px 26px rgba(10,42,74,.05);position:relative}
.step-n{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.step h3{font-size:1.05rem;margin-bottom:6px}
.step p{color:#5a7180;font-size:.9rem}
@media(max-width:820px){.process{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.process{grid-template-columns:1fr}}

/* testimonials */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.t-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(10,42,74,.06)}
.t-card p{color:#42596a;font-size:.95rem;margin:12px 0 18px;line-height:1.7}
.t-foot{display:flex;align-items:center;gap:12px}
.t-name strong{display:block;color:var(--navy)}
.t-name em{font-style:normal;font-size:.85rem;color:#8098a6}
@media(max-width:820px){.t-grid{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 22px;font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:1rem;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer}
.faq-ic{font-size:1.5rem;color:var(--teal);transition:.3s;flex:0 0 auto;line-height:1}
.faq-item.open .faq-ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 22px 18px;color:#5a7180;line-height:1.7}

/* forms */
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:820px){.form-2col{grid-template-columns:1fr;gap:26px}}
.form-copy .lead{color:#5a7180}
.form-contact{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.fc-item{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-weight:600}
.fc-item svg{width:18px;height:18px;stroke:var(--teal);fill:none}
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 20px 50px rgba(10,42,74,.1);position:relative}
.form-badge{display:inline-block;background:var(--mint);color:var(--teal-deep);font-weight:700;font-size:.8rem;padding:7px 14px;border-radius:20px;margin-bottom:16px}
.quote-form{display:flex;flex-direction:column;gap:13px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:480px){.fr{grid-template-columns:1fr}}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;font:inherit;color:var(--ink);background:#fbfdff;transition:.2s}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(24,156,252,.15)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-status{font-size:.9rem;margin:0}
.form-status.ok{color:#0a8a3a}.form-status.err{color:#c0392b}
.tick-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:16px 0}
.tick-list li{display:flex;align-items:flex-start;gap:10px;color:#3f5563;font-size:.96rem}
.tick-list svg{width:19px;height:19px;stroke:var(--accent-deep);fill:none;flex:0 0 auto;margin-top:1px}
.tick-list.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.tick-list.two{grid-template-columns:1fr}}

/* cta band */
.cta-band{background:linear-gradient(130deg,var(--navy),var(--teal-deep));color:#fff;padding:56px 0;text-align:center}
.cta-inner h2{color:#fff}
.cta-inner p{color:#d3e7f4;max-width:600px;margin:12px auto 24px}

/* contact */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;text-align:center;box-shadow:0 10px 26px rgba(10,42,74,.05);transition:.3s;display:flex;flex-direction:column;align-items:center;gap:6px}
.cc:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(24,156,252,.14);border-color:rgba(24,156,252,.3)}
.cc-ic{width:54px;height:54px;border-radius:14px;background:var(--mint);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.cc-ic svg{width:26px;height:26px;stroke:var(--teal-deep);fill:none}
.cc strong{color:var(--navy)}
.cc span{color:#6b8390;font-size:.9rem}
@media(max-width:820px){.contact-cards{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.contact-cards{grid-template-columns:1fr}}
.map-wrap{line-height:0}
.map-wrap iframe{display:block;width:100%}

/* includes grid */
.inc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.inc-card{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 8px 20px rgba(10,42,74,.04)}
.inc-card svg{width:22px;height:22px;stroke:var(--accent-deep);fill:none;flex:0 0 auto;margin-top:2px}
.inc-card strong{color:var(--navy);display:block;margin-bottom:3px}
.inc-card p{color:#5a7180;font-size:.9rem}
@media(max-width:700px){.inc-grid{grid-template-columns:1fr}}

/* checklist columns */
.chk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.chk-col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 22px rgba(10,42,74,.05)}
.chk-col h3{font-size:1.05rem;margin-bottom:12px;color:var(--navy)}
.chk-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.chk-col li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:#4a6172}
.chk-col svg{width:17px;height:17px;stroke:var(--accent-deep);fill:none;flex:0 0 auto;margin-top:2px}
@media(max-width:900px){.chk-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.chk-grid{grid-template-columns:1fr}}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(10,42,74,.07);transition:.3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(24,156,252,.15)}
.bc-img{display:block;height:200px;overflow:hidden}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.blog-card:hover .bc-img img{transform:scale(1.07)}
.bc-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.bc-tag{align-self:flex-start;background:var(--mint);color:var(--teal-deep);font-weight:700;font-size:.75rem;padding:4px 11px;border-radius:20px}
.bc-body h3{font-size:1.08rem;line-height:1.35}
.bc-body h3 a{color:var(--navy)}
.bc-body h3 a:hover{color:var(--teal-deep)}
.bc-body .svc-link{margin-top:auto}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr}}

/* blog post */
.post-hero{background:linear-gradient(160deg,var(--navy),var(--teal-dark));color:#fff;padding:48px 0}
.post-hero h1{color:#fff;font-size:clamp(1.7rem,3.4vw,2.5rem);max-width:900px}
.post-body{max-width:840px;margin-inline:auto;padding-top:34px;padding-bottom:20px}
.post-cover{margin-bottom:26px;max-height:420px}
.post-prose h2{margin:26px 0 10px}
.post-prose p{margin-bottom:14px}
.post-cta{background:var(--mint);border-radius:18px;padding:30px;text-align:center;margin-top:30px}
.post-cta h3{margin-bottom:8px}
.post-cta p{color:#5a7180;margin-bottom:18px}

/* 404 */
.err404{text-align:center;padding:80px 0}
.err404 h1{font-size:clamp(2rem,5vw,3rem);margin:14px 0}
.err404 .lead{max-width:520px;margin:0 auto 26px;color:#5a7180}

/* footer logo chip */
.flogo-chip{display:inline-block;background:#fff;border-radius:14px;padding:12px 16px;margin-bottom:16px}
.flogo-chip img{height:56px;width:auto;display:block;margin:0}

/* modal extras */
.modal-box{position:relative}
.modal-x{position:absolute;top:14px;right:16px;background:none;border:0;font-size:1.8rem;line-height:1;color:#8098a6;cursor:pointer}
.modal-sub{color:#5a7180;font-size:.92rem;margin-bottom:18px}

/* split section + misc */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split-media{height:100%;min-height:320px}
.split-media.media-frame img,.split-media img{width:100%;height:100%;object-fit:cover}
.split-copy .prose,.split-copy.prose{max-width:560px}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:26px}.split-media{min-height:260px}}
.post{display:block}
.row-normal{}

.form-status{min-height:1em}
.form-status.loading,.form-msg.loading{color:#5B7383}

/* ============ Fixes & mobile polish (final pass) ============ */
/* Modal: correct overlay + hidden by default (override Phase-1 box styling) */
.modal{position:fixed;inset:0;background:rgba(10,42,74,.62);z-index:1100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;padding:30px;position:relative;box-shadow:0 30px 70px rgba(10,42,74,.4)}

/* FAQ: reset container to a clean stack (kill Phase-1 white-box on container) */
.faq{background:transparent;border:0;overflow:visible;margin:0}
.faq-a{transition:max-height .35s ease}

/* Mobile menu overlay + drawer internals */
.mm-overlay{position:fixed;inset:0;background:rgba(10,42,74,.5);z-index:999;opacity:0;visibility:hidden;transition:.3s}
.mm-overlay.open{opacity:1;visibility:visible}
.mm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.mm-head .logo-img{height:44px;width:auto}
.mm-close{background:none;border:0;font-size:2rem;line-height:1;color:var(--navy);cursor:pointer;padding:0 6px}
.mobile-menu nav ul{list-style:none;margin:0 0 16px;padding:0}
.mobile-menu nav li{border-bottom:1px solid var(--line)}
.mobile-menu nav a{display:flex;align-items:center;gap:6px;padding:14px 4px;font-weight:600;color:var(--navy)}
.mobile-menu nav a:hover,.mobile-menu nav a.active{color:var(--teal-deep)}
.mobile-menu .dropdown{display:none!important}
.mobile-menu .chev{display:none}
.mm-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mmq{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border-radius:12px;font-weight:700;font-size:.9rem;color:#fff}
.mmq svg{width:18px;height:18px}
.mmq-call{background:var(--teal)}.mmq-call svg{stroke:#fff;fill:none}
.mmq-wa{background:#25D366}.mmq-wa svg{fill:#fff}

/* Quick floating Call + WhatsApp (desktop) */
.quick-fab{position:fixed;right:22px;bottom:22px;z-index:790;display:flex;flex-direction:column;gap:12px}
.qf{display:flex;align-items:center;height:56px;width:56px;border-radius:50px;overflow:hidden;color:#fff;box-shadow:0 12px 28px rgba(10,42,74,.28);transition:width .3s ease}
.qf-ic{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center}
.qf-ic svg{width:26px;height:26px}
.qf-tip{white-space:nowrap;padding-right:22px;font-family:var(--font-head);font-weight:700;font-size:.95rem;opacity:0;transition:opacity .2s}
.qf:hover{width:172px}
.qf:hover .qf-tip{opacity:1}
.qf-call{background:var(--teal)}.qf-call .qf-ic svg{stroke:#fff;fill:none}
.qf-wa{background:#25D366}.qf-wa .qf-ic svg{fill:#fff}
@media(max-width:1024px){.quick-fab{display:none}}

/* Guarantee no element causes horizontal scroll on mobile */
html,body{max-width:100%;overflow-x:hidden}
img,iframe{max-width:100%}
*{-webkit-tap-highlight-color:rgba(24,156,252,.2)}
@media(max-width:1024px){body{padding-bottom:74px}}

/* ============ Small-screen overflow fixes (≤560 / ≤400) ============ */
/* Buttons must never force horizontal overflow — allow wrapping */
.btn{white-space:normal;text-align:center;word-break:break-word}
/* Hero / hero-style CTA groups stack full-width on phones */
@media(max-width:560px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .hero-badges{gap:8px}
  .hero-badges span{font-size:.82rem;padding:8px 12px}
}
@media(max-width:400px){
  .btn-lg{padding:14px 18px;font-size:.95rem}
  h1{font-size:1.9rem !important}
  .page-hero h1,.post-hero h1{font-size:1.7rem !important}
}
/* Mobile bottom bar: make 3 buttons fit even at 320px */
.mobile-cta{gap:6px;padding:8px 8px}
.mobile-cta a{font-size:.8rem;padding:11px 4px;gap:5px;min-width:0}
.mobile-cta svg{width:16px;height:16px;flex:0 0 auto}
@media(max-width:360px){.mobile-cta a{font-size:.72rem}}
/* Marquee is intentionally wide+clipped; make sure it can't create page scroll */
.marquee{max-width:100%;overflow:hidden}

/* ============ Long-text wrap + grid shrink (final responsive pass) ============ */
/* Global safety: never let a long word/email/URL force horizontal overflow */
p,li,span,em,h1,h2,h3,h4,a,td{overflow-wrap:break-word}
/* Grid/flex children must be allowed to shrink below their content width */
.form-2col>*,.form-copy,.form-card,.contact-cards>.cc,.foot-grid>*,.svc-grid>*,.why-grid>*,.blog-grid>*,.t-grid>*,.inc-grid>*,.price-grid>*{min-width:0}
/* Contact details / footer emails wrap cleanly */
.fc-item,.cc span,.cc strong,.foot-contact a,.foot-contact li,.tb-right a{overflow-wrap:anywhere;word-break:break-word}
.fc-item{flex-wrap:wrap}
/* Contact cards: single column on small phones so the email never crowds */
@media(max-width:520px){.contact-cards{grid-template-columns:1fr}}

/* Keep floating hero cards tidy (no mid-word breaks) */
.float-card{min-width:152px}
.float-card strong{white-space:nowrap}
.float-card span{overflow-wrap:normal;word-break:normal}

/* ============ Before/After slider ============ */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.ba-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
.ba{position:relative;--pos:50%;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 14px 34px rgba(10,42,74,.14);background:var(--mint);touch-action:pan-y}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.ba-after-img{clip-path:inset(0 0 0 var(--pos))}
.ba-tag{position:absolute;top:12px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:5px 11px;border-radius:20px;color:#fff;pointer-events:none}
.ba-tag-b{left:12px;background:rgba(10,42,74,.82)}
.ba-tag-a{right:12px;background:var(--accent-deep)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(10,42,74,.15);pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(10,42,74,.35)}
.ba-handle::before{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:var(--teal-deep);font-size:18px;font-weight:700}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}

/* ============ Mobile polish (tighter, image-stable) ============ */
/* Image containers keep their shape even while loading / if a photo hiccups */
.svc-thumb,.pc-img,.bc-img,.svc-row-media,.split-media,.ph-media,.media-frame{background:linear-gradient(135deg,var(--mint),var(--mint-2))}
.svc-thumb img,.pc-img img,.bc-img img{min-height:100%}
@media(max-width:768px){
  .sec{padding-top:44px;padding-bottom:44px}
  .sec-head{margin-bottom:24px}
  .hero{padding-top:24px}
  h1{line-height:1.12}
  .lead{font-size:1rem}
  /* trust strip 2-up on phones to save height */
  .ts-grid{grid-template-columns:1fr 1fr;gap:12px}
  .ts-item{padding:13px 12px;flex-direction:column;align-items:flex-start;gap:8px}
  .page-hero{padding:38px 0 44px}
  .cta-band{padding:44px 0}
  .stats-band{padding:36px 0}
}
@media(max-width:480px){
  .ts-grid{grid-template-columns:1fr 1fr}
  .sec{padding-top:38px;padding-bottom:38px}
  .float-card{padding:12px 14px}
  .float-card strong{font-size:1rem}
  .offer-badge{width:76px;height:76px;top:-8px}
  .offer-badge span{font-size:1.4rem}
}

/* ============================================================
   ADDED: MOBILE HARDENING + NEW COMPONENTS (Areas, Quote LP, Calculator)
   ============================================================ */

/* --- Prevent iOS auto-zoom on focus + comfy tap targets --- */
input,select,textarea{font-size:16px}
@media(max-width:600px){
  .btn{padding:13px 20px}
  .btn-lg{padding:15px 24px;font-size:1rem}
  .btn-sm{padding:9px 14px}
  .nav-cta .btn-sm{padding:10px 14px}
}

/* --- Footer: Areas We Cover --- */
.foot-areas{border-top:1px solid rgba(255,255,255,.1);padding:26px 0 6px}
.foot-areas h4{color:#fff;font-size:1rem;margin-bottom:14px}
.area-links{list-style:none;display:flex;flex-wrap:wrap;gap:9px 10px;padding:0}
.area-links li{margin:0}
.area-links a{display:inline-block;color:#cfe0e6;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  padding:7px 13px;border-radius:100px;font-size:.85rem;transition:.2s}
.area-links a:hover{color:var(--navy);background:var(--accent);border-color:var(--accent)}

/* --- City page: coverage chips --- */
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:8px}
.area-grid .ac{display:flex;align-items:center;gap:9px;background:var(--mint-2);border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;font-weight:600;color:var(--ink);font-size:.92rem}
.area-grid .ac svg{width:18px;height:18px;stroke:var(--teal);fill:none;flex:none}

/* ============================================================
   QUOTE / GOOGLE-ADS LANDING PAGE + PRICE CALCULATOR
   ============================================================ */
.lp-hero{background:radial-gradient(1000px 560px at 90% -10%,var(--mint) 0,transparent 60%),linear-gradient(180deg,#fff,var(--mint-2));
  padding:clamp(30px,5vw,58px) 0 clamp(40px,5vw,64px);overflow:hidden}
.lp-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:start}
.lp-copy h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.lp-copy .lead{margin:16px 0 22px}
.lp-usp{list-style:none;display:grid;gap:12px;margin:0 0 24px;padding:0}
.lp-usp li{display:flex;gap:11px;align-items:flex-start;font-weight:600;color:var(--ink)}
.lp-usp li svg{width:22px;height:22px;flex:none;stroke:#fff;fill:none;background:var(--accent);border-radius:50%;padding:4px;stroke-width:2.6}
.lp-callrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px}
.lp-callrow .rr{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--navy)}
.lp-callrow .stars svg{width:18px;height:18px;fill:var(--accent)}

/* calculator card */
.calc{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  padding:clamp(20px,3vw,30px);position:sticky;top:96px}
.calc-badge{display:inline-flex;align-items:center;gap:8px;background:var(--mint);color:var(--teal-deep);font-family:var(--font-head);
  font-weight:700;font-size:.8rem;letter-spacing:.04em;padding:7px 13px;border-radius:100px;margin-bottom:14px}
.calc h2{font-size:1.4rem;margin-bottom:4px}
.calc .calc-sub{font-size:.9rem;margin-bottom:18px}
.calc-field{margin-bottom:16px}
.calc-field>label{display:block;font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:.9rem;margin-bottom:8px}
.seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.seg.three{grid-template-columns:repeat(3,1fr)}
.seg button{font:inherit;font-weight:600;font-size:.86rem;padding:11px 8px;border:1.5px solid var(--line);background:#fbfdff;
  color:var(--ink);border-radius:12px;cursor:pointer;transition:.18s;text-align:center;line-height:1.2}
.seg button small{display:block;font-weight:600;color:var(--slate);font-size:.72rem;margin-top:2px}
.seg button:hover{border-color:var(--teal)}
.seg button.on{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 6px 16px rgba(24,156,252,.28)}
.seg button.on small{color:rgba(255,255,255,.85)}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);background:#fbfdff;font-size:1.3rem;
  font-weight:700;color:var(--teal-deep);cursor:pointer;transition:.18s;flex:none}
.stepper button:hover{border-color:var(--teal);background:var(--mint)}
.stepper .val{font-family:var(--font-head);font-weight:800;font-size:1.25rem;color:var(--navy);min-width:46px;text-align:center}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.extra{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line);border-radius:11px;padding:10px 11px;cursor:pointer;
  font-size:.84rem;font-weight:600;color:var(--ink);background:#fbfdff;transition:.18s;user-select:none}
.extra:hover{border-color:var(--teal)}
.extra.on{border-color:var(--accent);background:rgba(132,204,0,.1)}
.extra input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.extra .px{margin-left:auto;color:var(--slate);font-weight:700;font-size:.78rem}
.calc-out{margin-top:20px;background:linear-gradient(160deg,var(--navy),var(--teal-dark));color:#fff;border-radius:16px;padding:18px 20px}
.calc-out .eo-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.calc-out .eo-lbl{font-size:.82rem;color:#bfe0ff;font-weight:600}
.calc-out .eo-price{font-family:var(--font-head);font-weight:800;font-size:2rem;line-height:1}
.calc-out .eo-price small{font-size:.9rem;font-weight:700;color:#cdeaff}
.calc-out .eo-note{font-size:.76rem;color:#bcd6e6;margin-top:6px}
.calc-out .eo-disc{display:inline-block;margin-top:8px;background:var(--accent);color:var(--navy);font-weight:800;font-size:.74rem;
  padding:4px 10px;border-radius:100px;letter-spacing:.02em}
.calc .btn-block{margin-top:16px}
.calc-tiny{font-size:.72rem;color:var(--slate);text-align:center;margin-top:10px}

@media(max-width:920px){
  .lp-grid{grid-template-columns:1fr;gap:30px}
  .calc{position:static;top:auto}
}

/* --- General mobile trims --- */
@media(max-width:600px){
  .mq-item{font-size:.82rem}
  .sec{padding:44px 0}
  .container{padding:0 16px}
  .extras{grid-template-columns:1fr}
  .lp-callrow{gap:10px}
  h1{letter-spacing:-.01em}
}
@media(max-width:380px){
  .seg.three{grid-template-columns:repeat(2,1fr)}
}

/* --- Overflow safety net --- */
html,body{max-width:100%}
img,svg,video,iframe{max-width:100%}

/* ===== /quote/ End of Tenancy landing redesign ===== */
.eot-hero{background:radial-gradient(1100px 520px at 88% -8%,var(--mint) 0,transparent 60%),linear-gradient(180deg,#fff 0,#f6fbff 100%);padding:54px 0 30px;overflow:hidden}
.eot-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.eot-hero-copy h1{font-size:clamp(2rem,4.4vw,3.15rem);line-height:1.08;margin:14px 0 16px}
.eot-hero-copy .lead{color:var(--slate);font-size:1.04rem;max-width:38em}
.eot-hero-copy .lp-usp{list-style:none;margin:20px 0 24px;display:grid;gap:11px}
.eot-hero-copy .lp-usp li{display:flex;gap:11px;align-items:flex-start;font-weight:600;color:var(--navy);font-size:.98rem}
.eot-hero-copy .lp-usp svg{width:21px;height:21px;stroke:var(--accent-deep);fill:none;flex:0 0 auto;margin-top:1px}
.lp-callrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:6px}
.eot-rating{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--slate);font-size:.92rem;flex-wrap:wrap}
.eot-rating .stars svg{width:18px;height:18px;fill:#f5a623}
.eot-rating strong{color:var(--navy)}
.eot-hero-media{display:flex;justify-content:center}
.eot-hero-img{position:relative;border-radius:26px;overflow:visible;max-width:480px;width:100%}
.eot-hero-img img{display:block;width:100%;height:auto;border-radius:26px;box-shadow:0 30px 70px rgba(10,42,74,.22)}
.eho-chip{position:absolute;left:-14px;bottom:26px;background:#fff;border-radius:16px;padding:12px 18px;box-shadow:0 16px 40px rgba(10,42,74,.18);display:flex;flex-direction:column;line-height:1}
.eho-chip small{color:var(--slate);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.eho-chip b{color:var(--teal-deep);font-family:var(--font-head);font-size:1.5rem}
.eho-badge{position:absolute;right:-10px;top:20px;background:var(--accent);color:#123;border-radius:14px;padding:10px 14px;font-weight:800;font-size:.82rem;line-height:1.15;text-align:center;box-shadow:0 14px 34px rgba(132,204,0,.4);display:flex;align-items:center;gap:7px}
.eho-badge svg{width:16px;height:16px;stroke:#123;fill:none}
.eot-pills{background:var(--navy);color:#eaf5ff}
.eot-pills ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;padding:16px 0;margin:0}
.eot-pills li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}
.eot-pills svg{width:17px;height:17px;stroke:var(--accent);fill:none;flex:0 0 auto}
.calc-wrap{max-width:560px;margin:0 auto}
.eot-side{display:flex;flex-direction:column;gap:14px}
.eot-side-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-sm)}
.eot-side-card .ec-num{font-family:var(--font-head);font-weight:800;font-size:1.4rem;color:var(--teal);background:var(--mint);width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.eot-side-card strong{display:block;color:var(--navy);font-size:1rem;margin-bottom:3px}
.eot-side-card em{color:var(--slate);font-style:normal;font-size:.9rem}
.chk-rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.chk-room{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px;box-shadow:var(--shadow-sm)}
.chk-room h3{font-size:1.12rem;color:var(--navy);margin:0 0 14px;padding-bottom:12px;border-bottom:2px solid var(--mint)}
.chk-room .tick-list{margin:0;gap:9px}
.chk-room .tick-list li{font-size:.92rem;color:var(--ink)}
.chk-foot{text-align:center;margin-top:26px;color:var(--slate);font-size:.98rem;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.chk-foot svg{width:19px;height:19px;stroke:var(--accent-deep);fill:none}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;transition:.25s}
.g-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.g-card .g-ic{width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--mint);display:grid;place-items:center}
.g-card .g-ic svg{width:20px;height:20px;stroke:var(--teal-deep);fill:none}
.g-card strong{display:block;color:var(--navy);margin-bottom:5px;font-size:1.02rem}
.g-card span{color:var(--slate);font-size:.92rem;line-height:1.5}
.ptable-wrap{max-width:760px;margin:0 auto;overflow-x:auto;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);background:#fff}
.ptable{width:100%;border-collapse:collapse;min-width:440px}
.ptable th,.ptable td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--line)}
.ptable thead th{background:var(--navy);color:#fff;font-family:var(--font-head);font-size:.9rem;letter-spacing:.02em}
.ptable tbody tr:last-child td{border-bottom:none}
.ptable tbody tr:nth-child(even){background:#f7fbff}
.ptable td:first-child{font-weight:600;color:var(--navy)}
.ptable .pp{font-family:var(--font-head);font-weight:800;color:var(--teal-deep);font-size:1.1rem;white-space:nowrap}
.ptable td:last-child{color:var(--slate);font-size:.9rem}
@media(max-width:980px){.eot-hero-grid{grid-template-columns:1fr;gap:38px}.eot-hero-media{order:-1}.eot-hero-img{max-width:420px}}
@media(max-width:760px){.chk-rooms{grid-template-columns:1fr}.g-grid{grid-template-columns:1fr}.eot-hero{padding:34px 0 22px}.lp-callrow .btn{flex:1 1 auto;justify-content:center}}
@media(max-width:520px){.eho-chip{left:6px;bottom:10px;padding:10px 14px}.eho-badge{right:6px}}
/* Hide top blue info bar on mobile (address / phone / email) */
@media(max-width:768px){.topbar{display:none!important}}
@media(max-width:520px){.ptable th:last-child,.ptable td:last-child{display:none}.ptable{min-width:0}.ptable-wrap{overflow:visible}}
