@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,100..112,500..700;1,100,500&display=swap');
/* =====================================================================
   AMERICAN SHOWER COMPANY theme layer v2 (2026-10-12), editorial pass
   Loaded after site.css. Type: Archivo display + Geist body (Alex 2026-10-12: no serif, reads as AI),
   solid rectangular CTAs, hairline rules). This layer only sets the ASC
   tokens and the components the house sheet does not have (quote wizard,
   icon band, offer cards, reviews carousel, social feed, locations).
   No glass, no blur, no gradients, no scroll reveals, no hover lifts.
   One signature: the 3px drop blue top edge on featured cards.
   ===================================================================== */

:root{
  --brand:#1A96CC;
  --brand-deep:#136F9A;
  --brand-hi:#7CCBEC;
  --brand-pale:#E6F3FA;
  --ink:#14163F;
  --ink-soft:#262849;
  --ink-mute:#5A5E75;
  --paper:#FFFFFF;
  --paper-soft:#F4F6F8;
  --paper-deep:#E9EDF1;
  --mist:#7B8390;
  --mist-soft:#AEB5BF;
  --mist-faint:#DDE2E8;
  --rule:rgba(20,22,63,0.12);
  --rule-strong:rgba(20,22,63,0.26);
  --sky:#CBEAF8;
  --radius:4px;
  --pill:4px;
  --shell:1360px;
  --gutter:clamp(20px,4vw,64px);
  --edge:3px solid var(--brand);
}

/* ---------- type: Archivo display, Geist everything else ---------- */
body{font-family:'Geist',system-ui,sans-serif;color:var(--ink-soft);font-size:1.0625rem;line-height:1.65;}
h1,h2,h3,h4,.stat-num,.tst-quote,.prose .lede,.loc-body h3,.thank-you h3,.proc-step h3,.aside-card h3,.offer-body h3,.icon-col h3,.value h3,.area-row h3,.fact .k,.wizcard .wz-head h3,.wz-screen h3{font-family:'Archivo','Geist',system-ui,sans-serif;font-weight:600;letter-spacing:-0.02em;font-variation-settings:"wdth" 104;color:var(--ink);}
h1{font-weight:600;}
h2{font-size:clamp(1.8rem,2.1vw + 0.8rem,2.7rem);line-height:1.1;}
h3{font-size:1.3rem;line-height:1.3;}
h4,.aside-list h4,.footer-col h4,.ci .lbl,.marker,.page-hero-crumb,.stat-label,.sf-meta,.wz-prog span,.wizcard label,.offer-tag,.brands .lbl{font-family:'Geist',sans-serif;}
/* accent words: italic serif. Brand color only in the hero and the closing CTA. */
h1 em,h2 em,h3 em,.section-head h2 em,.split .text h2 em,.page-hero h1 em,.article .body h2 em,.fact .k em,.stat-num em{font-style:normal;font-weight:inherit;color:inherit;}
.hero h1 em,.cta-band h2 em{color:var(--brand-hi);}
.tst-quote,.prose .lede{font-style:normal;font-weight:400;}
.marker{font-weight:500;letter-spacing:0.2em;color:var(--brand-deep);font-size:0.72rem;}
.marker::before,.marker::after{opacity:0.6;}
/* section eyebrows: the heading already names the section */
.section-head .marker{display:none;}
.section-head{text-align:left;max-width:880px;}
.section-head h2{margin:0;max-width:24ch;}
.section-head .head-grid{grid-template-columns:1fr;gap:14px;justify-items:start;}
.section-head .head-grid p{max-width:58ch;text-align:left;color:var(--ink-mute);font-size:1.08rem;}
.section{padding:clamp(60px,7vw,100px) 0;position:relative;}
.section.band-soft{background:var(--paper-soft);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.section.band-ink{background:var(--ink);}
.section > .shell{position:relative;z-index:1;}
/* motion: content is visible, no scroll reveals */
.reveal,.reveal-stagger > *{opacity:1!important;transform:none!important;transition:none!important;}

/* ---------- buttons: solid rectangles ---------- */
.btn,.nav-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6em;font-family:'Geist',sans-serif;font-weight:600;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:1em 1.7em;border-radius:2px;border:1px solid transparent;line-height:1.1;transition:background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap;box-shadow:none;}
.btn{background:var(--brand);color:#fff;border-color:var(--brand);}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:none;box-shadow:none;}
.btn .arrow{display:none;}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:#fff;transform:none;}
.btn-light{background:transparent;border-color:rgba(255,255,255,0.6);color:#fff;}
.btn-light:hover{background:#fff;color:var(--ink);border-color:#fff;transform:none;}
.nav-cta-btn{flex-shrink:0;background:var(--brand);color:#fff;font-size:0.74rem;padding:0.95em 1.6em;letter-spacing:0.12em;border-color:var(--brand);box-shadow:none;}
.nav-cta-btn:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:none;box-shadow:none;}
.link-arrow{font-family:'Geist',sans-serif;font-weight:500;color:var(--brand-deep);border-bottom:1px solid currentColor;padding-bottom:2px;}
.link-arrow:hover{color:var(--ink);gap:0.7em;}

/* ---------- offer bar: flat navy strip ---------- */
.offerbar{background:var(--ink);color:#fff;text-align:center;font-size:0.8rem;font-weight:500;padding:9px 16px;letter-spacing:0.02em;}
.offerbar a{font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-left:6px;color:var(--brand-hi);}
.marquee{display:none;}
.offerbar .short{display:none;}
@media(max-width:640px){.offerbar{font-size:0.74rem;padding:8px 12px;}.offerbar .long{display:none;}.offerbar .short{display:inline;}}

/* ---------- header: solid white, hairline ---------- */
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--rule);padding:0;}
.site-header.scrolled{background:#fff;border-bottom:1px solid var(--rule);}
.nav{max-width:var(--shell);margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;border-radius:0;box-shadow:none;}
.site-header.scrolled .nav{box-shadow:none;}
.brand-logo{height:52px;width:auto;display:block;}
.nav-links{gap:22px;flex-shrink:1;min-width:0;}
.nav-phone{flex-shrink:0;}
.nav-links a{font-family:'Geist',sans-serif;font-weight:500;font-size:0.9rem;color:var(--ink-soft);}
.nav-links a:hover{color:var(--brand-deep);}
.nav-links a.is-active{color:var(--brand-deep);}
.nav-links a.is-active::after{display:none;}
.nav-phone{font-weight:600;color:var(--ink);font-size:0.92rem;}
.nav-phone:hover{color:var(--brand-deep);}
.nav-toggle{border-radius:2px;border:1px solid var(--rule-strong);background:#fff;}
@media(max-width:1000px){
  .nav-links{top:100%;left:0;right:0;background:#fff;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:0 18px 30px -24px rgba(20,22,63,0.4);padding:6px var(--gutter) 22px;}
  .nav-links a{padding:13px 0;font-size:1rem;}
  .nav-links .nav-phone{border-bottom:1px solid var(--rule);}
  .nav-links .nav-cta-btn{align-self:flex-start;margin-top:14px;padding:0.9em 1.6em;font-size:0.8rem;}
  .brand-logo{height:44px;}
}

/* ---------- HERO: photo, quiet overlay, quote card ---------- */
.hero{padding:0;position:relative;color:#fff;overflow:hidden;background:var(--ink);margin-top:0;}
.hero-media{position:absolute;inset:0;height:auto;}
.hero-media::after{content:"";position:absolute;inset:0;background:rgba(14,16,45,0.58);}
.hero .shell{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,96px);align-items:center;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px);min-height:min(88vh,860px);}
.hero .marker{color:var(--brand-hi);margin-bottom:18px;}
.hero h1{font-family:'Archivo','Geist',system-ui,sans-serif;font-size:clamp(2.4rem,4vw + 0.5rem,4.4rem);font-weight:600;line-height:1.02;letter-spacing:-0.03em;color:#fff;max-width:14ch;font-variation-settings:"wdth" 108;}
.hero-sub{color:rgba(255,255,255,0.9);font-size:1.15rem;max-width:52ch;margin-top:22px;line-height:1.6;}
.hero-sub strong{color:#fff;font-weight:600;}
.hero-meta{margin-top:28px;gap:12px;}
.hero-badges{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;border-top:1px solid rgba(255,255,255,0.3);padding-top:14px;}
.hero-badges span{display:inline-flex;align-items:center;padding:4px 18px 4px 0;margin-right:18px;border-right:1px solid rgba(255,255,255,0.3);background:none;border-radius:0;font-size:0.84rem;font-weight:500;color:rgba(255,255,255,0.92);letter-spacing:0.01em;}
.hero-badges span:last-child{border-right:0;margin-right:0;}
.hero-badges span::before{display:none;}
.hero-card{position:relative;}
@media(max-width:900px){.hero .shell{grid-template-columns:1fr;padding-top:48px;min-height:0;}.hero h1{max-width:none;}}

/* ---------- QUOTE WIZARD ---------- */
.wizcard{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 30px 70px -30px rgba(0,0,0,0.55),0 1px 0 rgba(255,255,255,0.85) inset;color:var(--ink);overflow:hidden;}
.wizcard .wz-head{padding:20px 24px 6px;text-align:center;}
.wizcard .wz-head h3{font-size:1.25rem;font-weight:700;color:var(--ink);}
.wizcard .wz-head p{font-size:0.86rem;color:var(--ink-mute);margin-top:4px;}
.wz-prog{display:flex;align-items:center;gap:12px;padding:12px 24px 4px;}
.wz-prog span{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--brand-deep);white-space:nowrap;}
.wz-bar{flex:1;height:7px;background:rgba(20,20,20,0.1);border-radius:var(--pill);overflow:hidden;}
.wz-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-hi));border-radius:var(--pill);transition:width .35s ease;}
.wz-screen{display:none;padding:14px 24px 22px;}
.wz-screen.on{display:block;animation:wzfade .3s ease;}
@keyframes wzfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.wz-screen h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:4px;}
.wz-sub{color:var(--ink-mute);font-size:0.86rem;margin-bottom:14px;}
.wz-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.wz-tiles.small{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
.wz-tile{border:1px solid rgba(20,20,20,0.12);border-radius:4px;background:rgba(255,255,255,0.6);padding:14px 10px 12px;text-align:center;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:7px;font-family:'Geist',sans-serif;}
.wz-tile:hover{border-color:var(--brand);box-shadow:0 12px 24px -14px rgba(34,168,224,0.6),0 1px 0 rgba(255,255,255,0.8) inset;background:rgba(255,255,255,0.85);}
.wz-tile.sel{border-color:var(--brand);background:var(--brand-pale);box-shadow:inset 0 0 0 1px var(--brand);}
.wz-tile svg{width:52px;height:52px;padding:12px;border-radius:4px;background:rgba(34,168,224,0.14);stroke:var(--brand-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:all .15s ease;}
.wz-tile:hover svg,.wz-tile.sel svg{background:linear-gradient(150deg,var(--brand),var(--brand-hi));stroke:#fff;}
.wz-tile b{font-size:0.88rem;font-weight:600;color:var(--ink);line-height:1.25;}
.wz-tile small{color:var(--ink-mute);font-size:0.72rem;line-height:1.35;}
.wz-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:10px;}
.wz-back{background:none;border:none;color:var(--ink-mute);font-size:0.82rem;cursor:pointer;padding:8px 2px;font-weight:600;font-family:'Geist',sans-serif;}
.wz-back:hover{color:var(--brand-deep);}
.wz-zip{max-width:220px;margin-bottom:6px;}
.wz-call{margin-top:14px;font-size:0.78rem;color:var(--ink-mute);text-align:center;}
.wz-call a{color:var(--brand-deep);font-weight:700;}
.wz-trust{margin-top:8px;font-size:0.72rem;color:var(--ink-mute);text-align:center;line-height:1.5;}
.wizcard label{display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-mute);margin:10px 0 4px;}
.wizcard input[type=text],.wizcard input[type=tel],.wizcard input[type=email],.wizcard textarea{width:100%;font:inherit;font-size:0.95rem;color:var(--ink);background:rgba(255,255,255,0.7);border:1px solid rgba(20,20,20,0.14);border-radius:4px;padding:11px 14px;transition:border-color .15s ease,box-shadow .15s ease;}
.wizcard input:focus,.wizcard textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,168,224,0.18);}
.wizcard textarea{min-height:80px;resize:vertical;}
.wizcard .wz-consent{display:flex;gap:9px;align-items:flex-start;margin:12px 0 4px;font-size:0.7rem;color:var(--ink-mute);line-height:1.5;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;}
.wz-consent input{margin-top:3px;flex:none;width:15px;height:15px;accent-color:var(--brand);}
.wz-row .btn{padding:0.85em 1.5em;font-size:0.76rem;}
.wz-row .btn:disabled{opacity:0.45;cursor:not-allowed;transform:none;box-shadow:none;}
.form-ok,.form-err{display:none;padding:26px 24px;font-size:0.95rem;color:var(--ink);}
.form-ok b{display:block;font-size:1.15rem;margin-bottom:6px;}
.wizcard.done form{display:none;}
.wizcard.done .form-ok{display:block;}
@media(max-width:560px){.wz-tiles,.wz-tiles.small{grid-template-columns:1fr 1fr;}.wz-screen{padding:12px 16px 18px;}.wz-prog{padding:10px 16px 4px;}.wizcard .wz-head{padding:16px 16px 4px;}}

/* overlay popup */
#wizovl{position:fixed;inset:0;z-index:300;background:rgba(10,10,10,0.55);display:none;align-items:center;justify-content:center;padding:16px;}
#wizovl.on{display:flex;animation:wzfade .25s ease;}
.wizbox{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;border-radius:var(--radius);}
.wizx{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:4px;background:rgba(255,255,255,0.7);border:1px solid rgba(20,20,20,0.12);font-size:1.3rem;line-height:1;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.wizx:hover{background:#fff;}
body.wizlock{overflow:hidden;}

/* ---------- ICON SERVICE BAND (dark) ---------- */
.iconband{background:var(--ink);color:#fff;}
.iconband .section-head h2,.iconband h3{color:#fff;}
.iconband .section-head p{color:rgba(255,255,255,0.72);}
.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.icon-col{text-align:center;padding:30px 22px 26px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .2s ease,border-color .2s ease,background .2s ease;}
.icon-col:hover{border-color:rgba(92,196,238,0.55);background:rgba(255,255,255,0.09);}
.icon-wrap{width:68px;height:68px;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -12px rgba(0,0,0,0.6);}
.icon-wrap svg{width:32px;height:32px;stroke:var(--brand-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.icon-col h3{font-size:1.1rem;font-weight:600;}
.icon-col p{color:rgba(255,255,255,0.74);font-size:0.9rem;line-height:1.55;flex:1;}
.icon-col .btn-light{font-size:0.7rem;padding:0.8em 1.4em;}
@media(max-width:980px){.icon-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.icon-grid{grid-template-columns:1fr;}}

/* ---------- OFFER CARDS ---------- */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.offer{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:none;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease;}
.offer:hover{}
.offer .offer-media{position:relative;height:190px;}
.offer .offer-media img{width:100%;height:100%;object-fit:cover;display:block;}
.offer .offer-tag{position:absolute;left:16px;top:16px;background:var(--ink);color:var(--brand-hi);font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:8px 12px;border-radius:var(--pill);}
.offer-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.offer-body h3{font-size:1.1rem;}
.offer-body p{color:var(--ink-mute);font-size:0.92rem;flex:1;}
@media(max-width:900px){.offers{grid-template-columns:1fr;}}

/* ---------- ACCORDION (why us) ---------- */
.acc{display:flex;flex-direction:column;gap:10px;}
.acc details{background:#fff;border:1px solid var(--rule);border-radius:4px;box-shadow:none;}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 18px;font-weight:600;color:var(--ink);font-size:0.98rem;}
.acc summary::-webkit-details-marker{display:none;}
.acc summary .ic{width:34px;height:34px;border-radius:4px;background:rgba(34,168,224,0.16);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.acc summary .ic svg{width:18px;height:18px;stroke:var(--brand-deep);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.acc summary::after{content:"+";margin-left:auto;font-weight:400;font-size:1.4rem;color:var(--brand-deep);transition:transform .2s ease;}
.acc details[open] summary::after{transform:rotate(45deg);}
.acc .a{padding:0 18px 18px 66px;color:var(--ink-mute);font-size:0.92rem;}

/* ---------- cards, gallery, testimonials, faq, loc, footer ---------- */
.svc-card,.tst-card,.loc-card,.aside-card,.aside-list,.contact-card,.owner,.tl,.fact{border-radius:var(--radius);}
.svc-card{background:#fff;border:1px solid var(--rule);box-shadow:none;overflow:hidden;}
.svc-card::after{display:none;}
.svc-card:hover{border-color:rgba(34,168,224,0.5);box-shadow:0 26px 50px -26px rgba(20,20,20,0.35);}
.svc-card .svc-num{font-weight:600;letter-spacing:0.14em;color:var(--brand-deep);}
.svc-grid.four .svc-card{grid-column:span 3;}
.svc-grid.four .svc-card img{height:220px;}
@media(max-width:1100px){.svc-grid.four .svc-card{grid-column:span 6;}}
@media(max-width:640px){.svc-grid.four .svc-card{grid-column:span 12;}}
.gal-grid{gap:16px;}
.gal-item{border-radius:var(--radius);}
.gal-item::before,.gal-item::after{display:none;}
.gal-item .gal-caption .ttl{font-family:'Geist',sans-serif;font-weight:600;font-size:1rem;}
.tst-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);padding:34px 30px 28px;}
.tst-card::before{font-family:'Geist',sans-serif;font-size:4rem;top:-6px;left:22px;color:var(--brand-hi);}
.tst-quote{font-size:1.05rem;line-height:1.6;}
.tst-grid{grid-template-columns:repeat(3,1fr);}
@media(max-width:1000px){.tst-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.tst-grid{grid-template-columns:1fr;}}
.section.band-ink .tst-card{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.14);}
.section.band-ink .marker{color:var(--brand-hi);}
.faq{margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--rule)!important;border-radius:4px;box-shadow:none;margin-bottom:10px;}
.faq summary{font-family:'Geist',sans-serif;font-weight:600;font-size:1rem;padding:18px 48px 18px 20px;list-style:none;cursor:pointer;position:relative;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-weight:300;font-size:1.7rem;color:var(--brand-deep);transition:transform .2s ease;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .a{padding:0 20px 20px;color:var(--ink-mute);max-width:66ch;}
.loc-card{background:#fff;border:1px solid var(--rule);box-shadow:none;overflow:hidden;}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px);}
.loc-card .map{height:260px;border:0;width:100%;display:block;filter:saturate(0.85);}
.loc-body{padding:28px 28px 30px;display:flex;flex-direction:column;gap:14px;}
.loc-body h3{font-size:1.4rem;}
.loc-body address{font-style:normal;color:var(--ink-mute);line-height:1.5;}
.loc-body .hours{font-size:0.92rem;color:var(--ink-mute);}
.loc-body .hours b{color:var(--ink);font-weight:600;}
.loc-grid.one{grid-template-columns:1fr;}
.loc-grid.one .loc-card{display:grid;grid-template-columns:1.2fr 1fr;}
.loc-grid.one .loc-card .map{height:100%;min-height:300px;}
@media(max-width:820px){.loc-grid,.loc-grid.one .loc-card{grid-template-columns:1fr;}.loc-grid.one .loc-card .map{height:260px;}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border:0;}
.fact{background:#fff;border:1px solid var(--rule);box-shadow:none;padding:22px 22px;display:flex;flex-direction:column;gap:6px;}
.fact .k{font-size:1.1rem;font-weight:600;color:var(--ink);line-height:1.2;}
.fact .v{font-size:0.9rem;color:var(--ink-mute);}
@media(max-width:820px){.facts{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.facts{grid-template-columns:1fr;}}
.brands{display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center;justify-content:center;padding:28px 0;border:0;}
.brands .lbl{font-family:'Geist',sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--mist);}
.brands .brand-name{font-weight:600;font-size:1.3rem;color:var(--ink);}
.brands .brand-name small{display:block;font-family:'Geist',sans-serif;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mist);margin-top:2px;font-weight:500;}
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
@media(max-width:1100px){.areas{grid-template-columns:1fr 1fr;}}
.areas h3{font-weight:600;font-size:1.05rem;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--brand);display:inline-block;}
.areas ul{list-style:none;columns:2;column-gap:24px;}
.areas li{color:var(--ink-mute);font-size:0.95rem;padding:3px 0;break-inside:avoid;}
@media(max-width:820px){.areas{grid-template-columns:1fr;}}
.split .media img{border-radius:var(--radius);}
.article{display:grid;grid-template-columns:1fr 340px;gap:clamp(40px,5vw,80px);align-items:start;}
.article .body h2{margin:48px 0 18px;max-width:22ch;font-weight:600;}
.article .body > h2:first-child{margin-top:0;}
.article .body h3{margin:28px 0 10px;font-weight:600;font-size:1.1rem;}
.article .body p{color:var(--ink-mute);margin-bottom:16px;font-size:1rem;max-width:66ch;}
.article .body ul{margin:0 0 20px 1.2em;color:var(--ink-mute);max-width:66ch;}
.article .body li{margin-bottom:8px;font-size:1rem;}
.article .body figure{margin:32px 0;}
.article .body figure img{width:100%;height:auto;border-radius:var(--radius);}
.article .body figcaption{font-family:'Geist',sans-serif;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mist);margin-top:10px;font-weight:500;}
.aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px;}
.aside-card,.aside-list,.contact-card,.owner{background:#fff;border:1px solid var(--rule);box-shadow:none;}
.aside-card{padding:26px;}
.aside-card h3{font-size:1.15rem;margin-bottom:8px;}
.aside-card p{color:var(--ink-mute);font-size:0.92rem;margin-bottom:12px;}
.aside-card .tel{font-weight:700;font-size:1.4rem;color:var(--ink);display:block;margin:6px 0 14px;}
.aside-card .tel:hover{color:var(--brand-deep);}
.aside-list{padding:22px 26px;}
.aside-list h4,.footer-col h4{font-family:'Geist',sans-serif;font-weight:700;letter-spacing:0.12em;font-size:0.74rem;text-transform:uppercase;color:var(--brand-deep);margin-bottom:12px;}
.aside-list a{display:block;padding:9px 0;border-bottom:1px solid var(--rule);font-size:0.95rem;color:var(--ink-soft);}
.aside-list a:last-child{border-bottom:0;}
.aside-list a:hover,.aside-list a.is-active{color:var(--brand-deep);}
@media(max-width:960px){.article{grid-template-columns:1fr;}.aside{position:static;}}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.strip img{width:100%;height:200px;object-fit:cover;display:block;border-radius:4px;}
@media(max-width:820px){.strip{grid-template-columns:1fr 1fr;}.strip img{height:170px;}}
.page-hero{border-bottom:0;padding-top:clamp(120px,13vw,160px);padding-bottom:clamp(40px,5vw,72px);margin-top:-78px;background:var(--paper);position:relative;overflow:hidden;}
.page-hero .shell{position:relative;}
.page-hero h1{font-family:'Geist',sans-serif;font-weight:700;font-size:clamp(2rem,3vw + 0.6rem,3.2rem);letter-spacing:-0.02em;font-variation-settings:normal;}
.page-hero .lede{margin-top:20px;font-size:1.08rem;color:var(--ink-mute);max-width:64ch;}
.page-hero-crumb{font-family:'Geist',sans-serif;font-weight:500;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mist);margin-top:18px;}
.cta-band{background:var(--ink);}
.cta-band h2{font-family:'Geist',sans-serif;font-weight:700;font-size:clamp(1.9rem,3vw,2.8rem);font-variation-settings:normal;}
.cta-band .marker{color:var(--brand-hi)!important;}
.thank-you{border-radius:var(--radius);background:var(--brand-pale);}
.form .btn{align-self:flex-start;}
.field label{font-family:'Geist',sans-serif;font-weight:600;}
.field input,.field select,.field textarea{font-family:'Geist',sans-serif;}
.field select{appearance:none;-webkit-appearance:none;background:transparent;padding-right:24px;}
.check{display:flex;gap:12px;align-items:flex-start;font-size:0.82rem;color:var(--ink-mute);}
.check input{margin-top:5px;width:16px;height:16px;accent-color:var(--brand);flex-shrink:0;}
.fineprint{font-size:0.8rem;color:var(--mist);max-width:60ch;}
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,5vw,80px);align-items:start;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{padding:36px;display:flex;flex-direction:column;gap:22px;}
.ci{display:flex;flex-direction:column;gap:4px;}
.ci .lbl{font-family:'Geist',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mist);}
.ci a,.ci p{font-size:1rem;color:var(--ink);}
.ci a{font-weight:600;}
.ci a:hover{color:var(--brand-deep);}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.tl{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--brand);box-shadow:none;padding:20px;}
.tl .yr{font-weight:700;font-size:1.6rem;color:var(--ink);line-height:1;}
.tl p{color:var(--ink-mute);font-size:0.92rem;margin-top:10px;}
@media(max-width:900px){.timeline{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.timeline{grid-template-columns:1fr;}}
.owner{display:grid;grid-template-columns:150px 1fr;gap:36px;align-items:center;padding:32px;}
.owner img{width:100%;height:auto;}
.owner p{color:var(--ink-mute);}
@media(max-width:640px){.owner{grid-template-columns:1fr;text-align:center;}}
.prose{max-width:68ch;margin:0 auto;}
.prose .lede{font-size:1.3rem;line-height:1.45;color:var(--ink);margin-bottom:28px;}
.prose p{margin-bottom:18px;font-size:1.02rem;color:var(--ink-mute);}

/* footer: dark, columns, logo on a light chip (never stretched) */
.site-footer{background:var(--ink);color:#fff;border-top:0;padding-top:clamp(56px,6vw,80px);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;}
.footer-brand{display:flex;flex-direction:column;gap:18px;max-width:320px;}
.footer-brand img{width:200px;height:auto;max-width:100%;background:#fff;padding:12px 16px;border-radius:4px;display:block;object-fit:contain;}
.footer-brand p,.footer-col a,.footer-col p{color:rgba(255,255,255,0.72);font-size:0.94rem;}
.footer-col a{display:block;margin-bottom:8px;}
.footer-col p{margin-bottom:8px;}
.footer-col a:hover{color:var(--brand-hi);}
.footer-col h4{color:var(--brand-hi);}
.social-row a.social-icon{border-radius:4px;background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.18);color:#fff;}
.payments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.payments span{font-family:'Geist',sans-serif;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.22);border-radius:var(--pill);padding:5px 10px;font-weight:500;}
.footer-bottom{border-color:rgba(255,255,255,0.12);color:rgba(255,255,255,0.5);font-family:'Geist',sans-serif;font-weight:500;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* misc */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:1000;}
.skip:focus{left:12px;top:12px;}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
html:not(.js) .reveal,html:not(.js) .reveal-stagger > *{opacity:1;transform:none;}
.callbar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:200;background:rgba(20,22,63,0.86);border:1px solid rgba(255,255,255,0.16);border-radius:var(--pill);overflow:hidden;box-shadow:0 20px 40px -18px rgba(0,0,0,0.7);}
.callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-family:'Geist',sans-serif;font-weight:700;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:#fff;}
.callbar a.gold{background:linear-gradient(180deg,var(--brand-hi),var(--brand));color:var(--ink);}
@media(max-width:820px){.callbar{display:flex;}body{padding-bottom:76px;}}
.gal-caption .meta,.stat-label{font-family:'Geist',sans-serif;}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-media video{position:absolute;inset:0;}
.hero-media .hero-poster{position:absolute;inset:0;transition:opacity 900ms ease;}
.hero-media.playing .hero-poster{opacity:0;}
@media (prefers-reduced-motion:reduce){.hero-media video{display:none;}.hero-media .hero-poster{opacity:1!important;}}

/* Google reviews badge + stars */
.gbadge{display:inline-flex;align-items:center;gap:12px;margin:0 auto 34px;padding:10px 18px 10px 12px;border-radius:var(--pill);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);color:#fff;font-size:0.9rem;font-weight:500;}
.section-head + .gbadge{display:flex;width:max-content;max-width:100%;}
.gbadge .g{width:30px;height:30px;border-radius:4px;background:#fff;color:#4285F4;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;}
.gbadge .stars{color:var(--brand-hi);letter-spacing:0.08em;font-size:1rem;}
.gbadge a{color:var(--brand-hi);font-weight:600;border-bottom:1px solid rgba(92,196,238,0.5);}
.tst-stars{color:var(--brand-hi);letter-spacing:0.1em;font-size:0.95rem;margin-bottom:10px;}
.tst-card::before{display:none;}
.tst-card{padding:26px 26px 24px;}
.tst-quote{font-size:0.98rem;font-weight:400;color:rgba(255,255,255,0.92);}
/* service area pin map */
.areamap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--rule);box-shadow:none;background:#e9e7e1;aspect-ratio:16/9;}
.areamap img{width:100%;height:100%;object-fit:cover;display:block;}
.areamap .area-fallback{display:none;width:100%;height:100%;border:0;}
.areamap.fallback img{display:none;}
.areamap.fallback .area-fallback{display:block;}
@media(max-width:700px){.areamap{aspect-ratio:4/3;}}

/* trust badge strip under the hero */
.trust{background:var(--paper);padding:22px 0;border-bottom:1px solid var(--rule);}
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.tbadge{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:var(--pill);background:#fff;border:1px solid var(--rule);box-shadow:none;color:var(--ink);transition:transform .2s ease,border-color .2s ease;}
a.tbadge:hover{border-color:rgba(34,168,224,0.5);}
.tbadge b{display:block;font-size:0.86rem;font-weight:700;line-height:1.15;}
.tbadge small{display:block;font-size:0.7rem;color:var(--ink-mute);line-height:1.2;margin-top:2px;}
.tb-ic{width:38px;height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:0.8rem;letter-spacing:0.02em;background:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,0.4);flex-shrink:0;}
.tb-ic.g{color:#4285F4;font-size:1.15rem;}
.tb-ic.bbb{background:#005F86;color:#fff;font-size:0.66rem;}
.tb-ic.fb{background:#1877F2;color:#fff;}
.tb-ic.fb svg{width:20px;height:20px;fill:#fff;}
.tb-ic.txt{background:var(--brand-pale);color:var(--brand-deep);}
@media(max-width:700px){.trust-row{gap:8px;}.tbadge{padding:8px 14px 8px 8px;}.tbadge small{display:none;}.tb-ic{width:32px;height:32px;}}

/* nav pill: out rank .nav-links a from the house sheet */
.nav-links a.nav-cta-btn{padding:1em 2.1em;font-size:0.76rem;font-weight:700;color:var(--ink);letter-spacing:0.08em;line-height:1.1;border-radius:var(--pill);}
.nav-links a.nav-cta-btn:hover{color:var(--ink);}
@media(max-width:1000px){.nav-links a.nav-cta-btn{padding:0.95em 1.8em;font-size:0.8rem;}}

/* reviews carousel */
.rv-wrap{position:relative;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;}
.rv-view{overflow:hidden;padding:6px 2px 10px;}
.rv-track{display:flex;gap:16px;transition:transform .5s cubic-bezier(.2,.7,.15,1);will-change:transform;}
.rv-track::-webkit-scrollbar{display:none;}
.rv-track .tst-card{flex:0 0 calc((100% - 32px) / 3);}
.rv-btn{width:44px;height:44px;border-radius:4px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .2s ease;font-family:'Geist',sans-serif;padding:0 0 4px;}
.rv-btn:hover{background:rgba(92,196,238,0.22);border-color:var(--brand-hi);}
.rv-dots{display:flex;justify-content:center;gap:8px;margin-top:18px;}
.rv-dots span{width:8px;height:8px;border-radius:4px;background:rgba(255,255,255,0.22);transition:background .2s ease,transform .2s ease;}
.rv-dots span.on{background:var(--brand-hi);transform:scale(1.25);}
@media(max-width:1000px){.rv-track .tst-card{flex-basis:calc((100% - 16px) / 2);}}
@media(max-width:640px){.rv-wrap{grid-template-columns:1fr;}.rv-btn{display:none;}.rv-track .tst-card{flex-basis:88%;}}

/* NMG credit */
.footer-bottom .credit a{color:var(--brand-hi);font-weight:600;}
.footer-bottom .credit a:hover{color:#fff;}

/* phones: no hero overlap under the header, offer bar stays visible */
@media(max-width:1000px){
  .hero,.page-hero{margin-top:0;}
  .hero .shell{padding-top:36px;min-height:0;}
  .page-hero{padding-top:48px;}
  .site-header{top:8px;}
  .nav-links{z-index:5;}
}

/* offer bar sticks to the top and the glass header follows beneath it */
.offerbar{position:sticky;top:0;z-index:101;}
.site-header{top:calc(var(--offer-h,38px) + 10px);}
@media(max-width:1000px){.site-header{top:calc(var(--offer-h,56px) + 8px);}}

/* =====================================================================
   AMERICAN SHOWER COMPANY additions (2026-10-07)
   ===================================================================== */
.brand-logo{height:64px;}
@media(max-width:980px){.brand-logo{height:52px;}}
.footer-logo{width:120px;height:auto;background:#fff;border-radius:4px;padding:10px;}
.footer-grid.five{grid-template-columns:1.3fr 1fr 1.15fr 0.9fr 0.9fr;gap:36px;}
@media(max-width:1100px){.footer-grid.five{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:640px){.footer-grid.five{grid-template-columns:1fr 1fr;}.footer-grid.five .footer-brand{grid-column:1/-1;}}
.footer-locs{display:flex;flex-wrap:wrap;gap:10px 34px;padding:22px 0;border-top:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.72);font-size:0.9rem;}
.footer-locs b{color:#fff;margin-right:6px;}
.footer-locs a{color:var(--brand-hi);}
.footer-bottom a{color:rgba(255,255,255,0.7);}

/* split with media on the left */
.split.rev .media{order:-1;}
@media(max-width:900px){.split.rev .media{order:0;}}
.ticks{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:10px;}
.ticks li{position:relative;padding-left:30px;}
.ticks li::before{content:"";position:absolute;left:0;top:0.45em;width:16px;height:16px;border-radius:4px;background:var(--brand);box-shadow:0 0 0 4px var(--brand-pale);}

/* social feed */
.sf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,26px);}
@media(max-width:1080px){.sf-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.sf-grid{grid-template-columns:1fr;}}
.sf-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease;color:inherit;}
.sf-card:hover{box-shadow:0 26px 50px -26px rgba(20,22,63,0.4);}
.sf-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.sf-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.sf-body p{font-size:0.92rem;line-height:1.55;color:var(--ink-soft);flex:1;margin:0;}
.sf-meta{display:flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-mute);}
.sf-ic{width:22px;height:22px;border-radius:4px;background:#1877F2;display:inline-flex;align-items:center;justify-content:center;}
.sf-ic svg{width:13px;height:13px;fill:#fff;}

/* reviews page grid */
.rv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(max-width:820px){.rv-grid{grid-template-columns:1fr;}}
.rv-grid .tst-card{background:var(--paper-soft);border:1px solid var(--rule);}
.rv-grid .tst-quote{color:var(--ink-soft);}
.rv-grid .tst-meta .who{color:var(--ink);}
.rv-grid .tst-meta .role{color:var(--ink-mute);}
.rv-grid .tst-stars{color:#F5B301;}

/* values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.values{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.values{grid-template-columns:1fr;}}
.value{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:26px 24px;box-shadow:none;}
.value h3{margin-bottom:8px;color:var(--ink);}
.value p{margin:0;font-size:0.95rem;}
.quote-block{max-width:880px;margin:0 auto;text-align:center;}
.quote-block .tst-quote.big{font-size:clamp(1.15rem,1vw + 0.9rem,1.5rem);line-height:1.55;color:var(--ink);}
.quote-block .who{margin-top:16px;font-size:0.8rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--brand-deep);}

/* tables, swatches, steps */
.table-wrap{overflow-x:auto;margin:18px 0 26px;border-radius:4px;border:1px solid var(--rule);}
table.cmp{width:100%;border-collapse:collapse;font-size:0.95rem;}
table.cmp th{background:var(--ink);color:#fff;text-align:left;padding:12px 16px;font-weight:600;}
table.cmp td{padding:12px 16px;border-top:1px solid var(--rule);vertical-align:top;}
table.cmp tr:nth-child(even) td{background:var(--paper-soft);}
.swatch-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media(max-width:700px){.swatch-cols{grid-template-columns:1fr;}}
.swatch-cols ul{padding-left:18px;}
.swatch-cols li{margin-bottom:6px;}
ol.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px;}
ol.steps li{counter-increment:s;position:relative;padding:16px 18px 16px 62px;background:var(--paper-soft);border-radius:4px;}
ol.steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:4px;background:var(--brand);color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:center;}

/* service areas list */
.area-list{display:grid;gap:14px;}
.area-row{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center;padding:18px 22px;background:var(--paper-soft);border-radius:4px;scroll-margin-top:120px;}
.area-row h3{margin:0;color:var(--ink);}
.area-links{display:flex;flex-wrap:wrap;gap:8px 18px;}
.area-links a{font-weight:600;color:var(--brand-deep);}
@media(max-width:720px){.area-row{grid-template-columns:1fr;}}
.areas a{color:inherit;border-bottom:1px solid rgba(34,168,224,0.35);}

/* wizard: two name fields, consent spacing */
.wz-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.wz-consent{font-size:0.72rem;line-height:1.45;}
.wz-consent a{text-decoration:underline;}
.legal h2{font-size:1.25rem;margin-top:28px;}
.sf-card img{height:auto;max-height:none;flex:none;}
.section.band-ink .section-head .head-grid p{color:rgba(255,255,255,0.74);}
@media(max-width:980px){.hero .shell{padding-top:calc(var(--offer-h,40px) + 110px);}}
.wz-dq,.wz-dq-bye{margin-top:14px;padding:16px 18px;border-radius:4px;background:var(--brand-pale);border:1px solid rgba(34,168,224,0.35);}
.wz-dq p,.wz-dq-bye p{margin:0 0 10px;color:var(--ink);}
.wz-dq-bye p{margin:0;}

/* ---- QA 2026-10-07: mobile tap targets (>=44px) and minimum text size ---- */
@media(max-width:980px){
  .offerbar a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;}
  .offerbar{padding-top:0;padding-bottom:0;}
  .page-hero-crumb a{display:inline-flex;align-items:center;min-height:44px;}
  .footer-col a{display:flex;align-items:center;min-height:44px;margin:0;}
  .footer-col h4{margin-bottom:6px;}
  .footer-locs a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;}
  .link-arrow{display:inline-flex;align-items:center;min-height:44px;}
  .ci a{display:inline-flex;align-items:center;min-height:44px;}
  .area-links a,.areas a{display:inline-flex;align-items:center;min-height:44px;}
  .sf-card .link-arrow{min-height:44px;}
  .btn{font-size:0.82rem;min-height:44px;}
  .icon-col .btn{font-size:0.8rem;}
  #wz-label,.wz-prog span{font-size:0.78rem;}
  .ci .lbl,.marker{font-size:0.78rem;}
}

/* ---- QA pass 2 (2026-10-07) ---- */
.nmg-bar{text-align:center;padding:16px var(--gutter) 18px;border-top:1px solid rgba(255,255,255,0.10);background:rgba(0,0,0,0.18);color:rgba(255,255,255,0.62);font-size:0.8rem;letter-spacing:0.04em;}
.nmg-bar a{color:#fff;font-weight:600;}
@media(max-width:980px){.nmg-bar{padding-bottom:104px;}.nmg-bar a{display:inline-flex;align-items:center;min-height:44px;}}
.article > .body,.article > *{min-width:0;}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;}
table.cmp{min-width:480px;}
.nearby-cols{columns:3;}
@media(max-width:640px){.nearby-cols{columns:2;}}
@media(max-width:980px){
  .offerbar{font-size:0.8rem;}
  .page-hero-crumb,.page-hero-crumb a{font-size:0.78rem;}
  .footer-bottom,.footer-bottom span,.footer-bottom a{font-size:0.78rem;}
  .wz-tile small,.tbadge small{font-size:0.78rem;}
  .wz-call a,.prose a,.text p a,p > a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;}
  .aside-card .tel{display:flex;align-items:center;min-height:44px;}
  .social-row a.social-icon{width:44px;height:44px;}
  .brand{display:inline-flex;align-items:center;min-height:52px;}
}
.wz-trust,.offer-tag,.tst-meta .role,.svc-num,.sf-meta{font-size:0.76rem !important;}
.proc-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
@media(max-width:1100px){.proc-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.proc-grid{grid-template-columns:1fr;}}
.proc-grid li{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:24px 22px;box-shadow:none;}
.proc-grid span{display:inline-flex;width:38px;height:38px;border-radius:4px;background:var(--brand);color:var(--ink);font-weight:700;align-items:center;justify-content:center;margin-bottom:12px;}
.proc-grid h3{font-size:1.08rem;margin-bottom:6px;color:var(--ink);}
.proc-grid p{margin:0;font-size:0.92rem;}
.social-row a.social-icon svg{fill:currentColor;}
@media(max-width:640px){
  .table-wrap{border:0;overflow:visible;}
  table.cmp{min-width:0;}
  table.cmp thead{display:none;}
  table.cmp,table.cmp tbody,table.cmp tr,table.cmp td{display:block;width:100%;}
  table.cmp tr{background:var(--paper-soft);border:1px solid var(--rule);border-radius:4px;padding:12px 16px;margin-bottom:12px;}
  table.cmp tr:nth-child(even) td{background:transparent;}
  table.cmp td{border:0;padding:6px 0;}
  table.cmp td:first-child{font-weight:700;color:var(--ink);font-size:1.02rem;padding-top:2px;}
  table.cmp td:not(:first-child)::before{content:attr(data-label);display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--brand-deep);margin-bottom:2px;}
}

/* ---- mobile compaction (QA 2026-10-07): home was 22.5k px tall at 390 ---- */
@media(max-width:700px){
  .icon-grid{grid-template-columns:1fr 1fr !important;gap:12px !important;}
  .icon-col{padding:18px 12px 16px !important;}
  .icon-col .icon-wrap{width:52px;height:52px;}
  .icon-col h3{font-size:1rem;}
  .icon-col p{font-size:0.82rem;line-height:1.45;}
  .icon-col .btn{padding:0.7em 1.1em;}
  .offers,.sf-grid{display:grid !important;grid-auto-flow:column;grid-template-columns:none !important;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 2px 14px;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding:0 var(--gutter);-webkit-overflow-scrolling:touch;}
  .offers > *,.sf-grid > *{scroll-snap-align:start;}
  .gal-grid{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .gal-grid .gal-item{grid-column:auto !important;grid-row:auto !important;aspect-ratio:3/4;}
  .gal-grid .gal-item:nth-child(n+4){aspect-ratio:4/3;}
  .gal-grid .gal-item img{width:100%;height:100%;object-fit:cover;}
  .gal-caption .meta{display:none;}
  .proc-grid{gap:10px;}
  .proc-grid li{display:grid;grid-template-columns:38px 1fr;column-gap:14px;padding:16px;}
  .proc-grid span{grid-row:1 / span 2;margin:0;}
  .proc-grid h3{margin:4px 0 4px;}
  .loc-card .map{height:200px;}
  .section{padding:52px 0;}
}
.contact-card .social-row a.social-icon,.section .social-row a.social-icon{background:var(--brand-pale);border:1px solid rgba(34,168,224,0.35);color:var(--brand-deep);}
.contact-card .social-row a.social-icon:hover{background:#1877F2;color:#fff;}
.contact-card .social-row a.social-linkedin:hover{background:#0A66C2;}
@media(max-width:640px){.offerbar{white-space:nowrap;font-size:0.8rem;}}
@media(min-width:1001px) and (max-width:1280px){
  .nav-links{gap:2px;}
  .nav-links a{font-size:0.84rem;padding-left:7px;padding-right:7px;}
  .nav-links .nav-phone{display:none;}
  .nav-cta-btn{padding:0.9em 1.3em;font-size:0.7rem;}
  .brand-logo{height:54px;}
}

/* ---- editorial pass fixes (2026-10-12) ---- */
.cta-band{background:var(--ink);}
.cta-band::before,.cta-band::after{display:none;}
.cta-band .marker{display:inline-flex;}
.wizcard{border-top:var(--edge);box-shadow:0 24px 48px -32px rgba(0,0,0,0.55);}
.offer,.loc-card,.aside-card{border-top:var(--edge);}
/* trust strip: one divided text row, no icon chips */
.trust{background:#fff;padding:14px 0;border-bottom:1px solid var(--rule);}
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.tbadge{display:inline-flex;align-items:baseline;gap:8px;padding:6px 22px;border:0;border-right:1px solid var(--rule);background:none;box-shadow:none;border-radius:0;color:var(--ink);}
.tbadge:last-child{border-right:0;}
a.tbadge:hover{border-color:var(--rule);transform:none;}
a.tbadge:hover b{color:var(--brand-deep);}
.tbadge b{display:inline;font-size:0.86rem;font-weight:600;line-height:1.2;}
.tbadge small{display:inline;font-size:0.8rem;color:var(--mist);margin:0;}
.tb-ic{display:none;}
@media(max-width:700px){.tbadge{padding:6px 14px;}.tbadge small{display:none;}}
/* reviews: readable sans on navy */
.tst-quote,.rv-grid .tst-quote{font-family:'Geist',sans-serif;font-style:normal;font-size:1rem;line-height:1.62;}
.tst-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.16);}
.tst-stars{color:var(--brand-hi);}
.rv-btn{border-radius:2px;}
.rv-dots span{border-radius:2px;}
/* icon band cards: hairline, no glass */
.icon-col{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.14);}
.icon-col:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.3);}
.icon-wrap{border-radius:2px;box-shadow:none;}
/* wizard tiles and inputs: square, calm */
.wz-tile{border-radius:2px;background:#fff;box-shadow:none;}
.wz-tile:hover{box-shadow:none;background:var(--paper-soft);}
.wz-tile svg{border-radius:2px;background:var(--brand-pale);}
.wizcard input[type=text],.wizcard input[type=tel],.wizcard input[type=email],.wizcard textarea{border-radius:2px;background:#fff;}
.wz-bar,.wz-bar i{border-radius:0;}
.wz-bar i{background:var(--brand);}
/* small chrome */
.offer .offer-tag{border-radius:0;background:var(--ink);color:#fff;}
.social-row a.social-icon,.tb-ic,.proc-grid span,.sf-ic,.acc summary .ic,ol.steps li::before{border-radius:2px;}
.proc-grid span{background:var(--brand);color:#fff;}
.ticks li::before{border-radius:2px;box-shadow:none;top:0.5em;width:12px;height:12px;}
.footer-brand img,.footer-logo{border-radius:2px;}
.callbar{border-radius:0;left:0;right:0;bottom:0;background:var(--ink);border:0;border-top:1px solid rgba(255,255,255,0.2);box-shadow:none;}
.callbar a.gold{background:var(--brand);color:#fff;}
.page-hero{padding-top:clamp(56px,7vw,96px);border-bottom:1px solid var(--rule);}
.page-hero h1{font-family:'Archivo','Geist',system-ui,sans-serif;font-weight:600;font-size:clamp(2.3rem,3.4vw + 0.6rem,3.8rem);letter-spacing:-0.02em;font-variation-settings:"wdth" 108;}
.page-hero h1 em{color:var(--brand);}
.cta-band h2{font-family:'Archivo','Geist',system-ui,sans-serif;font-weight:600;font-size:clamp(2rem,3.2vw,3rem);font-variation-settings:"wdth" 108;}
.section-head + .gbadge{border-radius:2px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.16);}
.gbadge .g{border-radius:2px;}
.areamap{border-radius:2px;box-shadow:none;}
.split .media img,.article .body figure img,.strip img{border-radius:2px;}
.table-wrap,.area-row,ol.steps li,.wz-dq,.wz-dq-bye,.thank-you,table.cmp tr{border-radius:2px;}
.section{overflow:hidden;}
@media(max-width:700px){.hero .marker::before,.hero .marker::after{display:none;}.hero .marker{letter-spacing:0.14em;}}
.hero h1 em,.cta-band h2 em,.page-hero h1 em,.section-head h2 em,.split .text h2 em{font-style:normal;}
.tbadge > span{display:inline-flex;align-items:baseline;gap:8px;}
.tbadge small{margin-left:0;}
@media(max-width:700px){.tbadge > span{gap:0;}}
/* nav CTA: white on blue (the old nav pill rule set navy text) */
.nav-links a.nav-cta-btn,.nav-cta-btn{color:#fff;border-radius:2px;}
.nav-links a.nav-cta-btn:hover{color:#fff;background:var(--ink);}
/* footer: breathing room between the link rows and the NMG bar */
.site-footer{padding-bottom:0;}
.footer-locs{padding:26px 0;}
.footer-bottom{padding:26px 0 30px;}
.nmg-bar{padding:24px var(--gutter) 26px;margin-top:0;}
@media(max-width:980px){.nmg-bar{padding-bottom:110px;}}

/* ---- QA sweep fixes 2026-10-12 ---- */
#wizovl{display:none;}
#wizovl.on{display:flex;}
.wizcard.err .form-err{display:block;}
.ci a,.ci p,.ci .lbl{font-family:'Geist',sans-serif;}
.icon-col{display:flex;}
.trust-row{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:0 8px;}
.tbadge{border-right:0;justify-content:center;}
@media(max-width:700px){.trust-row{grid-template-columns:repeat(2,auto);}}
@media(max-width:980px){.offerbar{position:static;}.site-header{top:0;}}
/* contrast: AA on white and on the blue buttons */
:root{--brand:#1479AD;--brand-deep:#0F5F88;}
.footer-bottom,.footer-bottom a{color:rgba(255,255,255,0.78);}
.foot-copy{color:rgba(255,255,255,0.72);}
.page-hero-crumb,.page-hero-crumb a{color:#5A5E75;}
/* real photo hero: keep text contrast on the left, let the install show on the right */
.hero-media::after{background:linear-gradient(100deg,rgba(14,16,45,0.84) 0%,rgba(14,16,45,0.6) 42%,rgba(14,16,45,0.18) 100%);}
.hero-media img.hero-poster{object-position:68% 42%;}
@media(max-width:900px){.hero-media::after{background:linear-gradient(180deg,rgba(14,16,45,0.5) 0%,rgba(14,16,45,0.78) 60%);}.hero-media img.hero-poster{object-position:55% 62%;}}

/* ---- Bernard 2026-10-12: trust strip gained a 7th badge (Over 350 installs), rows center instead of a 3 col grid orphan ---- */
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:0 8px;}
/* exit intent line in the wizard head: hidden unless the popup opened from the top edge exit */
.wizcard .wz-head .wz-exit{display:block;margin:8px auto 0;max-width:420px;padding:6px 10px;font-size:0.84rem;font-weight:600;color:var(--brand-deep);background:var(--brand-pale);border-radius:2px;}
.wizcard .wz-head .wz-exit[hidden]{display:none;}

/* home popup: the special + a path to the hero wizard (Bernard 2026-10-12) */
.wizcard.wiz-offer .wz-row{margin-top:18px;justify-content:flex-end;}
.wizcard.wiz-offer .wz-head p{max-width:460px;margin:8px auto 0;}
.wizcard.wiz-offer .wz-call{margin-top:14px;}
