/* ==========================================================================
   Trashgo — shared stylesheet
   Theme: white / red #E63946 / sky blue #0EA5E9 on navy #0F172A · Poppins
   ========================================================================== */

:root{
  --red:#E63946;
  --red-dark:#C1121F;
  --red-light:#FF7A85;
  --red-pale:#FFF1F2;
  --sky:#0EA5E9;
  --sky-dark:#0369A1;
  --sky-light:#7DD3FC;
  --sky-pale:#E0F2FE;
  --sky-wash:#F0F9FF;
  --hero-top:#DCEEFA;   /* top of every hero — the header sits on this exact colour */
  --navy:#0F172A;
  --navy-soft:#1E293B;

  --white:#FFFFFF;
  --surface:#F8FAFC;
  --text:#0F172A;
  --text-2:#475569;
  --text-3:#94A3B8;
  --border:#E2E8F0;
  --star:#F59E0B;

  --shadow-sm:0 2px 10px rgba(15,23,42,.05);
  --shadow:0 10px 34px rgba(15,23,42,.09);
  --shadow-lg:0 24px 60px rgba(15,23,42,.16);
  --shadow-red:0 8px 22px rgba(230,57,70,.30);
  --shadow-sky:0 8px 22px rgba(14,165,233,.28);

  --r-sm:10px;
  --r:14px;
  --r-lg:20px;
  --r-xl:26px;

  --nav-h:86px;
}

*{box-sizing:border-box;margin:0;padding:0;}
/* author display rules (e.g. .form-row{display:grid}) beat the UA rule for [hidden] */
[hidden]{display:none !important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:100px;}
body{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--text);background:var(--white);
  overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
h1,h2,h3,h4{line-height:1.18;letter-spacing:-.02em;font-weight:700;}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:4px;}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}
.container-narrow{max-width:900px;}
.section{padding:clamp(44px,5.2vw,76px) 0;}
.section-tight{padding:clamp(26px,3vw,42px) 0;}
.band-sky{background:linear-gradient(180deg,var(--sky-pale) 0%,var(--sky-wash) 100%);}
.band-surface{background:var(--surface);}
.band-navy{background:var(--navy);color:#fff;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px;}
.eyebrow.center{justify-content:center;}
.eyebrow.sky{color:var(--sky);}
.eyebrow.light{color:var(--sky-light);}

.section-head{text-align:center;max-width:680px;margin:0 auto clamp(26px,3.4vw,44px);}
.section-head h2{font-size:clamp(1.75rem,4.2vw,2.7rem);}
.section-head p{color:var(--text-2);font-size:clamp(.95rem,1.6vw,1.08rem);margin-top:14px;}
.section-head.on-navy h2{color:#fff;}
.section-head.on-navy p{color:rgba(255,255,255,.72);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;
  font-size:.95rem;padding:12px 24px;border-radius:var(--r);min-height:46px;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
  white-space:nowrap;border:2px solid transparent;text-align:center;
}
.btn svg{width:18px;height:18px;flex-shrink:0;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-dark);}
.btn-sky{background:var(--sky);color:#fff;}
.btn-sky:hover{background:var(--sky-dark);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-soft);transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-outline{background:#fff;border-color:var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--red);color:var(--red);}
.btn-outline-dark{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline-dark:hover{background:var(--navy);color:#fff;}
.btn-white{background:#fff;color:var(--red);}
.btn-white:hover{background:#FFF1F2;}
.btn-ghost{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.26);}
.btn-lg{padding:14px 30px;font-size:1rem;min-height:52px;}
.btn-full{width:100%;}

/* ---------- Announcement ---------- */
.announce{
  background:linear-gradient(90deg,var(--red) 0%,var(--red-dark) 100%);
  color:#fff;text-align:center;font-size:.84rem;font-weight:500;padding:11px 18px;
}
.announce strong{font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* ---------- Header ---------- */
/* Floating pill header — a white card that rides above the page */
header{
  position:sticky;top:0;z-index:100;padding:14px 0;
  background:#fff;
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  height:var(--nav-h);background:#fff;border-radius:22px;
  width:calc(100% - 48px);max-width:1200px;margin:0 auto;
  padding:0 12px 0 24px;
  box-shadow:0 12px 32px rgba(15,23,42,.13),0 2px 6px rgba(15,23,42,.05);
}
.logo{display:flex;align-items:center;flex-shrink:0;}
.logo img{height:64px;width:auto;display:block;}
footer .logo img{height:68px;}
.mobile-panel .logo img{height:60px;}

nav.main-nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1 1 auto;}
.nav-item{position:relative;}
.nav-item > a,.nav-item > button{
  display:inline-flex;align-items:center;gap:5px;font-size:.94rem;font-weight:500;
  color:var(--text-2);padding:8px 0;transition:color .2s;white-space:nowrap;position:relative;
}
.nav-item > a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--red);
  border-radius:3px;transition:width .25s ease;
}
.nav-item > a:hover,.nav-item > button:hover{color:var(--red);}
.nav-item > a:hover::after{width:100%;}
.nav-item > a.active{color:var(--red);}
.nav-item > a.active::after{width:100%;}
.nav-item .caret{width:14px;height:14px;transition:transform .25s;}
.nav-item:hover .caret{transform:rotate(180deg);}

.dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  padding:10px;min-width:264px;opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s;
}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.dropdown a{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:var(--r-sm);transition:background .2s;}
.dropdown a:hover{background:var(--sky-wash);}
.dropdown .di{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dropdown .di svg{width:18px;height:18px;}
.dropdown .dt{font-weight:600;font-size:.9rem;color:var(--text);}
.dropdown .dd{font-size:.78rem;color:var(--text-3);line-height:1.45;}

.header-ctas{display:flex;align-items:center;gap:28px;flex-shrink:0;}
.header-ctas .btn-red{border-radius:16px;padding:15px 28px;min-height:58px;font-size:1rem;font-weight:700;}
.header-phone{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--text);font-size:.92rem;white-space:nowrap;}
.header-phone .ico{width:38px;height:38px;border-radius:50%;background:var(--sky-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.header-phone svg{width:17px;height:17px;color:var(--sky);}

.burger{display:none;width:48px;height:48px;border-radius:var(--r-sm);align-items:center;justify-content:center;background:var(--red-pale);color:var(--red);}
.burger svg{width:24px;height:24px;}

/* ---------- Mobile panel ---------- */
.mobile-panel{
  position:fixed;inset:0;background:#fff;z-index:200;display:flex;flex-direction:column;
  padding:22px 24px calc(32px + env(safe-area-inset-bottom));
  transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);overflow-y:auto;
}
.mobile-panel.open{transform:translateX(0);}
.mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;}
.mobile-close{width:48px;height:48px;border-radius:var(--r-sm);background:var(--red-pale);color:var(--red);display:flex;align-items:center;justify-content:center;}
.mobile-close svg{width:24px;height:24px;}
.mobile-panel nav{display:flex;flex-direction:column;margin-bottom:26px;}
.mobile-panel nav a{
  font-size:1.18rem;font-weight:600;padding:15px 0;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.mobile-panel nav a svg{width:18px;height:18px;color:var(--text-3);}
.mobile-panel nav a.active{color:var(--red);}
.mobile-actions{display:flex;flex-direction:column;gap:12px;margin-top:auto;}
.mobile-call{
  display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:14px;
  border-radius:var(--r);background:var(--sky-pale);color:var(--sky-dark);font-weight:600;
}
.mobile-call svg{width:18px;height:18px;}

/* ==========================================================================
   HERO (landing)
   ========================================================================== */
.hero{position:relative;overflow:hidden;background:linear-gradient(178deg,#DCEEFA 0%,#CFE6F6 55%,#C6E1F4 100%);}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:clamp(24px,3.4vw,56px);align-items:center;padding:clamp(26px,3vw,40px) 0 clamp(140px,13vw,170px);}
.hero-copy{min-width:0;}

/* Calgary illustration — fills the right side and the bottom of the hero */
.hero-art{position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;line-height:0;pointer-events:none;}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center bottom;}
.hero-art::before{
  content:"";position:absolute;left:0;right:0;top:0;height:30%;z-index:2;
  background:linear-gradient(180deg,#CFE6F6 0%,rgba(207,230,246,.55) 55%,transparent 100%);
}
/* keep the left column readable where the artwork rises behind it */
.hero-art::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(100deg,rgba(214,235,249,.92) 0%,rgba(214,235,249,.72) 26%,rgba(214,235,249,0) 52%);
}

.pill{
  display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);
  padding:8px 16px 8px 9px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-2);margin-bottom:20px;box-shadow:var(--shadow-sm);
}
.pill .dot{width:24px;height:24px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pill .dot svg{width:13px;height:13px;color:#fff;}

.hero h1{font-size:clamp(2.1rem,5.6vw,3.7rem);font-weight:800;margin-bottom:18px;}
.hero h1 .mark{position:relative;display:inline-block;color:var(--sky-dark);z-index:1;}
.hero h1 .mark::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.07em;height:.28em;background:var(--sky-light);opacity:.45;border-radius:4px;z-index:-1;}
.hero p.lede{color:var(--text-2);font-size:clamp(.98rem,1.7vw,1.1rem);max-width:520px;margin-bottom:26px;}

/* animated SVG skyline — background of the How It Works band */
.hiw{--sky-h:clamp(140px,15vw,230px);position:relative;overflow:hidden;padding-bottom:calc(var(--sky-h) + 52px);}
.hiw > .container{position:relative;z-index:2;}
.hiw-skyline{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none;line-height:0;height:var(--sky-h);}
.hiw-skyline svg{width:100%;height:100%;display:block;}
.cloud{animation:cloudDrift 26s ease-in-out infinite;transform-origin:center;}
.cloud-2{animation-duration:34s;animation-delay:-6s;}
.cloud-3{animation-duration:30s;animation-delay:-14s;}
@keyframes cloudDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(26px)}}
.truck{animation:truckRoll 18s linear infinite;}
@keyframes truckRoll{0%{transform:translateX(-140px)}100%{transform:translateX(1120px)}}

/* ---------- Quote card ---------- */
.quote-card{background:#fff;border-radius:var(--r-xl);padding:clamp(22px,2.6vw,32px);box-shadow:var(--shadow-lg);border:1px solid var(--border);position:relative;}
.quote-card h3{font-size:clamp(1.2rem,2.2vw,1.45rem);margin-bottom:5px;}
.quote-card .sub{color:var(--text-3);font-size:.86rem;margin-bottom:20px;line-height:1.5;}
.quote-card form .btn[type="submit"],.quote-card form button[type="submit"]{
  margin-top:6px;min-height:68px;font-size:1.24rem;font-weight:700;letter-spacing:.04em;
  border-radius:var(--r);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.form-row.one{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;min-width:0;}
/* Labels stay for screen readers; the bold inputs carry their own placeholders */
.field label{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.field input,.field select,.field textarea{
  width:100%;border:2.5px solid var(--navy);border-radius:var(--r);padding:17px 18px;
  font-size:16px;font-weight:500;font-family:inherit;color:var(--text);background:#FBFDFF;min-height:60px;
  transition:border-color .2s,box-shadow .2s,background .2s;appearance:none;-webkit-appearance:none;
}
.field input::placeholder,.field textarea::placeholder{color:#64748B;font-weight:500;}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:44px;color:#64748B;
}
.field select:valid{color:var(--text);}
.field input:hover,.field select:hover,.field textarea:hover{background:#fff;}
.field textarea{min-height:120px;resize:vertical;line-height:1.55;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px rgba(230,57,70,.15);}
.quote-note{display:flex;align-items:center;gap:7px;justify-content:center;color:var(--text-3);font-size:.78rem;margin-top:14px;text-align:center;}
.quote-note svg{width:14px;height:14px;color:var(--sky);flex-shrink:0;}
.form-success{display:none;text-align:center;padding:28px 6px;}
.form-success.show{display:block;}
.form-success .tick{width:60px;height:60px;border-radius:50%;background:var(--red-pale);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.form-success .tick svg{width:30px;height:30px;color:var(--red);}
.form-success h4{font-size:1.16rem;margin-bottom:8px;}
.form-success p{color:var(--text-2);font-size:.93rem;}

/* ---------- Trust badges under form ---------- */
.trust-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;}
.tb{
  display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);
  padding:9px 14px;border-radius:var(--r-sm);font-size:.82rem;font-weight:600;color:var(--text-2);box-shadow:var(--shadow-sm);
}
.tb svg{width:16px;height:16px;flex-shrink:0;}
.tb.r svg{color:var(--red);}
.tb.s svg{color:var(--sky);}

/* ---------- Triple CTA row ---------- */
.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.triple .btn{width:100%;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;font-weight:700;}

/* ---------- Credentials strip ---------- */
.creds{border-top:3px solid var(--sky-light);border-bottom:3px solid var(--sky-light);background:#fff;overflow:hidden;padding:20px 0;}
.creds-inner{display:flex;align-items:center;gap:26px;}
.creds-label{font-weight:700;color:var(--text-3);font-size:.82rem;line-height:1.3;flex-shrink:0;max-width:120px;text-transform:uppercase;letter-spacing:.06em;}
.creds-viewport{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.creds-track{display:flex;gap:40px;white-space:nowrap;animation:credScroll 32s linear infinite;width:max-content;}
.cred{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.98rem;color:var(--navy);}
.cred svg{width:22px;height:22px;flex-shrink:0;}
.cred:nth-child(odd) svg{color:var(--red);}
.cred:nth-child(even) svg{color:var(--sky);}
@keyframes credScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- Star feature list + phone ---------- */
.feat-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,4vw,60px);align-items:center;}
.star-list{display:flex;flex-direction:column;gap:16px;margin-top:26px;}
.star-list li{display:flex;gap:15px;align-items:flex-start;font-size:1rem;color:var(--text-2);}
.star-list li svg{width:26px;height:26px;flex-shrink:0;color:var(--red);margin-top:1px;}
.star-list li b{color:var(--sky-dark);font-weight:600;}

.phone-wrap{display:flex;justify-content:center;position:relative;}
.phone-wrap::before{content:"";position:absolute;width:78%;aspect-ratio:1;background:var(--sky-light);opacity:.28;filter:blur(60px);border-radius:50%;}
.phone{
  position:relative;width:min(300px,80vw);aspect-ratio:9/18.5;background:var(--navy);border-radius:38px;
  padding:11px;box-shadow:0 30px 70px rgba(15,23,42,.35);
}
.phone-screen{width:100%;height:100%;background:#fff;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;}
.phone-notch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:110px;height:22px;background:var(--navy);border-radius:0 0 14px 14px;z-index:2;}
.ph-top{background:var(--navy);color:#fff;padding:26px 16px 12px;display:flex;align-items:center;justify-content:space-between;}
.ph-logo{font-weight:800;font-size:.86rem;letter-spacing:-.02em;}
.ph-logo span{color:var(--red-light);}
.ph-menu{width:22px;height:16px;display:flex;flex-direction:column;justify-content:space-between;}
.ph-menu i{display:block;height:2px;background:var(--red-light);border-radius:2px;}
.ph-body{padding:14px;flex:1;overflow:hidden;}
.ph-h{font-size:.82rem;font-weight:700;margin-bottom:3px;}
.ph-p{font-size:.63rem;color:var(--text-3);margin-bottom:12px;line-height:1.4;}
.ph-opt{border:1.5px solid var(--border);border-radius:9px;padding:9px 11px;font-size:.68rem;font-weight:500;margin-bottom:7px;display:flex;justify-content:space-between;align-items:center;color:var(--text-2);}
.ph-opt.sel{border-color:var(--red);background:var(--red-pale);color:var(--red);font-weight:700;}
.ph-opt .tag{font-size:.58rem;font-weight:700;color:var(--sky-dark);background:var(--sky-pale);padding:2px 6px;border-radius:5px;}
.ph-opt.sel .tag{background:var(--red);color:#fff;}
.ph-btn{margin-top:12px;background:var(--red);color:#fff;text-align:center;padding:11px;border-radius:9px;font-size:.72rem;font-weight:700;}

/* ---------- Services cards ---------- */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.6vw,30px);}
.services-grid.services-3{grid-template-columns:repeat(3,1fr);}
.service-card{background:#fff;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.service-media{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--surface);}
.service-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.service-card:hover .service-media img{transform:scale(1.07);}
.service-media .tag{position:absolute;top:15px;left:15px;color:#fff;font-size:.7rem;font-weight:600;padding:7px 14px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase;}
.tag.t-red{background:var(--red);}
.tag.t-sky{background:var(--sky);}
.service-body{padding:clamp(22px,2.6vw,30px);flex:1;display:flex;flex-direction:column;}
.service-icon{width:54px;height:54px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0;}
.service-icon svg{width:26px;height:26px;}
.ic-red{background:var(--red-pale);} .ic-red svg{color:var(--red);}
.ic-sky{background:var(--sky-pale);} .ic-sky svg{color:var(--sky);}
.service-body h3{font-size:clamp(1.25rem,2.3vw,1.5rem);margin-bottom:11px;}
.service-body > p{color:var(--text-2);font-size:.96rem;margin-bottom:20px;}
.service-feats{margin-bottom:24px;display:flex;flex-direction:column;gap:11px;}
.service-feats li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--text-2);}
.service-feats svg{width:19px;height:19px;flex-shrink:0;margin-top:2px;}
.service-feats.f-red svg{color:var(--red);} .service-feats.f-sky svg{color:var(--sky);}
.service-link{margin-top:auto;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.96rem;}
.service-link svg{width:17px;height:17px;transition:transform .25s;}
.service-card:hover .service-link svg{transform:translateX(5px);}
.l-red{color:var(--red);} .l-sky{color:var(--sky-dark);}

/* ---------- Steps ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,32px);}
.steps.steps-3{grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto;}
.steps::before{content:"";position:absolute;top:31px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--sky-light) 0 10px,transparent 10px 20px);}
.step{position:relative;text-align:center;}
.step-num{width:62px;height:62px;border-radius:50%;background:#fff;border:2px solid var(--sky-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;color:var(--sky-dark);margin:0 auto 20px;box-shadow:var(--shadow-sm);position:relative;z-index:2;}
.step:nth-child(even) .step-num{border-color:var(--red-light);color:var(--red);}
.step h3{font-size:1.06rem;margin-bottom:9px;}
.step p{color:var(--text-2);font-size:.9rem;}

/* ---------- Benefits ---------- */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);}
.benefit-card{
  position:relative;overflow:hidden;border-radius:var(--r-lg);padding:clamp(22px,2.5vw,30px);
  border:1.5px solid transparent;transition:transform .25s,box-shadow .25s;
}
.benefit-card::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;}
.benefit-card:nth-child(odd){background:var(--red-pale);border-color:#FBD5D8;}
.benefit-card:nth-child(odd)::after{background:var(--red);}
.benefit-card:nth-child(even){background:var(--sky-wash);border-color:#C9E7F8;}
.benefit-card:nth-child(even)::after{background:var(--sky);}
.benefit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.benefit-card:nth-child(odd) .benefit-icon{background:#fff;}
.benefit-card:nth-child(even) .benefit-icon{background:#fff;}
.benefit-icon{width:52px;height:52px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.benefit-icon svg{width:24px;height:24px;}
.benefit-card h3{font-size:1.06rem;margin-bottom:9px;}
.benefit-card p{color:var(--text-2);font-size:.91rem;}

/* ---------- Audience panels (property managers / residents) ---------- */
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,30px);}
.audience{
  position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(24px,2.8vw,36px);
  border:1.5px solid transparent;display:flex;flex-direction:column;
}
.audience::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;}
.audience.a-red{background:var(--red-pale);border-color:#FBD5D8;}
.audience.a-red::after{background:var(--red);}
.audience.a-sky{background:var(--sky-wash);border-color:#C9E7F8;}
.audience.a-sky::after{background:var(--sky);}
.aud-icon{width:56px;height:56px;border-radius:var(--r);background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.aud-icon svg{width:27px;height:27px;}
.audience h3{font-size:clamp(1.2rem,2.2vw,1.45rem);margin-bottom:12px;}
.audience > p{color:var(--text-2);font-size:.96rem;margin-bottom:20px;}
.aud-list{display:flex;flex-direction:column;gap:11px;margin-bottom:26px;}
.aud-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--text-2);}
.aud-list svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;}
.a-red .aud-list svg{color:var(--red);}
.a-sky .aud-list svg{color:var(--sky);}
.audience .btn{margin-top:auto;align-self:flex-start;}

/* ---------- Service area ---------- */
.area-section{position:relative;padding:clamp(64px,8vw,110px) 0;background-size:cover;background-position:center;
  background-image:linear-gradient(135deg,rgba(15,23,42,.93) 0%,rgba(3,105,161,.85) 100%),url('https://images.pexels.com/photos/28445902/pexels-photo-28445902.jpeg?auto=compress&cs=tinysrgb&w=1920');}
.area-section .container{text-align:center;max-width:740px;}
.area-section h2{color:#fff;font-size:clamp(1.75rem,4.2vw,2.7rem);margin-bottom:18px;}
.area-section > .container > p{color:rgba(255,255,255,.82);font-size:clamp(.95rem,1.7vw,1.08rem);margin-bottom:36px;}
.area-pill{display:inline-flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(10px);border-radius:var(--r-xl);padding:clamp(24px,3vw,34px) clamp(32px,5vw,52px);margin-bottom:36px;}
.area-pill .pin{width:60px;height:60px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.area-pill .pin svg{width:27px;height:27px;color:#fff;}
.area-pill h3{color:#fff;font-size:clamp(1.2rem,2.4vw,1.45rem);}
.area-pill span{color:var(--sky-light);font-weight:600;font-size:.88rem;margin-top:5px;}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);}
.testi-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(22px,2.5vw,30px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.stars{color:var(--star);font-size:1rem;letter-spacing:3px;margin-bottom:15px;}
.testi-card .quote{color:var(--text-2);font-size:.94rem;margin-bottom:22px;flex:1;}
.testi-person{display:flex;align-items:center;gap:13px;}
.testi-person .av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#fff;flex-shrink:0;}
.testi-person .name{font-weight:600;font-size:.93rem;}
.testi-person .loc{color:var(--text-3);font-size:.8rem;}
.testi-caveat{text-align:center;color:var(--text-3);font-size:.78rem;margin-top:30px;}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--r);margin-bottom:13px;overflow:hidden;transition:border-color .25s,box-shadow .25s;}
.faq-item.open{border-color:var(--red-light);box-shadow:var(--shadow-sm);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;text-align:left;font-weight:600;font-size:1rem;min-height:60px;}
.faq-q .ico{width:30px;height:30px;border-radius:8px;background:var(--sky-pale);color:var(--sky-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .28s,background .28s,color .28s;}
.faq-q .ico svg{width:17px;height:17px;}
.faq-item.open .faq-q .ico{transform:rotate(45deg);background:var(--red);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .32s ease;}
.faq-item.open .faq-a{max-height:460px;}
.faq-a p{color:var(--text-2);padding:0 22px 21px;font-size:.94rem;}

/* ---------- CTA banner ---------- */
.cta-banner{position:relative;overflow:hidden;padding:clamp(56px,7vw,100px) 0;background:linear-gradient(125deg,var(--red) 0%,var(--red-dark) 100%);}
.cta-banner .blob{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;}
.cta-banner .b1{width:min(320px,45vw);aspect-ratio:1;background:var(--sky);opacity:.42;top:-110px;right:-70px;}
.cta-banner .b2{width:min(300px,42vw);aspect-ratio:1;background:#fff;opacity:.16;bottom:-120px;left:-70px;}
.cta-banner .container{position:relative;z-index:2;text-align:center;max-width:700px;}
.cta-banner h2{color:#fff;font-size:clamp(1.75rem,4.2vw,2.7rem);margin-bottom:16px;}
.cta-banner > .container > p{color:rgba(255,255,255,.9);font-size:clamp(.98rem,1.8vw,1.1rem);margin-bottom:34px;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;}
.cta-phone{display:inline-flex;align-items:center;gap:11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);padding:13px 26px;border-radius:999px;color:#fff;font-weight:600;font-size:.95rem;backdrop-filter:blur(8px);}
.cta-phone svg{width:18px;height:18px;flex-shrink:0;}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#fff;padding-top:clamp(48px,6vw,76px);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(28px,4vw,46px);padding-bottom:clamp(36px,5vw,56px);}
.footer-col h4{font-size:1rem;margin-bottom:20px;}
.footer-col ul{display:flex;flex-direction:column;gap:13px;}
.footer-col a,.footer-col p,.footer-col span{color:rgba(255,255,255,.68);font-size:.9rem;}
.footer-col a{transition:color .2s;}
.footer-col a:hover{color:var(--red-light);}
.footer-brand .logo{color:#fff;margin-bottom:15px;}
.footer-brand p{max-width:290px;}
.footer-contact li{display:flex;align-items:flex-start;gap:12px;}
.footer-contact .ico{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.footer-contact .ico svg{width:16px;height:16px;color:var(--sky-light);}
.footer-contact li:first-child .ico svg{color:var(--red-light);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.11);padding:22px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:rgba(255,255,255,.5);font-size:.8rem;}

/* ---------- WhatsApp floating button ---------- */
.wa-fab{
  position:fixed;right:18px;bottom:22px;z-index:96;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,.42);transition:transform .25s,box-shadow .25s;
}
.wa-fab:hover{transform:scale(1.08);box-shadow:0 14px 34px rgba(37,211,102,.55);}
.wa-fab svg{width:31px;height:31px;fill:#fff;}
.wa-fab::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}

/* ---------- Mobile header CTA row (under the header) ---------- */
.header-cta-row{display:none;gap:10px;padding:12px 18px 14px;background:#fff;}
.header-cta-row .btn{flex:1;padding:14px 10px;font-size:.94rem;min-height:52px;border-radius:16px;}
.header-cta-row .btn-outline{box-shadow:0 6px 18px rgba(15,23,42,.08);}

/* ---------- Sticky mobile bar ---------- */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:11px 14px calc(11px + env(safe-area-inset-bottom));gap:10px;}
.mobile-bar .btn{flex:1;padding:13px 14px;font-size:.92rem;min-height:50px;}

/* ==========================================================================
   INNER PAGE components
   ========================================================================== */
.page-hero{position:relative;overflow:hidden;padding:clamp(52px,6.5vw,92px) 0;background:linear-gradient(170deg,var(--hero-top) 0%,var(--sky-wash) 60%,#fff 100%);}
.page-hero .blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.page-hero .pb1{width:min(420px,55vw);aspect-ratio:1;background:var(--sky-light);opacity:.45;top:-150px;right:-90px;}
.page-hero .pb2{width:min(360px,50vw);aspect-ratio:1;background:var(--red-light);opacity:.24;bottom:-170px;left:-110px;}
.page-hero .container{position:relative;z-index:2;}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,56px);align-items:center;}
.page-hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;margin-bottom:16px;}
.page-hero h1 .mark{position:relative;display:inline-block;color:var(--sky-dark);z-index:1;}
.page-hero h1 .mark::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.07em;height:.28em;background:var(--sky-light);opacity:.45;border-radius:4px;z-index:-1;}
.page-hero p.lede{color:var(--text-2);font-size:clamp(1rem,1.8vw,1.12rem);max-width:560px;margin-bottom:26px;}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:13px;}
.hero-figure{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;position:relative;}
.hero-figure img{width:100%;height:100%;object-fit:cover;}

.crumbs{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-3);margin-bottom:16px;flex-wrap:wrap;}
.crumbs a:hover{color:var(--red);}
.crumbs svg{width:13px;height:13px;}

/* split rows (services detail / about story) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,64px);align-items:center;}
.split.flip .split-media{order:2;}
.split-media{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);position:relative;aspect-ratio:4/3;}
.split-media img{width:100%;height:100%;object-fit:cover;}
.split-body h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:14px;}
.split-body > p{color:var(--text-2);margin-bottom:20px;}

.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:26px;}
.check-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--text-2);}
.check-list svg{width:19px;height:19px;flex-shrink:0;margin-top:2px;color:var(--red);}
.check-list.sky svg{color:var(--sky);}

/* photo strip */
.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.photo-strip figure{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1;box-shadow:var(--shadow-sm);position:relative;}
.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.photo-strip figure:hover img{transform:scale(1.08);}
.photo-strip figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(15,23,42,.85));color:#fff;font-size:.8rem;font-weight:600;padding:22px 12px 11px;}

/* pricing / plan cards */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);align-items:start;}
.plan{background:#fff;border:1.6px solid var(--border);border-radius:var(--r-xl);padding:clamp(24px,2.6vw,32px);box-shadow:var(--shadow-sm);position:relative;transition:transform .25s,box-shadow .25s;}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.plan.featured{border-color:var(--red);box-shadow:var(--shadow);}
.plan .ribbon{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap;}
.plan h3{font-size:1.2rem;margin-bottom:6px;}
.plan .freq{color:var(--text-3);font-size:.85rem;margin-bottom:18px;}
.plan .save{display:inline-flex;align-items:center;gap:7px;background:var(--sky-pale);color:var(--sky-dark);font-weight:700;font-size:.86rem;padding:8px 14px;border-radius:var(--r-sm);margin-bottom:18px;}
.plan .save svg{width:15px;height:15px;}
.plan ul{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.plan li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--text-2);}
.plan li svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--red);}

/* stat / value cards */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px);}
.value{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,28px);box-shadow:var(--shadow-sm);}
.value .vi{width:48px;height:48px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.value .vi svg{width:23px;height:23px;}
.value h3{font-size:1rem;margin-bottom:8px;}
.value p{font-size:.88rem;color:var(--text-2);}

/* contact cards */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,56px);align-items:start;}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;}
.cc{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;}
.cc:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.cc .ci{width:46px;height:46px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.cc .ci svg{width:22px;height:22px;}
.cc h3{font-size:.95rem;margin-bottom:6px;}
.cc a,.cc p{font-size:.92rem;color:var(--text-2);word-break:break-word;}
.cc a:hover{color:var(--red);}
.cc .muted{font-size:.8rem;color:var(--text-3);margin-top:4px;}

.hours{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-sm);}
.hours h3{font-size:1.05rem;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.hours h3 svg{width:20px;height:20px;color:var(--sky);}
.hours li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--border);font-size:.9rem;color:var(--text-2);}
.hours li:last-child{border-bottom:0;}
.hours li b{color:var(--text);font-weight:600;}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .creds-track,.cloud,.truck{animation:none;}
  html{scroll-behavior:auto;}
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  nav.main-nav{gap:20px;}
  .header-phone span{display:none;}
  .btn{padding:13px 22px;}
}

/* tablet landscape → touch nav */
@media (max-width:1024px){
  :root{--nav-h:82px;}
  .logo img{height:62px;}
  header{padding:10px 0;}
  .nav-wrap{padding:0 10px 0 14px;border-radius:18px;width:calc(100% - 32px);}
  .header-cta-row{padding:12px 16px 14px;}
  nav.main-nav,.header-ctas{display:none;}
  .burger{display:flex;}
  .hero-grid{grid-template-columns:1fr;gap:30px;padding-bottom:clamp(170px,26vw,230px);}
  .hero p.lede{max-width:640px;}
  .quote-card{max-width:580px;margin-left:auto;margin-right:auto;width:100%;}
  /* on stacked layouts the art returns to a bottom band */
  .hero-art{top:auto;height:clamp(190px,40vw,320px);}
  .hero-art::after{display:none;}
  .page-hero-grid{grid-template-columns:1fr;gap:34px;}
  .feat-grid{grid-template-columns:1fr;gap:40px;}
  .split{grid-template-columns:1fr;gap:30px;}
  .split.flip .split-media{order:0;}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:40px;}
  .steps::before{display:none;}
  .benefits-grid,.testi-grid,.values{grid-template-columns:repeat(2,1fr);}
  .audience-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto;}
  .audience .btn{align-self:stretch;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .plans{grid-template-columns:1fr;max-width:520px;margin:0 auto;}
  .plan.featured{order:-1;}
}

/* tablet portrait */
@media (max-width:900px){
  .services-grid,.services-grid.services-3{grid-template-columns:1fr;max-width:600px;margin:0 auto;}
  .service-media{aspect-ratio:16/9;}
  .testi-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto;}
  .photo-strip{grid-template-columns:repeat(2,1fr);}
  .triple{grid-template-columns:1fr;max-width:480px;margin:0 auto;}
  .creds-inner{flex-direction:column;align-items:flex-start;gap:14px;}
  .creds-label{max-width:none;}
}

/* mobile */
@media (max-width:768px){
  .container{padding:0 18px;}
  body{padding-bottom:76px;}
  .mobile-bar{display:flex;}
  .header-cta-row{display:flex;}

  /* 2-up card grids on mobile */
  .benefits-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .benefit-card{padding:18px 14px;border-radius:var(--r);}
  .benefit-icon{width:42px;height:42px;margin-bottom:12px;border-radius:11px;}
  .benefit-icon svg{width:20px;height:20px;}
  .benefit-card h3{font-size:.92rem;margin-bottom:6px;line-height:1.25;}
  .benefit-card p{font-size:.79rem;line-height:1.45;}

  .values{grid-template-columns:1fr 1fr;gap:12px;}
  .value{padding:18px 14px;border-radius:var(--r);}
  .value .vi{width:42px;height:42px;margin-bottom:12px;border-radius:11px;}
  .value .vi svg{width:20px;height:20px;}
  .value h3{font-size:.92rem;margin-bottom:6px;line-height:1.25;}
  .value p{font-size:.79rem;line-height:1.45;}

  .steps{grid-template-columns:1fr 1fr;gap:30px 12px;}
  .step-num{width:52px;height:52px;font-size:1rem;margin-bottom:13px;}
  .step h3{font-size:.94rem;margin-bottom:6px;line-height:1.25;}
  .step p{font-size:.79rem;line-height:1.45;}

  /* phone mockup above the starred list */
  .feat-grid .phone-wrap{order:-1;}

  /* inner-page heroes centre up on mobile */
  .page-hero-grid > div:first-child{text-align:center;}
  .page-hero .crumbs{justify-content:center;}
  .page-hero p.lede{margin-left:auto;margin-right:auto;}
  .page-hero-actions{justify-content:center;}
  .page-hero .trust-badges{justify-content:center;}
  .wa-fab{bottom:88px;right:14px;width:54px;height:54px;}
  .wa-fab svg{width:29px;height:29px;}

  /* Hellamaid-style centred mobile hero with a prominent form */
  .hero-grid{padding-top:26px;padding-bottom:clamp(150px,44vw,220px);text-align:center;}
  .hero-grid .pill{margin-left:auto;margin-right:auto;}
  .hero h1{font-size:clamp(2rem,8.4vw,2.7rem);}
  .hero p.lede{margin-left:auto;margin-right:auto;}
  .quote-card{margin-top:22px;padding:22px 18px 24px;border-radius:22px;}
  .quote-card .field{text-align:left;}
  .quote-card .btn{font-size:1.08rem;letter-spacing:.03em;min-height:60px;}
  .trust-badges{justify-content:center;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-brand p{max-width:none;}
  .announce{font-size:.76rem;padding:10px 14px;}
  .cta-actions .btn,.page-hero-actions .btn{width:100%;max-width:340px;}
  .footer-bottom{justify-content:center;text-align:center;}
  .contact-cards{grid-template-columns:1fr;}
  .check-list{grid-template-columns:1fr;}
  .hero-grid{padding-bottom:clamp(150px,42vw,200px);}
}

/* small mobile */
@media (max-width:520px){
  .hero h1{font-size:clamp(1.85rem,8vw,2.3rem);}
  .logo{font-size:1.22rem;}
  .logo svg{width:32px;height:32px;}
  .tb{font-size:.78rem;padding:8px 12px;}
  .faq-q{padding:16px 17px;font-size:.94rem;}
  .faq-a p{padding:0 17px 18px;}
  .photo-strip{grid-template-columns:1fr 1fr;gap:10px;}
}
