/* =====================================================================
   Saving Plumbing — landing page
   Rebuilt from the design-team mockup into clean static CSS.
   Palette tokens each sampled from a brand asset (see :root).

   CONTENTS
     1.  Fonts (self-hosted)          9.  Recent-jobs showcase
     2.  Tokens (:root)              10.  Services grid
     3.  Base / helpers              11.  Coupons
     4.  Fixed top bars + header     12.  Reviews marquee
     5.  Swipe-hover buttons         13.  Service areas + emergency
     6.  Hero + quote form           14.  Footer
     7.  Honesty band / avatars      15.  Sticky mobile bar
     8.  Wave dividers               16.  Reveal + keyframes + responsive
   ===================================================================== */

/* ---------- Fonts (self-hosted latin subsets) ---------- */
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/poppins-500.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/poppins-600.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/poppins-700.woff2') format('woff2'); }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/poppins-800.woff2') format('woff2'); }
@font-face { font-family:'Roboto'; font-style:normal; font-weight:100 900; font-display:swap; src:url('../fonts/roboto.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Roboto'; font-style:normal; font-weight:100 900; font-display:swap; src:url('../fonts/roboto-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---------- Tokens ---------- */
:root{
  --navy:#0A5683;      /* logo wordmark outline / hero field */
  --red:#CD272A;       /* logo mark / coupon field / hero art */
  --red-dark:#A50607;  /* logo mark shadow; hover states */
  --pink:#F2C9CA;      /* light red tint */
  --water:#DCE9F3;     /* water-blue tint from logo gradient */
  --wash:#EEF5FA;      /* section wash */
  --white:#FDFEFF;
  --ink:#2E4557;       /* body text */
  --muted:#6B8296;
  --gold:#F5B942;      /* review stars */
  --border:#C3D8E6;
  --maxw:1180px;
  --head:112px;        /* fixed-header height, updated by JS */
}

*{box-sizing:border-box;}
html{scroll-behavior:auto;}
body{margin:0;background:var(--white);font-family:'Roboto',Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--red-dark);}
img{max-width:100%;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:20px;padding-right:20px;}
.eyebrow{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:0 0 8px;}
.stars{color:var(--gold);letter-spacing:2px;}

/* ---------- Fixed top bars ---------- */
.topbars{position:fixed;top:0;left:0;right:0;z-index:50;box-shadow:0 6px 16px rgba(10,86,131,.20), 0 14px 38px rgba(10,86,131,.30);}
.utilbar{background:var(--red-dark);color:var(--pink);font-size:13px;letter-spacing:.04em;padding:8px 20px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;align-items:center;margin-top:0;transition:margin-top .35s ease;}
/* Collapse by the JS-measured bar height (not a hardcoded value) so the header
   is never over-pulled — keeps its top/bottom padding even. */
.topbars.collapsed .utilbar{margin-top:calc(-1 * var(--util-h, 32px));}
/* On scroll the header compacts: big logo + roomy padding at the top ("home"),
   shrinking to the standard size once you scroll off the top. */
.topbars.collapsed .header__logo{height:52px;}
.topbars.collapsed .header__inner{padding-top:12px;padding-bottom:12px;}
.utilbar__tag{text-transform:uppercase;font-weight:500;}
.utilbar__tel{color:var(--white);font-weight:700;letter-spacing:.02em;}
.utilbar__tel:hover{color:var(--white);}

.header{background:var(--red);border-bottom:1px solid rgba(253,254,255,.2);}
.header__inner{max-width:var(--maxw);margin:0 auto;padding:16px 20px;display:flex;align-items:center;gap:20px;justify-content:space-between;transition:padding .35s ease;}
.header__logo{height:76px;width:auto;display:block;transition:height .35s ease;}
.nav{display:flex;gap:26px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--white);position:relative;padding-bottom:7px;}
.nav a{color:var(--white);}
.nav a:hover{color:var(--pink);}
.nav__ind{position:absolute;bottom:0;height:3px;border-radius:2px;background:var(--white);left:0;width:0;transition:left .35s cubic-bezier(.22,1,.36,1),width .35s cubic-bezier(.22,1,.36,1);}
.header__cta{display:flex;align-items:center;gap:12px;}
.btn-sched{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;border-radius:10px;padding:9px 18px;display:inline-block;}
.btn-tel{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:var(--red);background:var(--white);border-radius:10px;padding:11px 18px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 18px rgba(120,10,12,.35);transition:background .2s,transform .15s,box-shadow .2s;}
.btn-tel:hover{background:var(--pink);color:var(--red-dark);transform:translateY(-1px);box-shadow:0 10px 24px rgba(120,10,12,.45);}
.btn-tel:active{transform:translateY(0) scale(.97);}
/* Navy so any transient gap during the header collapse/expand reads as the
   hero, never a white flash. */
.header-spacer{height:var(--head);background:var(--navy);}

/* swipe hover (white wipe from the left, 45deg leading edge) */
.sp-swipe{background-image:linear-gradient(135deg,var(--white) 0%,var(--white) 48%,rgba(253,254,255,0) 52%);background-repeat:no-repeat;background-size:260% 100%;background-position:100% 0;transition:background-position .25s ease,color .25s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.sp-swipe:hover{background-position:0% 0;transform:translateY(-2px);}
.sp-sched{background-color:transparent;border:2px solid var(--red-dark);color:var(--white);}
.sp-sched:hover{color:var(--red);}
.sp-chip{background-color:var(--red);color:var(--white);box-shadow:0 2px 12px rgba(6,48,74,.25);}
.sp-chip:hover{color:var(--red);box-shadow:0 8px 20px rgba(6,48,74,.4);}
.sp-claim{background-color:var(--red);color:var(--white);box-shadow:0 4px 14px rgba(120,10,12,.3);}
.sp-claim:hover{color:var(--red);box-shadow:0 8px 20px rgba(120,10,12,.4);}

/* ---------- Hero ---------- */
.hero{background:var(--navy);padding:48px 20px 72px;position:relative;overflow:hidden;}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 68%;pointer-events:none;}
.hero__grad1{position:absolute;inset:0;pointer-events:none;background:linear-gradient(102deg,rgba(10,86,131,.92) 0%,rgba(10,86,131,.78) 34%,rgba(10,86,131,.28) 58%,rgba(10,86,131,.05) 78%);}
.hero__grad2{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,86,131,.45) 0%,rgba(10,86,131,0) 22%,rgba(10,86,131,0) 78%,var(--navy) 100%);}
.hero__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;position:relative;}
.hero__col{flex:1 1 480px;min-width:300px;padding-bottom:clamp(120px,18vw,260px);}
.hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.12;color:var(--white);font-weight:800;margin:0 0 14px;text-wrap:pretty;text-shadow:0 2px 22px rgba(6,48,74,.55);}
.hero h1 em{font-style:normal;}
.hero__lede{font-size:18px;line-height:1.6;color:var(--wash);margin:0 0 10px;max-width:54ch;text-wrap:pretty;text-shadow:0 1px 14px rgba(6,48,74,.55);}
.hero__slogan{font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;color:var(--pink);margin:0 0 24px;text-shadow:0 1px 14px rgba(6,48,74,.55);}
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{display:inline-flex;align-items:center;gap:7px;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:600;}
.chip span{font-size:12px;}

/* Schedule card / bubble */
.hero__form{flex:1 1 360px;min-width:300px;max-width:440px;scroll-margin-top:90px;display:flex;flex-direction:column;align-items:flex-end;}
.quote-open-btn{display:inline-flex;align-items:center;gap:10px;font-family:'Poppins',sans-serif;font-size:16px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--red);background:var(--white);border:none;border-radius:999px;padding:18px 28px;cursor:pointer;box-shadow:0 12px 34px rgba(6,48,74,.4);animation:sp-pulse 2.6s ease-in-out infinite;}
.quote-open-btn:hover{background:var(--red);color:var(--white);animation-play-state:paused;box-shadow:0 16px 40px rgba(6,48,74,.5);transform:translateY(-2px);}
.quote-card{width:100%;background:var(--white);border:1px solid var(--water);border-radius:16px;padding:28px;box-shadow:0 14px 44px rgba(10,86,131,.25);position:relative;}
.quote-card__close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:none;background:var(--wash);color:var(--navy);cursor:pointer;font-size:14px;line-height:1;}
.quote-card__close:hover{background:var(--water);}
.quote-form{display:flex;flex-direction:column;gap:14px;}
.quote-form h2{font-size:22px;font-weight:700;color:var(--navy);margin:0 0 6px;}
.quote-form__sub{font-size:14px;color:var(--ink);margin:0;line-height:1.5;}
.quote-form input,.quote-form select{font-family:'Roboto',sans-serif;font-size:15px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;color:var(--ink);background:var(--white);outline:none;width:100%;transition:border-color .2s,box-shadow .2s;}
.quote-form input:focus,.quote-form select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(10,86,131,.14);}
.quote-form__submit{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;color:var(--white);background:var(--red);border:none;border-radius:10px;padding:15px;cursor:pointer;box-shadow:0 8px 22px rgba(205,39,42,.28);transition:background .2s,transform .15s;}
.quote-form__submit:hover{background:var(--red-dark);transform:translateY(-1px);}
.quote-form__submit:active{transform:scale(.98);}
.quote-form__fine{font-size:12px;color:var(--muted);margin:0;text-align:center;}
.quote-form__fine a{font-weight:700;color:var(--red);}
.quote-form__err{font-size:13px;font-weight:600;color:var(--red);margin:0;}
/* Honeypot: kept in the DOM for bots but removed from view + a11y tree */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.quote-done{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:28px 6px;}
.quote-done__check{width:62px;height:62px;border-radius:50%;background:var(--water);display:flex;align-items:center;justify-content:center;}
.quote-done h2{font-size:22px;font-weight:700;color:var(--navy);margin:0;}
.quote-done p{font-size:15px;color:var(--ink);line-height:1.6;margin:0;}
.quote-done__again{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--navy);background:none;border:2px solid var(--border);border-radius:10px;padding:9px 18px;cursor:pointer;}
.quote-done__again:hover{border-color:var(--navy);}
.hidden{display:none !important;}

/* ---------- Honesty band ---------- */
.honesty{background:var(--navy);padding:80px 20px 90px;}
.honesty__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;align-items:center;}
.round-btn{width:46px;height:46px;border-radius:50%;border:none;background:var(--red);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 18px rgba(6,48,74,.35);transition:background .2s,transform .15s;}
.round-btn:hover{background:var(--red-dark);transform:scale(1.08);}
.round-btn:active{transform:scale(.94);}
.honesty__mid{flex:1 1 420px;min-width:280px;position:relative;padding-top:14px;padding-left:14px;}
.honesty__label{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--white);margin:0;background:var(--red);display:inline-block;padding:8px 16px;border-radius:4px;position:absolute;top:0;left:0;z-index:2;box-shadow:0 8px 22px rgba(6,48,74,.45);}
.honesty__card{background:var(--white);border-radius:16px;padding:clamp(34px,4vw,48px) clamp(28px,4vw,44px) 58px;box-shadow:0 18px 50px rgba(6,48,74,.35);display:flex;flex-direction:column;justify-content:center;min-height:clamp(260px,30vw,380px);position:relative;overflow:hidden;}
.honesty__slide{transition:transform .38s ease,opacity .38s ease;}
.honesty__quote{font-family:'Poppins',sans-serif;font-size:clamp(19px,2.4vw,26px);font-weight:600;line-height:1.4;color:var(--navy);margin:0 0 22px;text-wrap:pretty;}
.honesty__by{display:flex;align-items:center;gap:12px;}
.honesty__avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;}
.honesty__name{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;color:var(--navy);margin:0;}
.honesty__src{font-size:13px;color:var(--muted);margin:2px 0 0;}
.honesty__dots{position:absolute;left:0;right:0;bottom:20px;display:flex;gap:9px;justify-content:center;}
.dot{width:11px;height:11px;border-radius:50%;border:none;background:var(--water);cursor:pointer;padding:0;transition:background .3s,transform .2s;}
.dot:hover{transform:scale(1.35);}
.dot.active{background:var(--red);}
.honesty__side{flex:0 1 240px;min-width:220px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.honesty__side img{width:200px;height:auto;}
.honesty__side p{font-size:14px;color:var(--white);line-height:1.55;margin:0;}
.honesty__side strong{color:var(--pink);}

/* avatar initials fallback */
.ava{display:flex;align-items:center;justify-content:center;color:var(--white);font-family:'Poppins',sans-serif;font-weight:700;background:var(--navy);}
.ava--1{background:#0A5683;}.ava--2{background:#CD272A;}.ava--3{background:#2E7D6B;}.ava--4{background:#6B4FA0;}

/* ---------- Wave dividers ---------- */
.wave{position:relative;height:140px;overflow:hidden;line-height:0;background:var(--white);}
.wave svg{position:absolute;left:0;top:0;width:100%;height:100%;}
.wave--top{margin-top:-1px;}
.wave--bottom{margin-bottom:-1px;}
@media (max-width:767px){.wave{display:none;}}

/* ---------- Recent jobs showcase ---------- */
.jobs{background:var(--white);padding:56px 20px 8px;scroll-margin-top:90px;}
.jobs h2,.services h2,.reviews__head h2,.areas h2{font-size:clamp(26px,3.4vw,36px);font-weight:700;color:var(--navy);}
.jobs h2{margin:0 0 24px;}
.jobs__frame{position:relative;border-radius:16px;overflow:hidden;}
.jobs__track{display:flex;gap:10px;height:360px;margin:0 -80px;}
.job{flex:1 1 0px;min-width:0;position:relative;overflow:hidden;transform:skewX(-12deg);border-radius:10px;cursor:pointer;transition:flex .65s cubic-bezier(.22,1,.36,1);background:var(--water);}
.job.active{flex:4.5 1 0px;}
.job__inner{position:absolute;top:0;bottom:0;left:-30%;right:-30%;transform:skewX(12deg);}
.job__inner img{width:100%;height:100%;object-fit:cover;display:block;}
.job__shade{position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg,rgba(10,86,131,0) 0%,rgba(10,86,131,.85) 100%);opacity:0;transition:opacity .45s ease;}
.job__cap{position:absolute;left:28%;right:28%;bottom:22px;opacity:0;transition:opacity .45s ease .15s;}
.job.active .job__shade,.job.active .job__cap{opacity:1;}
.job__cap p{font-family:'Poppins',sans-serif;font-size:clamp(16px,2vw,21px);font-weight:700;color:var(--white);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.job__cap span{font-size:13px;color:var(--water);display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.jobs__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:none;background:rgba(253,254,255,.92);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(10,86,131,.25);transition:background .2s,color .2s,transform .15s;}
.jobs__nav:hover{background:var(--white);color:var(--red);transform:translateY(-50%) scale(1.08);}
.jobs__nav:active{transform:translateY(-50%) scale(.95);}
.jobs__nav.prev{left:14px;}.jobs__nav.next{right:14px;}

/* ---------- Services ---------- */
.services{background:var(--white);padding:24px 20px 64px;scroll-margin-top:90px;}
.services__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:28px;}
.services__head h2{margin:0;}
.services__note{font-size:14px;color:var(--muted);margin:0;}
.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.svc{background:var(--white);border:1px solid var(--water);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 18px rgba(10,86,131,.05);transition:box-shadow .25s,transform .25s;}
.svc:hover{box-shadow:0 14px 34px rgba(10,86,131,.13);transform:translateY(-3px);}
.svc__glyph{width:46px;height:46px;border-radius:12px;background:var(--wash);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:20px;font-family:'Poppins',sans-serif;font-weight:700;}
.svc h3{font-size:18px;font-weight:700;color:var(--navy);margin:6px 0 0;}
.svc p{font-size:14px;line-height:1.55;color:var(--ink);margin:0;flex:1;}
.svc__book{align-self:flex-start;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:var(--red);background:none;border:none;padding:4px 0;cursor:pointer;letter-spacing:.02em;transition:color .2s,transform .2s;}
.svc__book:hover{color:var(--red-dark);transform:translateX(4px);}

/* ---------- Coupons ---------- */
.coupons{background:var(--navy);padding:40px 20px 60px;scroll-margin-top:90px;margin-top:-1px;}
.coupons .eyebrow{color:var(--pink);}
.coupons h2{font-size:clamp(26px,3.4vw,36px);font-weight:700;color:var(--white);margin:0 0 28px;}
.coupons__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:1fr;gap:20px;}
.coupon{background:var(--white);border-radius:14px;box-shadow:0 6px 24px rgba(10,86,131,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.coupon:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,86,131,.16);}
.coupon__top{padding:22px 24px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex:1;}
.coupon__amt{font-family:'Poppins',sans-serif;font-size:clamp(34px,3vw,42px);font-weight:800;color:var(--red);margin:0;line-height:1;}
.coupon__amt span{font-size:.5em;color:var(--navy);font-weight:700;}
.coupon__title{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;color:var(--navy);margin:8px 0 0;}
.coupon__sub{font-size:13px;color:var(--muted);margin:4px 0 0;}
.coupon__mark{width:44px;height:auto;flex-shrink:0;}
.coupon__perf{border-top:2px dashed var(--border);margin:0 -8px;position:relative;}
.coupon__perf span{position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--navy);}
.coupon__perf span:first-child{left:-2px;}.coupon__perf span:last-child{right:-2px;}
.coupon__bottom{padding:14px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.coupon__fine{font-size:12px;color:var(--muted);margin:0;max-width:20ch;}
.coupon__claim{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;border:none;border-radius:9px;padding:11px 18px;cursor:pointer;letter-spacing:.03em;text-transform:uppercase;}
.coupon__claim:active{transform:scale(.97);}

/* ---------- Reviews marquee ---------- */
.reviews{background:var(--white);padding:64px 20px;scroll-margin-top:90px;}
.reviews__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:28px;}
.reviews__head h2{margin:0;}
.reviews__scores{display:flex;gap:18px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--navy);flex-wrap:wrap;}
.reviews__scores i{color:var(--gold);font-style:normal;}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);}
.marquee__track{display:flex;gap:18px;width:max-content;animation:sp-marquee 55s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.rev{background:var(--wash);border-radius:16px;padding:24px;margin:0;display:flex;flex-direction:column;gap:14px;width:min(360px,78vw);flex-shrink:0;transition:transform .25s,box-shadow .25s;}
.rev:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(10,86,131,.12);}
.rev__top{display:flex;align-items:center;justify-content:space-between;}
.rev__top .stars{color:var(--gold);letter-spacing:3px;font-size:15px;}
.rev__src{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:var(--muted);}
.rev blockquote{font-size:14px;line-height:1.65;color:var(--ink);margin:0;flex:1;}
.rev__by{display:flex;align-items:center;gap:10px;}
.rev__by .ava{width:36px;height:36px;border-radius:50%;font-size:13px;}
.rev__name{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--navy);margin:0;}
.rev__meta{font-size:12px;color:var(--muted);margin:0;}

/* ---------- Service areas + emergency ---------- */
.areas{background:var(--wash);padding:56px 20px;scroll-margin-top:90px;}
.areas__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;align-items:center;}
.areas__text{flex:1 1 420px;min-width:280px;order:2;}
.areas h2{margin:0 0 18px;}
.areas__tags{display:flex;flex-wrap:wrap;gap:10px;}
.area-tag{background:var(--white);border:1px solid var(--border);border-radius:999px;padding:9px 18px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:var(--navy);transition:background .2s,color .2s,border-color .2s;cursor:default;}
.area-tag:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}
.areas__note{font-size:14px;color:var(--muted);margin:18px 0 0;}
.areas__note a{font-weight:700;}
.emerg{flex:1 1 380px;min-width:280px;order:1;background:var(--red);border-radius:18px;padding:clamp(26px,3.4vw,38px);color:var(--white);box-shadow:0 16px 44px rgba(205,39,42,.28);}
.emerg h3{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin:0 0 10px;text-wrap:pretty;}
.emerg__p{font-size:15px;line-height:1.6;margin:0 0 20px;color:var(--pink);}
.emerg__btn{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:var(--red);font-family:'Poppins',sans-serif;font-size:17px;font-weight:800;border-radius:12px;padding:15px 24px;transition:transform .15s,box-shadow .2s;}
.emerg__btn:hover{color:var(--red-dark);transform:translateY(-2px);box-shadow:0 10px 26px rgba(120,10,12,.35);}
.emerg__btn:active{transform:translateY(0) scale(.98);}
.emerg__fig{position:relative;margin-top:22px;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(120,10,12,.35);}
.emerg__fig img{width:100%;height:190px;object-fit:cover;display:block;}
.emerg__fig .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(165,6,7,.35) 0%,rgba(165,6,7,0) 40%,rgba(165,6,7,.55) 100%);}
.emerg__fig p{position:absolute;left:14px;bottom:10px;margin:0;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--white);text-shadow:0 1px 8px rgba(60,3,4,.6);}

/* ---------- Footer ---------- */
.footer{background:var(--red);color:var(--pink);padding:56px 20px 40px;}
.footer__inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:44px;}
.footer__brand{flex:1 1 300px;min-width:260px;}
.footer__brandbox{width:386px;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;}
.footer__logo{width:386px;height:auto;max-width:100%;display:block;}
.footer__slogan{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;margin:12px 0 0;color:var(--white);}
.footer__est{font-size:13px;margin:0 0 12px;color:var(--pink);}
.footer__bbb{height:64px;width:auto;display:block;}
.footer__col{flex:1 1 240px;min-width:220px;}
.footer__col h4{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pink);margin:0 0 14px;}
.footer__col h4+p{font-size:14px;line-height:1.7;margin:0;}
.footer__col h4.mt{margin-top:22px;}
.footer__contact{font-size:15px;line-height:2;}
.footer__contact a{color:var(--white);}
.footer__contact a:hover{color:var(--pink);}
.footer__contact a.b{font-weight:700;}
.footer__social{display:flex;gap:14px;margin-top:10px;font-size:13px;flex-wrap:wrap;}
.footer__social a{color:var(--pink);transition:color .2s;}
.footer__social a:hover{color:var(--white);}
.footer__bar{max-width:var(--maxw);margin:36px auto 0;border-top:1px solid rgba(253,254,255,.25);padding-top:20px;font-size:12px;color:var(--pink);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* ---------- Sticky mobile bar ---------- */
.mobar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(253,254,255,.97);border-top:1px solid var(--water);box-shadow:0 -8px 30px rgba(10,86,131,.12);}
.mobar a{display:flex;align-items:center;justify-content:center;gap:8px;font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;border-radius:12px;padding:14px;color:var(--white);}
.mobar .call{background:var(--red);}
.mobar .sched{background:var(--navy);}

/* ---------- Reveal on scroll ---------- */
[data-reveal]{will-change:opacity,transform;}

/* ---------- Keyframes ---------- */
@keyframes sp-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
@keyframes sp-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none !important;}.quote-open-btn{animation:none !important;}}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .jobs__track{margin:0;}
}
@media (max-width:767px){
  .nav,.btn-sched{display:none;}
  .mobar{display:grid;}
  body{padding-bottom:74px;}
  .honesty{padding:56px 20px 64px;}
  .honesty__inner{gap:28px;}
  .honesty__side{align-items:center;text-align:center;width:100%;}
  .jobs__track{height:300px;}
  .footer__brandbox{margin:0 auto;}
}
/* Narrow phones: the round prev/next arrows can't fit alongside the card, so
   drop them (dots + auto-rotate still navigate) and give the card full width. */
@media (max-width:540px){
  .honesty__inner{gap:22px;}
  .honesty .round-btn{display:none;}
  .honesty__mid{flex-basis:100%;padding-left:0;}
  .honesty__dots{gap:12px;}
  .dot{width:13px;height:13px;}
}
