@font-face{font-family:"Saira";src:url(assets/fonts/saira-display.woff2)format("woff2");font-weight:600 900;font-stretch:100% 125%;font-display:swap}
@font-face{font-family:"RC";src:url(assets/fonts/roboto-condensed-700-latin.woff)format("woff");font-weight:700;font-display:swap}
:root{--n0:#00053E;--n1:#002D5C;--y:#FED14D;--y2:#FFD24F;--g1:#F3F5F8;--g2:#E3E7EE;--g3:#5B6475;--r:16px;--disp:"Saira","Arial Black",system-ui,sans-serif;--body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--sec-pad-y:88px;--angle-depth:80px;--angle-clip-l:polygon(0 100%,100% 0,100% 100%);--angle-clip-r:polygon(0 0,100% 100%,0 100%);--angle-clip-sky:polygon(0 var(--angle-depth),100% 0,100% 100%,0 100%)}
@media (max-width:899px){:root{--sec-pad-y:80px;--angle-depth:56px}}
@media (max-width:699px){:root{--sec-pad-y:64px;--angle-depth:40px}}
.nx,.nx *,.fx,.fx *{box-sizing:border-box}
.nx-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--y);color:var(--n0);padding:12px 16px;border-radius:12px;font:700 15px var(--body)}
.nx-skip:focus{top:12px}
.nx{position:sticky;top:0;z-index:50;font-family:var(--body);color:var(--n0)}
.nx-w{max-width:1320px;margin:0 auto;padding:0 32px}
.nx a{color:inherit;text-decoration:none}
.nx :focus-visible,.fx :focus-visible{outline:3px solid var(--y);outline-offset:3px;border-radius:10px;box-shadow:0 0 0 6px var(--n0)}
/* utility strip */
.nx-util{background:var(--n0);color:#fff;font-size:13px;letter-spacing:.02em}
.nx-util .nx-w{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:36px}
.nx-util p{margin:0;white-space:nowrap;color:#D5DAE4}
.nx-util b{color:var(--y)}
.nx-lic a{color:#fff;border-bottom:1px solid rgba(254,209,77,.5)}
.nx-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:#22C55E;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 3px rgba(34,197,94,.28)}
.nx-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22C55E;transform:scale(1);opacity:.65;animation:nx-dot-pulse 2s ease-out infinite;pointer-events:none}
@keyframes nx-dot-pulse{0%{transform:scale(1);opacity:.65}70%{transform:scale(2.6);opacity:0}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.nx-dot::after{animation:none;opacity:0}.nx-dot{box-shadow:0 0 10px 3px rgba(34,197,94,.55)}}
.nx-rate{display:inline-flex;align-items:center;gap:6px}
.nx-gg{display:inline-grid;place-items:center;width:14px;height:14px;flex:none;line-height:0}
.nx-gg svg{display:block;width:14px;height:14px}
/* bar */
.nx-bar{background:#fff;border-bottom:1px solid var(--g2);box-shadow:0 8px 24px -18px rgba(0,5,62,.35);position:relative}
.nx-in{display:flex;align-items:center;gap:24px;min-height:80px}
.nx-logo{flex:0 0 auto;overflow:visible}.nx-logo img{display:block;height:72px;width:auto;max-width:none;aspect-ratio:448.9248/209.2496;image-rendering:auto}
.nx-nav{margin-left:auto}
.nx-top{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nx-tg{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;height:48px;padding:0 14px;border-radius:12px;font:700 16px/1 var(--disp);font-stretch:108%;letter-spacing:.01em;color:var(--n0);cursor:pointer;position:relative;white-space:nowrap}
.nx-tg::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:3px;border-radius:3px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nx-tg:hover::after,.nx-tg[aria-expanded=true]::after{transform:scaleX(1)}
.nx-tg[aria-expanded=true] .cv{transform:rotate(180deg)}
.nx-tg:focus-visible{outline:3px solid var(--n1);box-shadow:none}
.cv{transition:transform .2s;flex:none}
.nx-cta{display:flex;gap:10px}
.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:var(--r);font:800 16px/1 var(--disp);white-space:nowrap;transition:transform .15s,background .15s}
.nx-call{background:var(--y);color:var(--n0)!important;box-shadow:0 6px 14px -8px rgba(0,5,62,.45)}
.nx-call:hover{background:var(--y2);transform:translateY(-1px)}
.nx-book{border:2px solid var(--n0);color:var(--n0)!important;background:#fff}
.nx-book:hover{background:var(--n0);color:#fff!important}
.nx-ghost{border:2px solid rgba(255,255,255,.7);color:#fff!important}
.nx-mcall,.nx-burger{display:none}
/* mega panel */
.nx-panel{position:absolute;left:0;right:0;top:100%;padding:0 32px}
.nx-pin{max-width:1256px;margin:0 auto;background:#fff;border-radius:0 0 var(--r) var(--r);border:1px solid var(--g2);box-shadow:0 30px 60px -24px rgba(0,5,62,.4);display:grid;grid-template-columns:minmax(0,1fr) 340px;overflow:hidden;animation:nxin .18s ease-out}
@keyframes nxin{from{opacity:0;transform:translateY(-6px)}}
.nx-links{padding:32px 36px}
.nx-ph{margin:0 0 18px;font:800 26px/1.1 var(--disp);color:var(--n0)}
.nx-ph span{display:block;margin-top:6px;font:500 15px/1.3 var(--body);color:var(--g3)}
.nx-res .nx-ph{font-size:20px}
.nx-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.nx-col{list-style:none;margin:0;padding:0}
.nx-col a{display:flex;align-items:center;min-height:44px;padding:0 12px;margin:0 -12px;border-radius:12px;font:600 16px var(--body);border-bottom:1px solid var(--g1)}
.nx-col a:hover{background:var(--g1)}
.nx-col a::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--y);margin-right:12px;flex:none}
.nx-all{display:inline-flex;align-items:center;gap:8px;margin-top:20px;min-height:44px;font:800 16px var(--disp);color:var(--n1)!important;border-bottom:2px solid var(--y)}
.nx-feat{position:relative;background:linear-gradient(160deg,var(--n1),var(--n0) 70%);color:#fff;padding:32px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;border-radius:0 0 var(--r) 0}
.nx-feat::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(254,209,77,.12)}
.nx-feat img{width:96px;height:auto;margin-bottom:16px;position:relative}.nx-feat .nx-mascot{position:relative;display:block;width:88px;margin:0 0 12px;line-height:0;flex:none}.nx-feat .nx-mascot img{display:block;width:100%;height:auto;margin:0;position:relative;object-fit:contain;object-position:50% 0}.nx-feat .nx-mascot video.ofv{position:absolute;margin:0;max-width:none;object-fit:contain;object-position:50% 0;pointer-events:none;background:transparent}.nx-feat .nx-mascot img.ofv-on{clip-path:inset(50%)}.nx-feat .nx-mascot.nx-mwave{width:103px;height:120px;margin:0 0 12px}.nx-feat .nx-mascot.nx-mwave img{display:block;width:103px;height:120px;margin:0;object-fit:contain;object-position:50% 100%}
.nx-k{margin:0;font:700 13px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.nx-big{margin:8px 0 6px;font:900 44px/1 var(--disp);color:#fff}
.nx-big s{font-size:22px;color:#AEB6C6;font-weight:700}
.nx-mid{font-size:26px;line-height:1.15}
.nx-fs{margin:0 0 24px;color:#D5DAE4;font-size:15px;line-height:1.45}
.nx-feat{justify-content:center}
/* mobile drawer */
.nx-scrim{position:fixed;inset:0;background:rgba(0,5,62,.55);z-index:60}
.nx-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:61;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 28px;animation:nxdr .24s ease-out}
@keyframes nxdr{from{transform:translateX(24px);opacity:.4}}
.nx-dtop{display:flex;align-items:center;justify-content:space-between;height:68px;border-bottom:1px solid var(--g2);margin:0 -20px;padding:0 12px 0 20px;position:sticky;top:0;background:#fff;z-index:1}
.nx-dtop img{height:56px;width:auto;aspect-ratio:448.9248/209.2496}
.nx-x{all:unset;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;color:var(--n0);cursor:pointer}
.nx-x:focus-visible{outline:3px solid var(--n1)}
.nx-dcta{display:grid;gap:10px;margin:18px 0 10px}
.nx-dcta .nx-btn{width:100%}
.nx-acc{list-style:none;margin:0;padding:0}
.nx-acc>li{border-bottom:1px solid var(--g2)}
.nx-ah{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 4px;cursor:pointer;font:800 20px/1.1 var(--disp);color:var(--n0)}
.nx-ah small{display:block;margin-top:4px;font:500 14px var(--body);color:var(--g3);white-space:nowrap}
.nx-ah:focus-visible{outline:3px solid var(--n1);border-radius:10px}
.nx-ah .cv{width:16px;height:16px;transform:none}
.nx-ah[aria-expanded=true] .cv{transform:rotate(180deg)}
.nx-ah[aria-expanded=true]{color:var(--n1)}
.nx-ab{padding:0 0 14px}
.nx-ab ul{list-style:none;margin:0;padding:6px;background:var(--g1);border-radius:var(--r)}
.nx-ab a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:12px;font:600 16px var(--body);white-space:nowrap}
.nx-ab li:first-child a{font-weight:800;color:var(--n1)}
.nx-ab a::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--y);margin-right:12px}
.nx-sub{margin:10px 4px 8px;font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--g3)}
.nx-dlic{margin:20px 0 0;font-size:13px;line-height:1.5;color:var(--g3)}
/* responsive */
@media (max-width:1179px){.nx-lic{display:none}.nx-tg{padding:0 10px;font-size:15px}.nx-btn{padding:0 16px}.nx-in{gap:14px}.nx-logo img{height:72px}}
@media (max-width:1099px){
 .nx-nav,.nx-cta,.nx-util{display:none}
 .nx-in{min-height:68px;gap:10px}
 .nx-w{padding:0 16px}
 .nx-logo{margin-right:auto}.nx-logo img{height:60px}
 .nx-mcall{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:var(--r);background:var(--y);color:var(--n0);font:800 15px/1 var(--disp);white-space:nowrap}
 .nx-mcall .ic{width:16px;height:16px}
 .nx-burger{all:unset;display:grid;align-content:center;gap:5px;width:44px;height:44px;justify-items:center;border-radius:12px;border:2px solid var(--n0);box-sizing:border-box;cursor:pointer}
 .nx-burger span{width:20px;height:2.5px;border-radius:2px;background:var(--n0)}
 .nx-burger:focus-visible{outline:3px solid var(--n1);outline-offset:2px}
}
@media (max-width:360px){.nx-logo img{height:60px}}
@media (max-width:359px){.nx-mcall span{display:none}.nx-mcall{width:44px;padding:0;justify-content:center}}
@media (min-width:1100px){.nx-drawer,.nx-scrim{display:none!important}}
@media (prefers-reduced-motion:reduce){.nx *,.fx *{animation:none!important;transition:none!important}}

.fx{font-family:var(--body);color:#D5DAE4;background:var(--n0)}
.fx a{color:#fff;text-decoration:none}
.fx-w{max-width:1320px;margin:0 auto;padding:0 32px}
.fx-band{background:var(--y);color:var(--n0);position:relative;z-index:1}
.fx-w.fx-bandin,.fx-bandin{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:var(--sec-pad-y) 32px;box-sizing:border-box}
.fx-head{width:88px;height:auto}
.fx-bk{margin:0 0 4px;font:700 13px var(--body);letter-spacing:.14em;text-transform:uppercase}
.fx-bt{margin:0;font:800 28px/1.15 var(--disp);text-wrap:balance}
.fx-cta{display:flex;gap:10px}
.fx-band .nx-call{background:var(--n0);color:#fff!important;box-shadow:none}
.fx-band .nx-book{background:transparent;border-color:var(--n0)}
.fx-band .nx-book:hover{background:var(--n0);color:#fff!important}
.fx-main{padding:72px 0 0;background:radial-gradient(1200px 400px at 85% 0,rgba(0,45,92,.9),transparent 70%),var(--n0)}
.fx-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(5,max-content);justify-content:space-between;gap:40px 28px}
.fx-brand>img{width:180px;height:auto;aspect-ratio:106/56;object-fit:contain;display:block;margin-bottom:18px;background:none;border-radius:0;padding:0;box-shadow:none;border:0}
.fx-brand p,.fx-brand address{margin:0 0 12px;font-style:normal;font-size:15px;line-height:1.5}
.fx-tel{display:inline-flex;min-height:44px;align-items:center;font:800 22px var(--disp);color:var(--y)!important}
.fx-bbb{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;line-height:0;background:#F7F8FA;padding:8px 10px;border:0;border-radius:12px;box-shadow:none;text-decoration:none}.fx-bbb img{display:block;width:200px;max-width:100%;height:auto;background:none;padding:0;border:0;border-radius:0;box-shadow:none;margin:0}.fx-bbb:focus-visible{outline:3px solid #ffd200;outline-offset:3px}
.fx-h{list-style:none;cursor:default;margin:0 0 14px;font:800 18px/1.2 var(--disp);color:#fff;padding-bottom:12px;border-bottom:2px solid var(--y);display:inline-block}
.fx-h2{margin:22px 0 10px;font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.fx-col ul{list-style:none;margin:0;padding:0}
.fx-h::-webkit-details-marker{display:none}.fx-h .cv{display:none}
.fx-col a{display:flex;align-items:center;min-height:36px;font-size:15px;color:#D5DAE4!important;white-space:nowrap}
.fx-col a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.fx-col .fx-all{color:var(--y)!important;font-weight:700}
.fx-lic{margin-top:56px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:22px 28px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);background:rgba(255,255,255,.04)}
.fx-lk{margin:0;font:800 18px var(--disp);color:#fff}
.fx-lic ul{display:flex;gap:12px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.fx-lic li{display:flex;gap:10px;align-items:baseline;padding:10px 16px;border-radius:12px;background:rgba(0,45,92,.8);border:1px solid rgba(254,209,77,.35);white-space:nowrap}
.fx-lic b{font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--y)}
.fx-lic span{font:800 16px var(--disp);color:#fff;letter-spacing:.04em}
.fx-ver{margin-left:auto;display:inline-flex;min-height:44px;align-items:center;font-weight:700;border-bottom:2px solid var(--y);white-space:nowrap}
.fx-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0 28px;margin-top:32px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}
.fx-legal p{margin:0;color:#AEB6C6}
.fx-legal a{color:#AEB6C6!important;margin-left:20px;display:inline-flex;min-height:44px;align-items:center}
.fx-legal p:first-child{display:flex;align-items:center}
@media (max-width:1399px){.fx-grid{grid-template-columns:repeat(5,max-content)}.fx-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:0 32px;align-items:start}}
@media (max-width:1099px){.fx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fx-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 1fr;gap:0 32px;align-items:start}}
@media (max-width:900px){.fx-bandin{grid-template-columns:auto minmax(0,1fr)}.fx-cta{grid-column:1/-1}.fx-ver{margin-left:0}}
@media (max-width:699px){
 .fx-w{padding:0 20px}
 .fx-w.fx-bandin,.fx-bandin{padding:var(--sec-pad-y) 20px;grid-template-columns:72px minmax(0,1fr);gap:16px}.fx-head{width:72px}.fx-bt{font-size:22px}
 .fx-cta{display:grid;gap:10px}.fx-cta .nx-btn{width:100%}
 .fx-main{padding-top:48px}
 .fx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
 .fx-brand{display:block}
 .fx-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .fx-brand{margin-bottom:28px}
 .fx-col{border-top:1px solid rgba(255,255,255,.14)}
 .fx-col:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
 .fx-h{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:60px;margin:0;padding:0;border:0;cursor:pointer;font-size:20px}
 .fx-h .cv{display:block;width:16px;height:16px;color:var(--y)}
 .fx-col[open] .fx-h .cv{transform:rotate(180deg)}
 .fx-col ul{padding-bottom:16px}
 .fx-hvac ul,.fx-area ul{columns:2;column-gap:20px}
 .fx-col li{break-inside:avoid}
 .fx-col ul a{font-size:14px;min-height:44px}
 .fx-rb{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-bottom:16px}.fx-rb ul{columns:1;padding:0}.fx-rb .fx-h2{grid-column:2;grid-row:1;margin:0}.fx-rb ul:first-of-type{grid-row:1/3;grid-column:1}.fx-rb ul:last-of-type{grid-column:2;grid-row:2}
 .fx-lic{flex-direction:column;align-items:flex-start;padding:20px}.fx-lic ul{flex-direction:column;width:100%}.fx-lic li{justify-content:space-between}
 .fx-legal{flex-direction:column;gap:0}.fx-legal a{margin:0 20px 0 0}
}
@media (max-width:379px){.fx-col ul{columns:1!important}}

.nx-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* bbb2: official BBB dynamic seal on light rounded backing; no Rating overlay */
/* sth-band-robot2: full-cell still, no CSS crop, overflow visible */
.fx-band,.fx-head{overflow:visible!important}
.fx-head{height:auto;max-width:none;max-height:none;object-fit:contain;object-position:center center}

/* sth-padding-angle1 + sth-fx-flat1: shared section pad + one angle token */
/* Tokens live on :root in nav1.css (--sec-pad-y, --angle-depth, --angle-clip-*). */
/* Bang rule: NEVER angle the fx-band (24/7 yellow band). Flat top and bottom always.
   Use standard --sec-pad-y on .fx-band / .fx-bandin and on #book above it.
   Angles belong on .cut-l / .cut-r / .night.cut-l only - never on .fx-band. */

/* Inner pages: drive --pad from the shared token */
html body.inner .inner,
html body .inner{--pad:var(--sec-pad-y)}

/* Standard section padding (equal top/bottom). Angle clearance is additive below. */
html body main > .sec:not(#book),
html body.inner main > .sec:not(#book),
html body main > section.sec:not(#book){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}

/* Extra bottom pad when the next sibling is angled, so content clears the slant */
html body main > .sec:has(+ .cut-l),
html body main > .sec:has(+ .cut-r),
html body main > .sec:has(+ .night.cut-l),
html body main > section.sec:has(+ .cut-l),
html body main > section.sec:has(+ .cut-r),
html body main > section.sec:has(+ .night.cut-l){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* Book sits above the shared flat 24/7 band (band is outside <main>). Standard pad - no angle extra. */
html body main:has(+ .fx-band) #book,
html body #book.sec{
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}

/* One shared angle depth + clip for every cut wedge */
html body .cut-l::after,
html body .cut-r::after,
html body .brx.cut-l::after{
  top:calc(-1 * var(--angle-depth) + 1px)!important;
  height:var(--angle-depth)!important;
}
html body .cut-l::after,
html body .brx.cut-l::after{
  clip-path:var(--angle-clip-l)!important;
  -webkit-clip-path:var(--angle-clip-l)!important;
}
html body .cut-r::after{
  clip-path:var(--angle-clip-r)!important;
  -webkit-clip-path:var(--angle-clip-r)!important;
}

/* Sky / night cut uses the same depth token */
html body .night.cut-l{
  --w:var(--angle-depth);
  border-top-width:var(--angle-depth)!important;
  margin-top:calc(-1 * var(--angle-depth))!important;
  clip-path:var(--angle-clip-sky)!important;
  -webkit-clip-path:var(--angle-clip-sky)!important;
}

/* Compact open band already set in nav1; keep strip mascot fully visible */
html body .fx-band .fx-head{object-fit:contain;object-position:bottom center}

/* FAQ inner exception kept: slightly tighter bottom than full angle stack (no peeking mascot) */
html body section#faq.pfaq{
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:calc(var(--sec-pad-y) + 8px)!important;
}

/* hero-h1-size1: raise inner-page .ab-hero H1 (NOT Home). Desktop >=1160 unchanged.
   ~30px / lh 1.1 at 390; ~34px at 768. Never angle the fx-band. */
@media(max-width:699px){
html body main section.hero.ab-hero h1:not(#_){font-size:30px!important;line-height:1.1!important}
}
@media(min-width:700px) and (max-width:1023px){
html body main section.hero.ab-hero h1:not(#_){font-size:34px!important;line-height:1.12!important}
}


/* order-pad1: /contact/ #book  -  office no longer below book after related-move1.
   Bottom pad = standard --sec-pad-y only (88 / 80 / 64). No angle-depth.
   Never angle the fx-band. Do not touch services / cities / subs. */
html body[data-svc=contact] section#book.sec.fin.bk:not(#_):is(#book#book,#book#book *){
  padding-bottom:var(--sec-pad-y)!important;
}
@media(max-width:699px){
html body[data-svc=contact] section#book.sec.fin.bk:not(#_):is(#book#book,#book#book *){
  padding-bottom:var(--sec-pad-y)!important;
}
}


/* reviews-angle1: make #reviews.cut-l wedge VISIBLE (inc-reviews had reverted ::after).
   Shared --angle-depth / --angle-clip-l. background:inherit keeps light/dark.
   Never angle the fx-band. Neighbor before #reviews.cut-l gets angle-aware bottom pad. */
html body #reviews.cut-l,
html body section#reviews.cut-l{
  position:relative!important;
  overflow:visible!important;
}
html body #reviews.cut-l::after,
html body section#reviews.cut-l::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(-1 * var(--angle-depth) + 1px)!important;
  height:var(--angle-depth)!important;
  width:auto!important;
  background:inherit!important;
  background-image:none!important;
  border:0!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  z-index:1!important;
  clip-path:var(--angle-clip-l)!important;
  -webkit-clip-path:var(--angle-clip-l)!important;
  pointer-events:none!important;
}
/* Neighbor above angled #reviews clears the slant */
html body main > .sec:has(+ #reviews.cut-l),
html body main > .sec:has(+ script + #reviews.cut-l),
html body main > section.sec:has(+ #reviews.cut-l),
html body main > section.sec:has(+ script + #reviews.cut-l),
html body #brands:has(+ #reviews.cut-l),
html body #brands.brx:has(+ #reviews.cut-l),
html body #area:has(+ #reviews.cut-l),
html body #find-help:has(+ #reviews.cut-l){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}


/* rebates-h1-break1: /rebates/ hero H1  -  three lines at >=1440 only.
   Florida HVAC / & Home Rebates / for Tampa Bay. Keep font-size. em Rebates stays yellow.
   br.rb1 hidden below 1440 so mobile/tablet wrap naturally. Never angle the fx-band. */
br.rb1{display:none}
@media(min-width:1440px){
html body[data-svc=reb] section.hero.ab-hero h1 br.rb1,
html body[data-svc=reb] .hero h1 br.rb1{
  display:inline!important;
}
}


/* home-h1-lh1: Home only  -  hero H1 line-height 1.1 at mobile (max-width 699px).
   Keep font-size. Do not touch inner .ab-hero (hero-h1-size1). Never angle fx-band. */
@media(max-width:699px){
html body:not(.inner):not([data-svc]) main section.hero:not(.ab-hero) h1:not(#_),
html body:not(.inner):not([data-svc]) main > section.hero h1:not(#_){
  line-height:1.1!important;
}
}


/* faq-angle-top1: move Home FAQ angle from bottom→top via shared tokens.
   Markup: FQT="D cut-l" (wedge ::after); RLT drops cut-r so FAQ bottom is flat.
   Angled edge (FAQ top) = sec-pad + angle-depth; flat edge (FAQ bottom) = sec-pad.
   Neighbor #how above FAQ.cut-l gets sec-pad + angle-depth bottom (clears slant).
   Never angle the fx-band. Home only (sole page with FAQ bottom cut). */
html body #faq.sec.cut-l,
html body section#faq.sec.cut-l,
html body main > #faq.cut-l{
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  padding-bottom:var(--sec-pad-y)!important;
}
html body main > #how.sec:has(+ #faq.cut-l),
html body main > #how.sec:has(+ script + #faq.cut-l),
html body main > section#how.sec:has(+ #faq.cut-l),
html body main > section#how.sec:has(+ script + #faq.cut-l){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* hero-rhythm1: one Home spacing scale on every .ab-hero / .svc-hero (H2/H4).
   Overrides r2 ab-hero crush (2px gaps) and svc-t1 mobile trust column icons.
   Does not change Home (bare .hero without .ab-hero). Does not change H1 font-size (H5 / verify). */
/* Desktop + tablet (≥700): Home margins */
@media (min-width:700px){
html body main section.hero.ab-hero .brandline:not(#_):not(#_),
html body main section.hero.svc-hero .brandline:not(#_):not(#_){
  margin:22px 0 0!important;
}
html body main section.hero.ab-hero h1:not(#_):not(#_),
html body main section.hero.svc-hero h1:not(#_):not(#_){
  margin:10px 0 16px!important;
}
html body main section.hero.ab-hero .lead:not(#_):not(#_),
html body main section.hero.svc-hero .lead:not(#_):not(#_){
  margin:18px 0!important;
}
html body main section.hero.ab-hero .ctas:not(#_):not(#_),
html body main section.hero.ab-hero #hero-ctas:not(#_):not(#_),
html body main section.hero.svc-hero .ctas:not(#_):not(#_),
html body main section.hero.svc-hero #hero-ctas:not(#_):not(#_){
  margin:24px 0 18px!important;
}
html body main section.hero.ab-hero .trust:not(#_):not(#_),
html body main section.hero.ab-hero .trust.h1-chips:not(#_):not(#_),
html body main section.hero.svc-hero .trust:not(#_):not(#_),
html body main section.hero.svc-hero .trust.h1-chips:not(#_):not(#_){
  margin:6px 0 0!important;
}
}
/* Phone (<700): Home margins + space under bullets */
@media (max-width:699px){
html body main section.hero.ab-hero .brandline:not(#_):not(#_),
html body main section.hero.svc-hero .brandline:not(#_):not(#_){
  margin:16px 0 0!important;
}
html body main section.hero.ab-hero h1:not(#_):not(#_),
html body main section.hero.svc-hero h1:not(#_):not(#_){
  margin:8px 0 4px!important;
}
html body main section.hero.ab-hero .lead:not(#_):not(#_),
html body main section.hero.svc-hero .lead:not(#_):not(#_){
  margin:0 0 4px!important;
}
html body main section.hero.ab-hero .ctas:not(#_):not(#_),
html body main section.hero.ab-hero #hero-ctas:not(#_):not(#_),
html body main section.hero.svc-hero .ctas:not(#_):not(#_),
html body main section.hero.svc-hero #hero-ctas:not(#_):not(#_){
  margin:16px 0 14px!important;
}
html body main section.hero.ab-hero .trust:not(#_):not(#_),
html body main section.hero.ab-hero .trust.h1-chips:not(#_):not(#_),
html body main section.hero.svc-hero .trust:not(#_):not(#_),
html body main section.hero.svc-hero .trust.h1-chips:not(#_):not(#_){
  margin:6px 0 16px!important; /* H4: space under the three bullets */
}
/* H4 hub bullets: icon + text inline (not icon above text) */
html body.t-svc1.t-svc1 .svc-hero ul.trust:not(#_):not(#_),
html body.t-hub1.t-hub1 .svc-hero ul.trust:not(#_):not(#_){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}
html body.t-svc1.t-svc1 .svc-hero ul.trust li:not(#_):not(#_),
html body.t-hub1.t-hub1 .svc-hero ul.trust li:not(#_):not(#_){
  flex-direction:row!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  gap:6px!important;
  white-space:normal!important;
}
html body.t-svc1.t-svc1 .svc-hero ul.trust li i:not(#_):not(#_),
html body.t-hub1.t-hub1 .svc-hero ul.trust li i:not(#_):not(#_){
  margin:0!important;
  flex:none!important;
}
}

/* hero-qa1: shared hero gap tokens (H2/H3).
   pills→eyebrow (--hero-gap-pills-eb): 28 / 24 / 20 at 1440 / 768 / 390
   breadcrumb→pills (--hero-gap-bc-pills): 20 / 16 / 14
   Applied to every .hero (Home bare + .ab-hero / .svc-hero). */
html body main section.hero{
  --hero-gap-pills-eb:28px;
  --hero-gap-bc-pills:20px;
}
@media (max-width:1099px){
html body main section.hero{
  --hero-gap-pills-eb:24px;
  --hero-gap-bc-pills:16px;
}
}
@media (max-width:699px){
html body main section.hero{
  --hero-gap-pills-eb:20px;
  --hero-gap-bc-pills:14px;
}
}
/* pills → eyebrow = brandline margin-top (after .tpair) */
html body main section.hero .brandline:not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .brandline:not(#_):not(#_):not(#_),
html body main section.hero.svc-hero .brandline:not(#_):not(#_):not(#_){
  margin:var(--hero-gap-pills-eb) 0 0!important; /* clears r2 ab-hero crush mb */
}
/* breadcrumb → pills = .tpair margin-top when a .bc precedes it */
html body main section.hero .hc > nav.bc + .tpair:not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .hc > nav.bc + .tpair:not(#_):not(#_):not(#_),
html body main section.hero.svc-hero .hc > nav.bc + .tpair:not(#_):not(#_):not(#_){
  margin:var(--hero-gap-bc-pills) 0 0!important; /* clears r2 ab-hero mb:6 */
  max-height:none!important;
  overflow:visible!important;
  transform:none!important;
}


/* alt-fix2: fx-band slim 28px pad, flat always */
/* Bang Q3: fx-band (24/7 yellow band) inner padding slim 28px top/bottom at every width.
   Replaces standard --sec-pad-y (88/80/64). Band stays flat  -  never angled. */
html body .fx-w.fx-bandin,
html body .fx-bandin{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
@media (max-width:900px){
  html body .fx-w.fx-bandin,
  html body .fx-bandin{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
}
/* Keep fx-band flat (no clip-path / angle) */
html body .fx-band{
  clip-path:none!important;
  -webkit-clip-path:none!important;
}
html body .fx-band::before,
html body .fx-band::after{
  content:none!important;
  display:none!important;
}


/* alt-fix2: book eyebrow center + inner hero flat */
/* Center "Have questions?" eyebrow + triple stripes with the book column */
html body #book .fct > p.eb2:not(#_):not(#_){
  display:flex!important;
  justify-content:center!important;
  width:100%;
}
/* Standing rule: hero angled ONLY on Home. Inner pages flat at every width.
   Stat card overlap + mascot feet keep seating on the flat bottom edge. */
html body.inner .hero::after{
  content:none!important;
  clip-path:none!important;
  height:0!important;
  display:none!important;
}

/* ===== struct1c: dual-edge parallel angles (Bang 07:14/07:21; fix 07:56/07:59) =====
   ONLY Reviews / Special Offers / How it works use .cut-l (plus Home hero).
   Both edges slant, parallel, rising to the right, depth 80/56/40, edge-to-edge.
   Negative margin overlap so dark neighbours paint through clipped corners (visible slant).
   Never angle: Brands, financing, inner heroes, #emergency, #after-hours, .fx-band, #faq, #club, #rel, #book. */
:root{
  --angle-clip-para:polygon(0 var(--angle-depth),100% 0,100% calc(100% - var(--angle-depth)),0 100%);
  --angle-clip-hero-bot:polygon(0 0,100% 0,100% calc(100% - var(--angle-depth)),0 100%);
}
/* Dual-edge geometry on allowed angled lights */
html body #reviews.cut-l,
html body section#reviews.cut-l,
html body #offers.cut-l,
html body section#offers.cut-l,
html body #how.cut-l,
html body section#how.cut-l,
html body .svc-how.cut-l,
html body section.svc-how.cut-l,
html body .sec.cut-l.ang,
html body main > .sec.L.cut-l:is(#reviews,#offers,#how,.svc-how){
  position:relative!important;
  z-index:2!important;
  clip-path:var(--angle-clip-para)!important;
  -webkit-clip-path:var(--angle-clip-para)!important;
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  overflow:visible!important;
  margin-top:calc(-1 * var(--angle-depth))!important;
  margin-bottom:calc(-1 * var(--angle-depth))!important;
  border-top-width:0!important;
}
/* Kill legacy single-edge ::after wedges on allowed angled blocks (cut-l and leftover cut-r) */
html body #reviews.cut-l::after,
html body #offers.cut-l::after,
html body #offers.cut-r::after,
html body #how.cut-l::after,
html body .svc-how.cut-l::after,
html body section#reviews.cut-l::after,
html body section#offers.cut-l::after,
html body section#offers.cut-r::after,
html body section#how.cut-l::after,
html body #offers-plumbing::after,
html body #offers-electrical::after{
  content:none!important;
  display:none!important;
  height:0!important;
}
/* Neighbour darks: extra pad so content clears the parallelogram corners */
html body main > .sec:has(+ #reviews.cut-l),
html body main > .sec:has(+ script + #reviews.cut-l),
html body main > .sec:has(+ #offers.cut-l),
html body main > .sec:has(+ script + #offers.cut-l),
html body main > .sec:has(+ #how.cut-l),
html body main > .sec:has(+ .svc-how.cut-l),
html body main > section.sec:has(+ #reviews.cut-l),
html body main > section.sec:has(+ script + #reviews.cut-l),
html body main > section.sec:has(+ #offers.cut-l),
html body main > section.sec:has(+ #how.cut-l),
html body main > section.sec:has(+ .svc-how.cut-l),
html body #brands:has(+ #reviews.cut-l),
html body #work:has(+ #offers.cut-l),
html body #emergency:has(+ #how.cut-l),
html body #club:has(+ #how.cut-l),
html body #financing:has(+ #offers.cut-l),
html body #financing:has(+ script + #offers.cut-l){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}
html body #reviews.cut-l + .sec,
html body #reviews.cut-l + script + .sec,
html body #offers.cut-l + .sec,
html body #offers.cut-l + script + .sec,
html body #how.cut-l + .sec,
html body #how.cut-l + script + .sec,
html body .svc-how.cut-l + .sec{
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}
/* Home hero: bottom edge only, rise-right, full depth edge-to-edge (A1/A3/A4) */
html body:not(.inner) main > .hero:not(.ab-hero),
html body:not(.inner) .hero:not(.ab-hero){
  clip-path:var(--angle-clip-hero-bot)!important;
  -webkit-clip-path:var(--angle-clip-hero-bot)!important;
  margin-bottom:calc(-1 * var(--angle-depth))!important;
  position:relative!important;
  z-index:2!important;
}
html body:not(.inner) main > .hero:not(.ab-hero)::after,
html body:not(.inner) .hero:not(.ab-hero)::after{
  content:none!important;
  display:none!important;
  height:0!important;
  clip-path:none!important;
}
html body:not(.inner) main > .hero:not(.ab-hero) + .sec,
html body:not(.inner) .hero:not(.ab-hero) + .sec{
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}
/* Flatten Brands (illegal angle) */
html body #brands,
html body #brands.brx,
html body #brands.cut-l,
html body .brx.cut-l{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  border-top-width:0!important;
  --w:0px!important;
}
html body #brands::after,
html body #brands.cut-l::after,
html body .brx.cut-l::after,
html body .brx::after{
  content:none!important;
  display:none!important;
  height:0!important;
}
/* /services/ EGIA financing: real dark tone, flat (no cream, no slant) */
html body #financing,
html body #financing.sec,
html body #financing.g5-facts,
html body.g5 #financing,
html body.g5 #financing.g5-facts{
  background:#00053E!important;
  background-image:none!important;
  color:#fff!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-top-width:0!important;
  border-bottom:0!important;
}
html body #financing::after,
html body #financing.g5-facts::after{
  content:none!important;display:none!important;height:0!important;
}
html body #financing dt,
html body #financing .fg dt{color:rgba(255,255,255,.7)!important}
html body #financing dd,
html body #financing .fg dd{color:#fff!important}
html body #financing a,
html body #financing .pp a{color:#FED14D!important}
/* Flatten everything that must NOT be angled */
html body #emergency,
html body #emergency.cut-l,
html body #emergency.night,
html body #emergency.night.cut-l,
html body section#emergency{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-top-width:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  --w:0px!important;
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}
html body #emergency::after,
html body #emergency.cut-l::after{
  content:none!important;display:none!important;height:0!important;
}
html body #faq.cut-l,
html body section#faq.cut-l,
html body #faq.sec.cut-l,
html body #after-hours,
html body #after-hours.cut-l,
html body #club.cut-l,
html body #rel.cut-l,
html body #book.cut-l,
html body .fx-band,
html body .fx-band.cut-l,
html body #industries,
html body #maint,
html body #offers-plumbing,
html body #offers-electrical,
html body #offers-plumbing.cut-r,
html body #offers-electrical.cut-r,
html body #offers-plumbing.cut-l,
html body #offers-electrical.cut-l{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-top-width:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}
html body #faq.cut-l::after,
html body #after-hours::after,
html body #offers-plumbing::after,
html body #offers-electrical::after,
html body .night.cut-l:not(#reviews):not(#offers):not(#how)::after{
  content:none!important;display:none!important;height:0!important;
}
/* Page-specific leftover cut-l/cut-r (repair, why, towns, office, compare, etc.): flat */
html body #repair-or-replace.cut-l,
html body #older-homes.cut-l,
html body #safety.cut-l,
html body .h1-why.cut-r,
html body .h1-why.cut-l,
html body #towns.cut-l,
html body #office.cut-l,
html body #compare.cut-l,
html body #install-day.cut-l,
html body #change-out.cut-l,
html body #promise.cut-l,
html body #credentials.cut-l,
html body #verify.cut-l,
html body .pa.cut-l:not(#reviews):not(#offers):not(#how),
html body .sec.cut-r:not(#reviews):not(#offers):not(#how){
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-top-width:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
html body #repair-or-replace.cut-l::after,
html body #older-homes.cut-l::after,
html body .h1-why.cut-r::after,
html body .h1-why.cut-l::after,
html body #towns.cut-l::after,
html body #office.cut-l::after,
html body #compare.cut-l::after,
html body #install-day.cut-l::after,
html body #change-out.cut-l::after,
html body #promise.cut-l::after,
html body #credentials.cut-l::after,
html body #verify.cut-l::after,
html body .sec.cut-r:not(#offers)::after{
  content:none!important;display:none!important;height:0!important;
}
/* fx-band stays slim 28px flat (alt-fix2) */
html body .fx-band .fx-bandin,
html body .fx-bandin{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
/* ===== /struct1c ===== */

/* struct1: Book form  -  no triple-stripe before HAVE QUESTIONS? (Bang 07:27). Text stays centred. */
html body #book .fct > p.eb2::before,
html body #book p.eb2::before,
html body #book .eb2::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  margin:0!important;
  padding:0!important;
}


/* ===== pad1: angled inner pad = T1 + T3 (Bang 08:23); FAQ flat seam; shared only =====
   A10: Reviews / Offers / How / Home hero bottom → pad on each slanted edge = sec-pad-y + angle-depth
        (168/136/104). Beat bundle #id#id overrides with higher specificity.
   A11: How above FAQ → top-only slant, flat bottom, no negative margin into FAQ.
   Flat sections: at least --sec-pad-y; FAQ / Club / rel / flat heroes normalized.
   HOLD .sth-HOLD-club kept; slider.js untouched. */
:root{--angle-clip-top-only:polygon(0 var(--angle-depth),100% 0,100% 100%,0 100%)}

/* A10  -  Reviews + Offers (beat html body #id.sec:is(#id#id) in bundle) */
html body:is(.zz,*) section#reviews.sec.cut-l:not(#_):not(#_):is(#reviews#reviews,#reviews#reviews *),
html body:is(.zz,*) #reviews.sec.cut-l:not(#_):not(#_):is(#reviews#reviews,#reviews#reviews *),
html body:is(.zz,*) section#offers.sec.cut-l:not(#_):not(#_):is(#offers#offers,#offers#offers *),
html body:is(.zz,*) #offers.sec.cut-l:not(#_):not(#_):is(#offers#offers,#offers#offers *),
html body:is(.zz,*) section#how.sec.cut-l:not(#_):not(#_),
html body:is(.zz,*) #how.sec.cut-l:not(#_):not(#_),
html body:is(.zz,*) section.svc-how.cut-l:not(#_):not(#_),
html body:is(.zz,*) .svc-how.cut-l:not(#_):not(#_){
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* A10  -  Home hero bottom only (top stays flat / H11) */
html body:not(.inner):is(.zz,*) main > .hero:not(.ab-hero):not(#_):not(#_),
html body:not(.inner):is(.zz,*) .hero:not(.ab-hero):not(#_):not(#_){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* A11  -  How before FAQ: top-only slant, flat bottom, no overlap into FAQ */
html body:is(.zz,*) #how.cut-l:has(+ #faq):not(#_):not(#_),
html body:is(.zz,*) #how.cut-l:has(+ script + #faq):not(#_):not(#_),
html body:is(.zz,*) section#how.cut-l:has(+ #faq):not(#_):not(#_),
html body:is(.zz,*) section#how.cut-l:has(+ script + #faq):not(#_):not(#_),
html body:is(.zz,*) .svc-how.cut-l:has(+ #faq):not(#_):not(#_),
html body:is(.zz,*) .svc-how.cut-l:has(+ script + #faq):not(#_):not(#_){
  clip-path:var(--angle-clip-top-only)!important;
  -webkit-clip-path:var(--angle-clip-top-only)!important;
  margin-bottom:0!important;
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  padding-bottom:var(--sec-pad-y)!important;
}

/* A5/A11  -  FAQ always flat; T1 pad; never inherit neighbour angle pad as a slant */
html body:is(.zz,*) #faq.sec:not(#_):not(#_),
html body:is(.zz,*) section#faq.sec:not(#_):not(#_),
html body:is(.zz,*) #faq:not(#_):not(#_),
html body:is(.zz,*) #faq.cut-l:not(#_):not(#_),
html body:is(.zz,*) section#faq.cut-l:not(#_):not(#_){
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-top-width:0!important;
  --w:0px!important;
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}
html body:is(.zz,*) #faq::after,
html body:is(.zz,*) #faq.sec::after,
html body:is(.zz,*) #faq.cut-l::after,
html body:is(.zz,*) section#faq::after{
  content:none!important;display:none!important;height:0!important;
}
/* FAQ before Reviews: clearance for Reviews top slant (A8) */
html body:is(.zz,*) #faq.sec:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #faq.sec:has(+ script + #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) section#faq:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) section#faq:has(+ script + #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #faq:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #faq:has(+ script + #reviews.cut-l):not(#_):not(#_){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* Club section: T1 pad  -  beat bundle html body:is(.zz,*) main > #club.cd8.sec:is(#club#club) @44 */
html body:is(.zz,*) main > #club.cd8.sec:not(#_):not(#_):not(.hero):not(.fin):is(#club#club,#club#club *),
html body:is(.zz,*) main > section#club.cd8.sec:not(#_):not(#_):not(.hero):not(.fin):is(#club#club,#club#club *),
html body:is(.zz,*) #club.cd8.sec.hub-club:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #club.sec.hub-club:not(#_):not(#_):is(#club#club,#club#club *){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}
/* Club before How: clearance */
html body:is(.zz,*) main > #club.cd8.sec:has(+ #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) main > #club.cd8.sec:has(+ script + #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #club:has(+ #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* Keep exploring: beat 6x #rel#rel bundle override */
html body:is(.zz,*) main > #rel.sec:not(#_):not(#_):not(.hero):not(.fin):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > section#rel.sec.prel:not(#_):not(#_):not(.hero):not(.fin):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:calc(var(--sec-pad-y) + 16px)!important;
}

/* Inner / hub heroes (flat, H11): floor bottom pad at T1 without crushing larger glance clearance */
html body.inner:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.inner:is(.zz,*) main > section.hero.ab-hero:has(+ .glw):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.inner:is(.zz,*) main > section.hero.ab-hero:has(+ .glw.fx):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) .svc-hero:not(#_):not(#_):not(#_):not(#_){
  padding-bottom:max(var(--sec-pad-y), 88px)!important;
}
@media (max-width:899px){
html body.inner:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.inner:is(.zz,*) main > section.hero.ab-hero:has(+ .glw.fx):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) .svc-hero:not(#_):not(#_):not(#_):not(#_){
  padding-bottom:max(var(--sec-pad-y), 80px)!important;
}
}
@media (max-width:699px){
html body.inner:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) main > section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.inner:is(.zz,*) main > section.hero.ab-hero:has(+ .glw.fx):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc1:is(.zz,*) .svc-hero:not(#_):not(#_):not(#_):not(#_){
  padding-bottom:max(var(--sec-pad-y), 64px)!important;
}
}

/* /services/ financing + how-offers flat pads; specials how-offers */
html body:is(.zz,*) #how-offers:not(#_):not(#_),
html body:is(.zz,*) section#how-offers:not(#_):not(#_){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}

/* Kill leftover faq-angle-top1 assumptions (markup is FQT=D flat) */
html body #faq.sec.cut-l,
html body section#faq.sec.cut-l,
html body main > #faq.cut-l{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}

/* Our services: ensure T1 as a proper padded block */
html body:is(.zz,*) #services.sec:not(#_):not(#_),
html body:is(.zz,*) section#services.sec:not(#_):not(#_){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:var(--sec-pad-y)!important;
}
/* ===== /pad1 ===== */


/* ===== pad1c: remaining flat-block content gaps (shared) ===== */
html body:is(.zz,*) main > section[id^="cat-"].sec:not(#_):not(#_):not(.hero):not(.fin),
html body:is(.zz,*) main > #how-offers.sec:not(#_):not(#_):not(.hero):not(.fin),
html body:is(.zz,*) main > #club-visit.sec:not(#_):not(#_):not(.hero):not(.fin),
html body:is(.zz,*) main > #fin-faq.sec:not(#_):not(#_):not(.hero):not(.fin){
  padding-bottom:calc(var(--sec-pad-y) + 48px)!important;
}
html body.inner:is(.zz,*) main > #services.sec:not(#_):not(#_):not(.hero):not(.fin){
  padding-bottom:calc(var(--sec-pad-y) + 48px)!important;
}
/* FAQ content gap: base +24; before Reviews add depth +24 */
html body:is(.zz,*) #faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) section#faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *){
  padding-top:var(--sec-pad-y)!important;
  padding-bottom:calc(var(--sec-pad-y) + 24px)!important;
}
html body:is(.zz,*) #faq.sec:has(+ #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) #faq.sec:has(+ script + #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) section#faq:has(+ #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) section#faq:has(+ script + #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth) + 24px)!important;
}
/* ===== /pad1c ===== */


/* ===== pad1d: slant paint + neighbour T1+T3 + fx-band outer (Bang 09:07 pad1) =====
   Root cause: #club z-index:5 (inc-club HOLD) paints over angled z:2 bottom parallelogram.
   Club pad1 T1-only rule beats struct1c neighbour T1+T3. Flatten list puts sec-pad-y on .fx-band
   OUTSIDE the 28px .fx-bandin (double pad). Fix in shared nav1 only; do not edit inc-club. */
/* 1) Angled lights above dark neighbours so both parallelogram edges stay visible */
html body #reviews.cut-l,
html body section#reviews.cut-l,
html body #offers.cut-l,
html body section#offers.cut-l,
html body #how.cut-l,
html body section#how.cut-l,
html body .svc-how.cut-l,
html body section.svc-how.cut-l,
html body main > .sec.L.cut-l:is(#reviews,#offers,#how,.svc-how),
html body:is(.zz,*) section#reviews.sec.cut-l:not(#_):not(#_):is(#reviews#reviews,#reviews#reviews *),
html body:is(.zz,*) #reviews.sec.cut-l:not(#_):not(#_):is(#reviews#reviews,#reviews#reviews *),
html body:is(.zz,*) section#offers.sec.cut-l:not(#_):not(#_):is(#offers#offers,#offers#offers *),
html body:is(.zz,*) #offers.sec.cut-l:not(#_):not(#_):is(#offers#offers,#offers#offers *),
html body:is(.zz,*) section#how.sec.cut-l:not(#_):not(#_),
html body:is(.zz,*) #how.sec.cut-l:not(#_):not(#_),
html body:is(.zz,*) .svc-how.cut-l:not(#_):not(#_){
  z-index:6!important;
}
/* Home hero bottom slant above following section */
html body:not(.inner) main > .hero:not(.ab-hero),
html body:not(.inner) .hero:not(.ab-hero){
  z-index:6!important;
}

/* 2) Neighbour AFTER angled: pad-top = T1+T3, stay under angled paint */
html body:is(.zz,*) #reviews.cut-l + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #reviews.cut-l + script + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #offers.cut-l + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #offers.cut-l + script + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #how.cut-l + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #how.cut-l + script + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) .svc-how.cut-l + #club.cd8.sec:not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) main > #club.cd8.sec:not(#_):not(#_):not(.hero):not(.fin):is(#club#club):has(+ #how.cut-l),
html body #reviews.cut-l + .sec,
html body #reviews.cut-l + script + .sec,
html body #offers.cut-l + .sec,
html body #offers.cut-l + script + .sec,
html body #how.cut-l + .sec,
html body #how.cut-l + script + .sec,
html body .svc-how.cut-l + .sec{
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  z-index:1!important;
}

/* 3) Neighbour BEFORE angled: pad-bottom = T1+T3 (beat later T1-only flat rules) */
html body:is(.zz,*) main > .sec:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ script + #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ #offers.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ script + #offers.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ #how.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ script + #how.cut-l):not(#_):not(#_),
html body:is(.zz,*) main > .sec:has(+ .svc-how.cut-l):not(#_):not(#_),
html body:is(.zz,*) #jobs.sec:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #jobs.sec:has(+ script + #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #work.sec:has(+ #offers.cut-l):not(#_):not(#_),
html body:is(.zz,*) #financing.sec:has(+ #offers.cut-l):not(#_):not(#_),
html body:is(.zz,*) #financing.sec:has(+ script + #offers.cut-l):not(#_):not(#_),
html body:is(.zz,*) #brands:has(+ #reviews.cut-l):not(#_):not(#_),
html body:is(.zz,*) #emergency:has(+ #how.cut-l):not(#_):not(#_),
html body:is(.zz,*) #faq.sec:has(+ #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) #faq.sec:has(+ script + #reviews.cut-l):not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) main > #club.cd8.sec:has(+ #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) main > #club.cd8.sec:has(+ script + #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *),
html body:is(.zz,*) #club:has(+ #how.cut-l):not(#_):not(#_):is(#club#club,#club#club *){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}

/* 4) fx-band: outer shell pad 0 (flatten had wrongly applied sec-pad-y); inner stays FX2 28px; yellow stays */
html body .fx-band,
html body .fx-band.cut-l{
  padding-top:0!important;
  padding-bottom:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  background:var(--y)!important;
}
html body .fx-band .fx-bandin,
html body .fx-w.fx-bandin,
html body .fx-bandin{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
/* ===== /pad1d ===== */


/* ===== pad1e: neighbour T1+T3 must beat html body main > .sec:not(#book) (spec 1,1,3) =====
   pad1d `#offers.cut-l + .sec` was (1,1,2) and lost. Raise with main > #id.cut-l + .sec:not(#book). */
html body main > #reviews.cut-l + .sec:not(#book),
html body main > #reviews.cut-l + script + .sec:not(#book),
html body main > #offers.cut-l + .sec:not(#book),
html body main > #offers.cut-l + script + .sec:not(#book),
html body main > #how.cut-l + .sec:not(#book),
html body main > #how.cut-l + script + .sec:not(#book),
html body main > .svc-how.cut-l + .sec:not(#book),
html body.inner main > #reviews.cut-l + .sec:not(#book),
html body.inner main > #reviews.cut-l + script + .sec:not(#book),
html body.inner main > #offers.cut-l + .sec:not(#book),
html body.inner main > #offers.cut-l + script + .sec:not(#book),
html body.inner main > #how.cut-l + .sec:not(#book),
html body.inner main > #how.cut-l + script + .sec:not(#book),
html body.inner main > .svc-how.cut-l + .sec:not(#book),
html body:not(.inner) main > .hero:not(.ab-hero) + .sec:not(#book),
html body:not(.inner) main > .hero:not(.ab-hero) + script + .sec:not(#book){
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  z-index:1!important;
}
/* Keep exploring after Reviews: beat 6x #rel T1-only pad */
html body:is(.zz,*) main > #reviews.cut-l + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > #reviews.cut-l + script + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > #offers.cut-l + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *){
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}
/* A11: How before FAQ flat seam: FAQ keeps T1 top only (do not force T1+T3) */
html body main > #how.cut-l + #faq.sec:not(#book),
html body main > #how.cut-l + script + #faq.sec:not(#book),
html body.inner main > #how.cut-l + #faq.sec:not(#book),
html body.inner main > #how.cut-l + script + #faq.sec:not(#book),
html body main > .svc-how.cut-l + #faq.sec:not(#book){
  padding-top:var(--sec-pad-y)!important;
}
/* ===== /pad1e ===== */

/* ===== pad1f: neighbour T1+T3 across style/wrap interveners; beat t-svc1 and #area IDs =====
   Gaps left by pad1e: offers→area (style+style), reviews→rel (style), hero→services (.wrap),
   svc-how→jobs lost to html body.t-svc1.t-svc1 (1,5,3). */
html body:is(.zz,*) main > #offers.cut-l + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + style + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + script + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + style + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #reviews.cut-l + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #reviews.cut-l + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #reviews.cut-l + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #reviews.cut-l + style + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #reviews.cut-l + script + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #how.cut-l + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #how.cut-l + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #how.cut-l + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > .svc-how.cut-l + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > .svc-how.cut-l + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > .svc-how.cut-l + style + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + .wrap + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + script + .sec:not(#_):not(#_):is(.sec.sec.sec,.sec.sec.sec *),
html body:is(.zz,*) main > #offers.cut-l + #area.sec:not(#_):not(#_):is(#area#area#area,#area#area#area *),
html body:is(.zz,*) main > #offers.cut-l + style + #area.sec:not(#_):not(#_):is(#area#area#area,#area#area#area *),
html body:is(.zz,*) main > #offers.cut-l + style + style + #area.sec:not(#_):not(#_):is(#area#area#area,#area#area#area *),
html body:is(.zz,*) main > #offers.cut-l + script + style + #area.sec:not(#_):not(#_):is(#area#area#area,#area#area#area *),
html body:is(.zz,*) main > .svc-how.cut-l + #jobs.sec:not(#_):not(#_):is(#jobs#jobs#jobs,#jobs#jobs#jobs *),
html body:is(.zz,*) main > #reviews.cut-l + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > #reviews.cut-l + style + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > #reviews.cut-l + script + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*) main > #reviews.cut-l + script + style + #rel.sec:not(#_):not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + .wrap + #services.sec:not(#_):not(#_):is(#services#services#services,#services#services#services *){
  padding-top:calc(var(--sec-pad-y) + var(--angle-depth))!important;
  z-index:1!important;
}
/* A11 keep: How/svc-how before FAQ stays T1 top only (flat seam) */
html body:is(.zz,*) main > #how.cut-l + #faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) main > #how.cut-l + script + #faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) main > #how.cut-l + style + #faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *),
html body:is(.zz,*) main > .svc-how.cut-l + #faq.sec:not(#_):not(#_):is(#faq#faq,#faq#faq *){
  padding-top:var(--sec-pad-y)!important;
}
/* ===== /pad1f ===== */

/* ===== pad1g: hero (ab-hero) BEFORE angled needs T1+T3 bottom; hero lacks .sec so pad1d :has(.sec) missed =====
   financing: hero → #how.cut-l; specials: hero → .wrap → #offers.cut-l.
   Beat ab-hero max(sec-pad-y,88) / fxh rules. */
html body:is(.zz,*) main > .hero:has(+ #how.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero:has(+ .wrap + #how.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero:has(+ #offers.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero:has(+ .wrap + #offers.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero:has(+ #reviews.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero:has(+ .wrap + #reviews.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero.ab-hero:has(+ #how.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero.ab-hero:has(+ .wrap + #how.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero.ab-hero:has(+ #offers.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > .hero.ab-hero:has(+ .wrap + #offers.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > section.hero.ab-hero:has(+ #how.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) main > section.hero.ab-hero:has(+ .wrap + #offers.cut-l):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  padding-bottom:calc(var(--sec-pad-y) + var(--angle-depth))!important;
}
/* ===== /pad1g ===== */

/* ===== glance-fix1: R271 floating cards always fully on top (Bang 09:52/09:56) =====
   Root causes:
   1) Home: pad1d sets .hero:not(.ab-hero) z-index:6 so the angled bottom paints over
      .glw (bundle z-index:5). Service rows hidden; only price pills + counties show.
   2) Specials / Financing: pad1d sets #offers.cut-l / #how.cut-l to z-index:6, same as
      .glw.fx (facts.css z-index:6). Later sibling wins, so the light angled block paints
      over the facts card (only ~30-80px of the yellow top + first label shows).
   Fix: raise every floating glance wrapper above hero (6) and angled next (6). Keep
   pad1d-g slant vs club/services rules intact.
   3) Footer BBB: at <=1399px .fx-brand becomes grid auto/1fr/1fr; .fx-bbb is a grid
      item and stretches to the 1fr column (~340-486px) while the seal stays 200px.
      Size the light bar to the badge. */
html body .glw,
html body .glw.fx,
html body .glw.fx:not(#_),
html body main > .glw,
html body main > .glw.fx,
html body:is(.zz,*) main > .glw:not(#_):not(#_),
html body:is(.zz,*) main > .glw.fx:not(#_):not(#_),
html body:is(.zz,*) .glw:not(#_):not(#_),
html body:is(.zz,*) .glw.fx:not(#_):not(#_){
  position:relative!important;
  z-index:7!important;
}
html body .fx-bbb,
html body a.fx-bbb,
html body .fx-brand > .fx-bbb,
html body:is(.zz,*) .fx-bbb:not(#_):not(#_),
html body:is(.zz,*) a.fx-bbb:not(#_):not(#_){
  justify-self:start!important;
  width:max-content!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
/* ===== /glance-fix1 ===== */

/* ===== glance-fix1: R273 dark-on-dark + R274 tone tokens / repairs light (Bang 10:10/10:11) ===== */

/* Structural tone tokens  -  colours follow section tone class, not per-block hardcodes */
html body .sec.L,
html body .tone-L{
  --tone-card-bg:#fff;
  --tone-card-fg:var(--ink,#00053E);
  --tone-card-muted:rgba(0,5,62,.72);
  --tone-card-border:rgba(0,5,62,.12);
  --tone-card-link:var(--blue,#00468C); /* yellow fails AA on white */
  --tone-card-shadow:0 10px 28px -16px rgba(0,5,62,.22);
}
html body .sec.D,
html body .tone-D{
  --tone-card-bg:rgba(255,255,255,.06);
  --tone-card-fg:#fff;
  --tone-card-muted:rgba(255,255,255,.86);
  --tone-card-border:rgba(255,255,255,.18);
  --tone-card-link:var(--y,#FED14D);
  --tone-card-shadow:0 18px 40px -22px rgba(0,5,62,.55);
}

/* R274  -  shared repairs block (.h1-signs) light restyle for ALL hubs (Plumbing/Electrical/HVAC) */
html body.t-hub1 .sec.L.h1-signs .h4-rep li:not(#_),
html body.t-hub1.t-svc1 .sec.L.h1-signs .h4-rep li:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h4-rep li:not(#_):not(#_){
  background:var(--tone-card-bg)!important;
  color:var(--tone-card-fg)!important;
  border:1px solid var(--tone-card-border)!important;
  box-shadow:var(--tone-card-shadow);
}
html body.t-hub1 .sec.L.h1-signs .h4-rep li:not(#_) b,
html body.t-hub1 .sec.L.h1-signs .h4-rep li:has(q) b,
html body:is(.zz,*) .sec.L.h1-signs .h4-rep li b:not(#_):not(#_){
  color:var(--tone-card-fg)!important; /* was yellow  -  fails AA on white */
}
html body.t-hub1 .sec.L.h1-signs .h4-rep li:not(#_) q,
html body.t-hub1 .sec.L.h1-signs .h4-rep li:not(#_) small,
html body:is(.zz,*) .sec.L.h1-signs .h4-rep li q:not(#_):not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h4-rep li small:not(#_):not(#_){
  color:var(--tone-card-fg)!important;
  opacity:1!important;
}
html body.t-hub1 .sec.L.h1-signs .h4-rep li:not(#_) small,
html body:is(.zz,*) .sec.L.h1-signs .h4-rep li small:not(#_):not(#_){
  color:var(--tone-card-muted)!important;
}

/* "Not sure" heading + cards  -  navy on white */
html body.t-hub1.t-svc1 .sec.L.h1-signs .h1-pk:not(#_):not(#_),
html body.t-hub1 .sec.L.h1-signs .h1-pk:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h1-pk:not(#_):not(#_){
  color:var(--tone-card-fg)!important;
}
html body.t-hub1.t-svc1 .sec.L.h1-signs .h1-pick a:not(#_):not(#_),
html body.t-hub1 .sec.L.h1-signs .h1-pick a:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h1-pick a:not(#_):not(#_){
  background:var(--tone-card-bg)!important;
  color:var(--tone-card-fg)!important;
  border:1px solid var(--tone-card-border)!important;
  box-shadow:var(--tone-card-shadow);
}
html body.t-hub1.t-svc1 .sec.L.h1-signs .h1-pick a span:not(#_):not(#_),
html body.t-hub1 .sec.L.h1-signs .h1-pick a span:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h1-pick a span:not(#_):not(#_){
  color:var(--tone-card-fg)!important;
}
html body.t-hub1.t-svc1 .sec.L.h1-signs .h1-pick b:not(#_):not(#_),
html body.t-hub1 .sec.L.h1-signs .h1-pick b:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h1-pick b:not(#_):not(#_){
  color:var(--tone-card-link)!important; /* blue link, AA on white */
}
html body.t-hub1.t-svc1 .sec.L.h1-signs .h1-pick a:hover:not(#_):not(#_),
html body.t-hub1 .sec.L.h1-signs .h1-pick a:hover:not(#_),
html body:is(.zz,*) .sec.L.h1-signs .h1-pick a:hover:not(#_):not(#_){
  border-color:var(--tone-card-link)!important;
}

/* R274  -  centre orphan "Not sure" second row: flex-wrap + justify-content:center, equal widths, never stretch */
html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_),
html body.t-hub1 .h1-pick ul:not(#_),
html body:is(.zz,*) .h1-pick ul:not(#_):not(#_){
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:12px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:none!important;
}
html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li,
html body.t-hub1 .h1-pick ul:not(#_) > li,
html body:is(.zz,*) .h1-pick ul:not(#_):not(#_) > li,
html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li:nth-child(4),
html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li:nth-child(5){
  flex:0 1 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-column:auto!important;
  box-sizing:border-box!important;
}
@media (min-width:900px){
  html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li,
  html body.t-hub1 .h1-pick ul:not(#_) > li,
  html body:is(.zz,*) .h1-pick ul:not(#_):not(#_) > li,
  html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li:nth-child(4),
  html body.t-hub1.t-svc1 .h1-pick ul:not(#_):not(#_) > li:nth-child(5){
    /* three equal cards per row; orphan row centres via justify-content */
    flex:0 1 calc((100% - 24px) / 3)!important;
    width:calc((100% - 24px) / 3)!important;
    max-width:calc((100% - 24px) / 3)!important;
  }
}

/* R273  -  Plumbing Older homes drag-compare: light card surface/header; keep photo/slider stage */
html body .sec.D figure.gp2,
html body #older-homes figure.gp2,
html body .pa.h1-old figure.gp2,
html body:is(.zz,*) .sec.D figure.gp2:not(#_):not(#_),
html body:is(.zz,*) #older-homes figure.gp2:not(#_):not(#_){
  --gl-bg:#fff;
  --gl-ink:var(--ink,#00053E);
  --gl-eb:var(--ink,#00053E);
  --gl-shadow:0 18px 40px -22px rgba(0,5,62,.28);
  background:#fff!important;
  color:var(--ink,#00053E)!important;
  border:1px solid rgba(0,5,62,.14)!important;
  box-shadow:var(--gl-shadow)!important;
}
html body .sec.D figure.gp2 .gp2-top,
html body #older-homes figure.gp2 .gp2-top,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-top:not(#_):not(#_){
  background:#fff!important;
  color:var(--ink,#00053E)!important;
}
html body .sec.D figure.gp2 .gp2-eyebrow,
html body #older-homes figure.gp2 .gp2-eyebrow,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-eyebrow:not(#_):not(#_){
  color:var(--ink,#00053E)!important;
}
html body .sec.D figure.gp2 .gp2-hint,
html body #older-homes figure.gp2 .gp2-hint,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-hint:not(#_):not(#_){
  color:rgba(0,5,62,.72)!important;
}
html body .sec.D figure.gp2 .gp2-hint svg,
html body #older-homes figure.gp2 .gp2-hint svg,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-hint svg:not(#_):not(#_){
  stroke:rgba(0,5,62,.72)!important;
}
/* photo/slider stage stays dark  -  do not restyle .gp2-stage / .gp2-layer / in-photo heads */

/* ===== /glance-fix1-R273-R274 ===== */

/* ===== glance-fix1: R272 hero rhythm + mascot size; R273 expand ge2/gl-ac (Bang 10:08-10:10) ===== */

/* Shared hero gap tokens from Home (≥768 core pairs already matched; fill remaining) */
html body .hero,
html body:is(.zz,*) .hero:not(#_):not(#_){
  --hero-gap-eb-h1:10px;
  --hero-gap-h1-sub:18px;
  --hero-gap-sub-btns:24px;
  --hero-gap-btns-bul:18px;
  --hero-gap-bul-gl:80px; /* resting bottom → glance; pages may grow with content */
  --sth-msz: clamp(120px, 11vw, 160px); /* Home .hrun width */
  --hero-h1-lh:1;
}
@media (max-width:699px){
  html body .hero,
  html body:is(.zz,*) .hero:not(#_):not(#_){
    --hero-gap-eb-h1:8px;
    --hero-gap-h1-sub:8px;
    --hero-gap-sub-btns:24px;
    --hero-gap-btns-bul:24px;
    --hero-gap-bul-gl:80px;
    --sth-msz:96px;
  }
}
@media (min-width:700px) and (max-width:1199px){
  html body .hero,
  html body:is(.zz,*) .hero:not(#_):not(#_){
    --sth-msz: clamp(124px, 13vw, 150px);
  }
}

/* Apply rhythm on all heroes (kill per-page margin overrides) */
html body .hero .brandline:not(#_),
html body .hero.ab-hero .brandline:not(#_),
html body .hero.svc-hero .brandline:not(#_),
html body:is(.zz,*) .hero .brandline:not(#_):not(#_){
  margin: var(--hero-gap-pills-eb,28px) 0 0 !important;
}
html body .hero h1:not(#_),
html body .hero.ab-hero h1:not(#_),
html body .hero.svc-hero h1:not(#_),
html body:is(.zz,*) .hero h1:not(#_):not(#_){
  margin-top: var(--hero-gap-eb-h1) !important;
  margin-bottom: 0 !important;
  line-height: var(--hero-h1-lh) !important;
}
html body .hero h1 + .lead:not(#_),
html body .hero .lead:not(#_),
html body .hero.ab-hero .lead:not(#_),
html body:is(.zz,*) .hero .lead:not(#_):not(#_){
  margin-top: var(--hero-gap-h1-sub) !important;
  margin-bottom: 0 !important;
}
html body .hero .ctas:not(#_),
html body .hero.ab-hero .ctas:not(#_),
html body:is(.zz,*) .hero .ctas:not(#_):not(#_){
  margin-top: var(--hero-gap-sub-btns) !important;
  margin-bottom: 0 !important;
}
html body .hero ul.trust:not(#_),
html body .hero.ab-hero ul.trust:not(#_),
html body:is(.zz,*) .hero ul.trust:not(#_):not(#_){
  margin-top: var(--hero-gap-btns-bul) !important;
}

/* Shared mascot size = Home resting .hrun width (Δ≤2px target) */
html body .hero .hrun:not(#_),
html body:is(.zz,*) .hero .hrun:not(#_):not(#_){
  width: var(--sth-msz) !important;
}
html body .hero .ab-hrob:not(#_),
html body .hero .svc-hrob:not(#_),
html body .hero.ab-hero .ab-hrob:not(#_),
html body .hero.svc-hero .svc-hrob:not(#_),
html body:is(.zz,*) .hero .ab-hrob:not(#_):not(#_),
html body:is(.zz,*) .hero .svc-hrob:not(#_):not(#_){
  width: var(--sth-msz) !important;
  max-width: var(--sth-msz) !important;
  height: auto !important;
}
html body .hero .ab-hrob img:not(#_),
html body .hero .svc-hrob img:not(#_),
html body .hero .ab-hrob .still:not(#_),
html body:is(.zz,*) .hero .ab-hrob img:not(#_):not(#_){
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* ===== /glance-fix1-R272 ===== */

/* ===== sth-regfix1: revert R273 expand on .ge2/.gl-ac (Bang 10:45 + 10:59 HVAC) ===== */
/* Pre-glance ge2/gl-ac were dark chrome that already read on .sec.D  -  revert exactly.
   Do NOT leave light surface with dark-theme pale blues/yellows/white labels.
   gp2 R273 light surface (with ink recolour) + R274 .h1-signs kept. */
html body .sec.D .ge2:not(#_):not(#_),
html body .sec.D .gl-ac:not(#_):not(#_),
html body:is(.zz,*) .sec.D .ge2:not(#_):not(#_):not(#_),
html body:is(.zz,*) .sec.D .gl-ac:not(#_):not(#_):not(#_){
  --gl-bg:#00053E !important;
  --gl-ink:#fff !important;
  --gl-eb:#FED14D !important;
  --gl-shadow:0 18px 40px -22px rgba(0,0,0,.45) !important;
  background:#00053E !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 18px 40px -22px rgba(0,0,0,.45) !important;
}
html body .sec.D .ge2 .ge2-eyebrow:not(#_):not(#_),
html body .sec.D .gl-ac .gl-eyebrow:not(#_):not(#_),
html body .sec.D .ge2 [class*="eyebrow"]:not(#_):not(#_),
html body .sec.D .gl-ac [class*="eyebrow"]:not(#_):not(#_){
  color:#FED14D !important;
}
html body .sec.D .ge2 .ge2-hint:not(#_):not(#_),
html body .sec.D .gl-ac .gl-hint:not(#_):not(#_),
html body .sec.D .ge2 [class*="hint"]:not(#_):not(#_),
html body .sec.D .gl-ac [class*="hint"]:not(#_):not(#_){
  color:rgba(255,255,255,.72) !important;
}
/* ===== /sth-regfix1 ===== */

/* ===== sth-glance-fix1b: ge2 rail always-readable + card edge; Past12 nowrap (Bang 11:18) ===== */
/* Armed state used opacity:.45 + pale nodes until reveal  -  users/screenshots saw dim grey.
   Readability must NOT depend on animation. Gate must also sample post-reveal+opacity. */
html body .sec.D .ge2:not(#_):not(#_),
html body:is(.zz,*) .sec.D .ge2:not(#_):not(#_):not(#_){
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:
    0 18px 44px -16px rgba(0,0,0,.6),
    0 0 0 1px rgba(254,209,77,.2) !important;
}
/* White step titles  -  never dim */
html body .sec.D .ge2 .ge2-rail b:not(#_),
html body .sec.D .ge2.gl-armed .ge2-rail b:not(#_),
html body .sec.D .ge2.gl-armed.gl-in .ge2-rail b:not(#_){
  color:#fff !important;
  opacity:1 !important;
}
/* Grey-blue descriptions ≥7:1 on #00053E (#8ED3F5 = 11.72:1)  -  never dim */
html body .sec.D .ge2 .ge2-rail li>span:last-child:not(#_),
html body .sec.D .ge2.gl-armed .ge2-rail li>span:last-child:not(#_),
html body .sec.D .ge2.gl-armed.gl-in .ge2-rail li>span:last-child:not(#_){
  color:#8ED3F5 !important;
  opacity:1 !important;
}
/* Yellow number circles like photo hotspots  -  always, not only after reveal */
html body .sec.D .ge2 .ge2-node:not(#_),
html body .sec.D .ge2.gl-armed .ge2-node:not(#_),
html body .sec.D .ge2.gl-armed.gl-in .ge2-node:not(#_){
  background:#FED14D !important;
  color:#00053E !important;
  box-shadow:0 0 0 4px #00053E,0 0 0 7px rgba(254,209,77,.35) !important;
}
/* Visible connectors  -  desktop li ::before/::after AND mobile rail ::before/::after */
html body .sec.D .ge2 .ge2-rail li:not(:last-child)::before{
  background:rgba(142,211,245,.55) !important;
  opacity:1 !important;
}
html body .sec.D .ge2 .ge2-rail li:not(:last-child)::after,
html body .sec.D .ge2.gl-armed .ge2-rail li:not(:last-child)::after,
html body .sec.D .ge2.gl-armed.gl-in .ge2-rail li:not(:last-child)::after{
  background:#FED14D !important;
  opacity:1 !important;
  transform:none !important;
}
html body .sec.D .ge2 .ge2-rail::before{
  background:rgba(142,211,245,.55) !important;
  opacity:1 !important;
}
html body .sec.D .ge2 .ge2-rail::after,
html body .sec.D .ge2.gl-armed .ge2-rail::after,
html body .sec.D .ge2.gl-armed.gl-in .ge2-rail::after{
  background:#FED14D !important;
  opacity:1 !important;
  transform:none !important;
}
/* HVAC .gl-ac: keep "Past 12 years" on one line at 360/390 */
html body .sec.D .gl-ac .gl-fill-hot em:not(#_){
  white-space:nowrap !important;
  text-align:center !important;
}
@media (max-width:430px){
  html body .sec.D .gl-ac .gl-fill-ok:not(#_){
    width:70% !important; /* keep abutting widened hot */
  }
  html body .sec.D .gl-ac .gl-fill-hot:not(#_){
    left:70% !important; /* was 75%  -  give ~30% for nowrap label */
  }
  html body .sec.D .gl-ac .gl-fill-hot em:not(#_){
    font-size:11px !important;
    line-height:1 !important;
    padding:0 2px !important;
    letter-spacing:-0.01em;
  }
}
/* ===== /sth-glance-fix1b ge2+Past12 ===== */


/* ===== sth-glance-fix1c headasap: Home glance→services = --sec-pad-y only (no angle-depth) ===== */
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + .wrap + #services.sec:not(#_):not(#_):not(#_):is(#services#services#services#services,#services#services#services#services *),
html body:is(.zz,*):not(.inner) main > .hero:not(.ab-hero) + .wrap.glw + #services.sec:not(#_):not(#_):not(#_):is(#services#services#services#services,#services#services#services#services *){
  padding-top:var(--sec-pad-y)!important;
}
/* ===== /headasap glance-gap ===== */

/* ===== sth-glance-fix1c headasap: R273/R284 yellow chrome on dark-block contrast cards ===== */
/* Audit: only figure.gp2 (Plumbing #older-homes) kept R273 white-in-dark.
   .ge2 / .gl-ac were reverted (regfix1). R274 .h1-signs cards sit on .sec.L (light), not dark. */
html body .sec.D figure.gp2,
html body #older-homes figure.gp2,
html body .pa.h1-old figure.gp2,
html body:is(.zz,*) .sec.D figure.gp2:not(#_):not(#_),
html body:is(.zz,*) #older-homes figure.gp2:not(#_):not(#_){
  --gl-bg:var(--y,#FED14D);
  --gl-ink:var(--ink,#00053E);
  --gl-eb:var(--ink,#00053E);
  --gl-shadow:0 18px 40px -22px rgba(0,5,62,.28);
  background:var(--y,#FED14D)!important;
  color:var(--ink,#00053E)!important;
  border:1px solid var(--y,#FED14D)!important;
  box-shadow:var(--gl-shadow)!important;
}
html body .sec.D figure.gp2 .gp2-top,
html body #older-homes figure.gp2 .gp2-top,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-top:not(#_):not(#_){
  background:var(--y,#FED14D)!important;
  color:var(--ink,#00053E)!important;
}
html body .sec.D figure.gp2 .gp2-eyebrow,
html body #older-homes figure.gp2 .gp2-eyebrow,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-eyebrow:not(#_):not(#_){
  color:var(--ink,#00053E)!important;
}
html body .sec.D figure.gp2 .gp2-hint,
html body #older-homes figure.gp2 .gp2-hint,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-hint:not(#_):not(#_){
  color:var(--ink,#00053E)!important;
}
html body .sec.D figure.gp2 .gp2-hint svg,
html body #older-homes figure.gp2 .gp2-hint svg,
html body:is(.zz,*) .sec.D figure.gp2 .gp2-hint svg:not(#_):not(#_){
  stroke:var(--ink,#00053E)!important;
  fill:none!important;
}
/* photo/slider stage + in-photo labels unchanged */
/* ===== /R273 yellow chrome ===== */
/* ===== sth-glance-fix1b R272 phone gaps + mascot height ===== */
/* Hub .hc had gap:4px (bundle) → every pair Δ=+4 vs Home. Kill it on phone.
   Hub mascot asset aspect ≠ Home; size by HEIGHT to Home resting 139px (Δ≤2). */
@media (max-width:699px){
  html body main section.hero.ab-hero > .wrap.hc:not(#_),
  html body main section.hero.svc-hero > .wrap.hc:not(#_),
  html body main section.hero.ab-hero .wrap.hc:not(#_),
  html body main section.hero.svc-hero .wrap.hc:not(#_),
  html body:is(.zz,*) main section.hero.ab-hero > .wrap.hc:not(#_):not(#_),
  html body:is(.zz,*) main section.hero.svc-hero > .wrap.hc:not(#_):not(#_){
    gap:0!important;
    row-gap:0!important;
  }
  /* Match Home .hrun img resting height @360/390/428 (=139).
     Hub wraps carry inline aspect-ratio from hh-js  -  force auto + height. */
  html body .hero .ab-hrob:not(#_):not(#_):not(#_),
  html body .hero .svc-hrob:not(#_):not(#_):not(#_),
  html body .hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_),
  html body .hero.svc-hero .svc-hrob:not(#_):not(#_):not(#_),
  html body main .hero .ab-hrob.h1-hr:not(#_):not(#_),
  html body main .hero .svc-hrob.h1-hr:not(#_):not(#_){
    width:auto!important;
    max-width:none!important;
    height:139px!important;
    max-height:139px!important;
    aspect-ratio:auto!important;
  }
  html body .hero .ab-hrob img:not(#_):not(#_):not(#_),
  html body .hero .svc-hrob img:not(#_):not(#_):not(#_),
  html body .hero .ab-hrob .still:not(#_):not(#_):not(#_),
  html body main .hero .ab-hrob img:not(#_):not(#_):not(#_),
  html body main .hero .svc-hrob img:not(#_):not(#_):not(#_){
    width:auto!important;
    max-width:none!important;
    height:139px!important;
    max-height:139px!important;
    object-fit:contain!important;
    aspect-ratio:auto!important;
  }
}
/* ===== /R272 fix1b ===== */

/* ===== sweep1-phone1: phone defects (Bang 2026-10-30) ===== */
/* 1) fx-band single-row from 700. Phone ≤699 cannot fit head+text+2 CTAs in one slim row  -  mock-only (see shots/mock-band). */
@media (min-width:700px){
  html body .fx-band .fx-w.fx-bandin:not(#_):not(#_),
  html body .fx-band .fx-bandin:not(#_):not(#_),
  html body .fx-w.fx-bandin:not(#_):not(#_),
  html body .fx-bandin:not(#_):not(#_){
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
  html body .fx-band .fx-cta:not(#_):not(#_),
  html body .fx-cta:not(#_):not(#_){
    grid-column:auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    justify-self:end!important;
  }
  html body .fx-band .fx-head:not(#_){width:72px!important;height:auto!important;}
}
@media (min-width:900px){
  html body .fx-band .fx-head:not(#_){width:88px!important;}
  html body .fx-band .fx-bandin:not(#_):not(#_){gap:24px!important;}
}
/* 3) Hero .h1-chips wrap @≤399 (Contact + Comfort Club). About uses plain .trust. */
@media (max-width:399px){
  html body.inner main section.hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body.inner.t-hub1 main section.hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body.inner.t-hub1.t-svc1 .svc-hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body.inner.t-hub1.t-hub1.t-svc1 .svc-hero .h1-chips:not(#_):not(#_):not(#_){
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px 10px!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    grid-template-columns:none!important;
  }
  html body.inner main section.hero ul.trust.h1-chips li:not(#_):not(#_),
  html body.inner.t-hub1.t-svc1 .svc-hero ul.trust.h1-chips li:not(#_):not(#_),
  html body.inner.t-hub1.t-hub1.t-svc1 .svc-hero .h1-chips li:not(#_):not(#_){
    flex:0 1 auto!important;
    white-space:nowrap!important;
    max-width:100%!important;
    font-size:12px!important;
  }
}
/* 4) About only (t-about without hub/svc): phone clearance so glance does not cover chips */
@media (max-width:399px){
  html body.inner.t-about:not(.t-hub1):not(.t-svc1) .hero:has(+.glw.fx)>.wrap.hc:not(#_):not(#_):not(#_):not(#_){
    margin-bottom:72px!important;
  }
  html body.inner.t-about:not(.t-hub1):not(.t-svc1) .hero:has(+.glw.fx){--fxh:330px!important;}
  html body.inner.t-about:not(.t-hub1):not(.t-svc1) .glw.fx+*:not(#_):not(#_):not(#_){--fx-pt:240px!important;}
}
/* ===== /sweep1-phone1 ===== */

/* ===== R285: fx-band phone stack (Bang 2026-10-30 16:09) =====
   Drop force-single-row mock. ≤699: mascot+text on top; Call + Book
   stacked below, centred and compact. ≥700: keep slim single row
   (sweep1-phone1 rules above). Yellow shared _inc/open-band.html. */
@media (max-width:699px){
  html body .fx-band .fx-w.fx-bandin:not(#_):not(#_),
  html body .fx-band .fx-bandin:not(#_):not(#_),
  html body .fx-w.fx-bandin:not(#_):not(#_),
  html body .fx-bandin:not(#_):not(#_){
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:"head text" "cta cta"!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:14px!important;
    row-gap:12px!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  html body .fx-band .fx-head:not(#_),
  html body .fx-bandin > .fx-head:not(#_){
    grid-area:head!important;
    width:64px!important;
    height:auto!important;
    max-width:64px!important;
    justify-self:start!important;
    align-self:center!important;
  }
  html body .fx-band .fx-bandin > div:not(.fx-cta):not(#_),
  html body .fx-bandin > div:not(.fx-cta):not(#_){
    grid-area:text!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .fx-band .fx-bt:not(#_),
  html body .fx-bandin .fx-bt:not(#_){
    font-size:20px!important;
    line-height:1.2!important;
    max-width:none!important;
  }
  html body .fx-band .fx-bk:not(#_),
  html body .fx-bandin .fx-bk:not(#_){
    font-size:12px!important;
    letter-spacing:.12em!important;
  }
  html body .fx-band .fx-cta:not(#_):not(#_),
  html body .fx-cta:not(#_):not(#_){
    grid-area:cta!important;
    grid-column:1/-1!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:300px!important;
    margin-inline:auto!important;
    justify-self:center!important;
  }
  html body .fx-band .fx-cta .nx-btn:not(#_),
  html body .fx-cta .nx-btn:not(#_){
    width:100%!important;
    min-height:44px!important;
    font-size:15px!important;
    box-sizing:border-box!important;
  }
}
/* ===== /R285 ===== */

/* ===== R286 contrast tone tokens (Bang 2026-10-30) ===== */
/* Stars (.st in reviews/cards) were brand gold #f5b400 / var(--y) on white/cream  -  ~1.4-1.8:1.
   Darken to WCAG AA 4.5:1 on #fff and cream #fff9e6. Do NOT touch .h4-run.st (mascot still). */
:root{
  --star-on-light:#9A6700;
  --muted-on-tint:#3D4A5C;
}
html body .rv .st:not(#_):not(#_),
html body .rv .st:is(#reviews,#reviews *):not(#_),
html body figure.pq figcaption .st:not(#_):not(#_),
html body figure.pq figcaption .st:is(#reviews,#reviews *):not(#_),
html body .inner .rv .st:not(#_):not(#_),
html body .inner .rv .st:is(#reviews,#reviews *):not(#_){
  color:var(--star-on-light,#9A6700)!important;
}
/* Expired rebate badge: #5a6478 @0.85 on tint ~3.6:1 → solid darker mute */
html body #programs.rp2a .rp2-badge.expired:not(#_):not(#_),
html body .rp2-badge.expired:not(#_):not(#_){
  color:var(--muted-on-tint,#3D4A5C)!important;
  opacity:1!important;
}
/* ===== /R286 ===== */

/* ===== R287 hero chips wrap + bul→glance gap + mascot last-col (≥700 via facts-feet) ===== */
/* Shared gap token: chips/trust bottom → At-a-glance top. Identical per width across heroes. */
html body .hero,
html body:is(.zz,*) .hero:not(#_):not(#_){
  --hero-gap-bul-gl:24px; /* phones (Bang R287) */
}
@media (min-width:700px){
  html body .hero,
  html body:is(.zz,*) .hero:not(#_):not(#_){
    --hero-gap-bul-gl:32px;
  }
}
/* Apply gap: floating glance (.glw.fx) is height:0 + translateY(-50%), so hc margin-bottom
   must include half glance height (--fxbh from facts-feet) plus the clear gap token.
   Does not touch phone mascot position (absolute on photo; facts-feet clears inline ≤699). */
html body .hero:has(+.glw.fx) > .wrap.hc:not(#_):not(#_),
html body.inner .hero:has(+.glw.fx) > .wrap.hc:not(#_):not(#_),
html body.t-svc1 .hero:has(+.glw.fx) > .wrap.hc:not(#_):not(#_),
html body:is(.zz,*) .hero:has(+.glw.fx) > .wrap.hc:not(#_):not(#_):not(#_){
  margin-bottom: calc(var(--fxbh, var(--fxh, 164px)) / 2 + var(--hero-gap-bul-gl, 24px)) !important;
}
/* Phone/tablet-narrow: wrap hero bullets; keep icon+text on one nowrap item (no skinny split). */
@media (max-width:699px){
  html body .hero ul.trust.h1-chips:not(#_):not(#_),
  html body .hero ul.h1-chips:not(#_):not(#_),
  html body .hero .h1-chips:not(#_):not(#_),
  html body.inner .svc-hero ul.trust.h1-chips:not(#_):not(#_),
  html body.t-hub1 .svc-hero .h1-chips:not(#_):not(#_),
  html body.t-hub1.t-svc1 .svc-hero .h1-chips:not(#_):not(#_),
  html body:is(.zz,*) .hero .h1-chips:not(#_):not(#_):not(#_){
    display:flex!important;
    flex-wrap:wrap!important;
    row-gap:8px!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  html body .hero .h1-chips > li:not(#_):not(#_),
  html body .hero ul.trust.h1-chips > li:not(#_):not(#_),
  html body.t-hub1 .svc-hero .h1-chips > li:not(#_):not(#_),
  html body:is(.zz,*) .hero .h1-chips > li:not(#_):not(#_):not(#_){
    flex:0 1 auto!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }
}
/* ≥700: keep mascot figure box from spilling (img was wider than host → clipped viewport).
   Size still via --sth-msz / R272; do not change ≤699 mascot rules. */
@media (min-width:700px){
  html body .hero .ab-hrob:not(#_):not(#_),
  html body .hero .svc-hrob:not(#_):not(#_),
  html body:is(.zz,*) .hero .ab-hrob:not(#_):not(#_):not(#_){
    max-width: var(--sth-msz) !important;
    overflow: hidden !important; /* clip intrinsic still wider than box */
  }
  html body .hero .ab-hrob img:not(#_):not(#_),
  html body .hero .svc-hrob img:not(#_):not(#_),
  html body .hero .ab-hrob img.still:not(#_):not(#_){
    max-width: 100% !important;
    width: auto !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: bottom center !important;
  }
}
/* ===== /R287 ===== */

/* ===== R287b gap snap + no overflow clip on mascot (Bang 16:24) ===== */
@media (min-width:700px){
  html body .hero .ab-hrob:not(#_):not(#_):not(#_),
  html body .hero .svc-hrob:not(#_):not(#_):not(#_){
    overflow: visible !important; /* undo R287 clip  -  was skewing feetY */
  }
}
/* ===== /R287b ===== */

/* ===== batch1: R287c glw-gap + R286 tone deepen (Bang 16:33 one-batch) ===== */
/* Stars: #9A6700 was 4.15:1 on warm cream #F3ECE0  -  deepen to ≥4.5:1. */
:root{
  --star-on-light:#8B5A00;
}
html body .rv .st:not(#_):not(#_):not(#_),
html body figure.pq figcaption .st:not(#_):not(#_):not(#_),
html body .inner .rv .st:not(#_):not(#_):not(#_){
  color:var(--star-on-light,#8B5A00)!important;
}
/* Leave-a-review link: brand blue on cool card tint was ~3.1:1  -  deepen. */
html body .rv a.lgr:not(#_):not(#_),
html body .rv .lgr:not(#_):not(#_),
html body figure.pq a.lgr:not(#_):not(#_){
  color:#003A75!important;
}
/* Google review muted label on light card */
html body .rv .gmeta:not(#_):not(#_),
html body .rv a[href*="google"]:not(.lgr):not(#_){
  color:#3D4A5C!important;
}
/* Open rebate badge / .val: navy on light surfaces only.
   Dark .rp2-card (TECO/FPL/Water Wise/Daikin etc.) keeps white / #FED14D for AA (E4/E5). */
html body #programs.rp2a .rp2-badge.open:not(#_):not(#_),
html body .rp2-badge.open:not(#_):not(#_){
  color:#1A2240!important;
}
html body #programs.rp2a .val:not(#_):not(#_),
html body .rp2a .val:not(#_):not(#_){
  color:#1A2240!important;
}
html body #programs.rp2a .rp2-card .rp2-badge.open:not(#_):not(#_):not(#_):not(#_),
html body #programs.rp2a .rp2-card .rp2-badge.open:not(#_):not(#_):not(#_){
  color:#fff!important;
}
html body #programs.rp2a .rp2-card .rows .val:not(#_):not(#_):not(#_):not(#_),
html body #programs.rp2a .rp2-card .val:not(#_):not(#_):not(#_):not(#_){
  color:#FED14D!important;
}
html body .card .eb:not(#_):not(#_),
html body .cc-card .eb:not(#_):not(#_),
html body .club-card .eb:not(#_):not(#_){
  color:#6B4700!important;
}
/* audit5b4: E4 rebates dark-card open/val restore */
/* ===== /batch1 ===== */

/* batch1 note: snapBulGlanceGap now adjusts .glw.fx margin-top (hero min-height blocks hc MB). */

/* ===== batch1b: about .ab-trust on light section (contrast gate) ===== */
/* H3/body were white (dark-section tokens) while .ab-sec.L is #F4F6FA  -  white-on-light. */
html body .ab-trust:not(#_):not(#_) h3,
html body .ab-sec.L .ab-trust:not(#_):not(#_) h3,
html body .ab-sec.L .ab-trust:not(#_):not(#_) p,
html body .ab-sec.L .ab-trust:not(#_):not(#_) li,
html body .ab-sec.L .ab-trust:not(#_):not(#_){
  color:#00053E!important;
}
html body .ab-sec.L .ab-trust:not(#_):not(#_){
  background:rgba(255,255,255,.92)!important;
}
/* ===== /batch1b ===== */


/* ===== audit5: Mr.Bang live FAIL items 1-5 (gap Home via facts-feet; rest CSS) ===== */

/* (3) /about/ @≤360: brandline nowrap overflowed past viewport (right≈386). Allow wrap inside hc. */
@media (max-width:360px){
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline:not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline:not(#_):not(#_):not(#_){
    flex-wrap:wrap!important;
    white-space:normal!important;
    max-width:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline b:not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline span:not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline b:not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline span:not(#_):not(#_){
    white-space:normal!important;
  }
}

/* (4) Home Book @768: "As soon as possible" was ellipsis-truncated in equal 3-col seg.
   Give first opt more track + drop ellipsis so full label is visible. */
@media (min-width:700px) and (max-width:900px){
  html body #book form.cb .seg:not(#_):not(#_),
  html body form.cb .seg:not(#_):not(#_){
    grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr)!important;
  }
  html body #book form.cb .seg-opt > span:not(#_):not(#_),
  html body form.cb .seg-opt > span:not(#_):not(#_){
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-align:center!important;
    line-height:1.15!important;
    font-size:11.5px!important;
    letter-spacing:-0.01em!important;
  }
}

/* Home hero also needs the R287 gap token (body is not .inner). */
html body:not(.inner) section.hero:not(#_),
html body section.hero:not(.ab-hero):not(#_){
  --hero-gap-bul-gl:24px;
}
@media (min-width:700px){
  html body:not(.inner) section.hero:not(#_),
  html body section.hero:not(.ab-hero):not(#_){
    --hero-gap-bul-gl:32px;
  }
}

/* ===== /audit5 ===== */

/* ===== audit5b: Mr.Bang re-audit of audit5 (3 FAIL) ===== */
/* Diagnosis brandline: wrong breakpoint (max-width:360px). Live wrap only at ≤360;
   at 375/390/414 r2 nowrap still wins → span right≈385.6 (Mr.Bang 386.4). Not cache, not wrong file. */

/* (1) /about/ brandline: wrap ≤699 + Formerly on its own row; unset lead clamp/ellipsis */
@media (max-width:699px){
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline:not(#_):not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline:not(#_):not(#_):not(#_):not(#_){
    display:flex!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    max-width:100%!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    row-gap:2px!important;
    column-gap:6px!important;
  }
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline b:not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline b:not(#_):not(#_):not(#_){
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline span:not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .brandline span:not(#_):not(#_):not(#_){
    flex:1 0 100%!important; /* Formerly on its own row */
    white-space:normal!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .lead:not(#_):not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero .lead:not(#_):not(#_):not(#_):not(#_){
    display:block!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    -webkit-box-orient:initial!important;
    max-height:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* (2) ≥700: wrap + reserve mascot column so chips clear opaque by ≥12px.
   Beats bundle t-hub1/t-svc1 nowrap + max-width:none on .h1-chips (rebates/financing). */
@media (min-width:700px){
  html body .hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body .hero ul.h1-chips:not(#_):not(#_):not(#_),
  html body .hero .h1-chips:not(#_):not(#_):not(#_),
  html body.t-svc1.t-svc1 .svc-hero ul.trust:not(#_):not(#_):not(#_),
  html body.t-svc1.t-svc1 .svc-hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body.t-hub1.t-hub1.t-svc1 .svc-hero .h1-chips:not(#_):not(#_):not(#_),
  html body.t-hub1.t-hub1.t-svc1 .svc-hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body.inner .svc-hero ul.trust.h1-chips:not(#_):not(#_):not(#_),
  html body:is(.zz,*) .hero .h1-chips:not(#_):not(#_):not(#_):not(#_){
    display:flex!important;
    flex-wrap:wrap!important;
    row-gap:8px!important;
    max-width:min(520px, calc(100% - var(--sth-msz, 150px) - 48px))!important;
    box-sizing:border-box!important;
  }
  html body .hero ul.trust.h1-chips > li:not(#_):not(#_):not(#_),
  html body .hero .h1-chips > li:not(#_):not(#_):not(#_),
  html body.t-hub1.t-hub1.t-svc1 .svc-hero .h1-chips > li:not(#_):not(#_):not(#_),
  html body.t-svc1.t-svc1 .svc-hero ul.trust > li:not(#_):not(#_):not(#_){
    flex:0 1 auto!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }
}
/* ===== /audit5b ===== */

/* ===== audit5b5: E5 short-landscape + E6 lead + E8 glance-gap + E9 rebates clip + E10 fin example gap ===== */

/* E5  -  Tesla short landscape: shrink H1 / hero pad / lead; keep --sth-msz (R272). */
@media (min-width:1100px) and (max-height:760px){
  html body main section.hero{
    --hero-gap-eb-h1:6px;
    --hero-gap-h1-sub:8px;
    --hero-gap-sub-btns:14px;
    --hero-gap-btns-bul:12px;
    --hero-gap-pills-eb:14px;
  }
  html body main section.hero.ab-hero:not(#_),
  html body main section.hero.svc-hero:not(#_),
  html body main section.hero:not(.ab-hero):not(#_){
    padding-top:20px!important;
  }
  html body:not(.inner):not([data-svc]) main section.hero:not(.ab-hero):not(#_){
    padding-top:28px!important; /* Home was 70; keep a little more than inners */
  }
  html body main section.hero h1:not(#_),
  html body main section.hero.ab-hero h1:not(#_),
  html body main section.hero.svc-hero h1:not(#_){
    font-size:46px!important;
    line-height:1.05!important;
  }
  html body main section.hero .lead:not(#_),
  html body main section.hero.ab-hero .lead:not(#_){
    font-size:15px!important;
    line-height:1.25!important;
  }
}

/* E6  -  phone hero lead: no clamp/ellipsis; full text column width (316@360 / 346@390). */
@media (max-width:699px){
  html body main section.hero.ab-hero .lead:not(#_):not(#_),
  html body main section.hero.svc-hero .lead:not(#_):not(#_),
  html body main section.hero .lead:not(#_):not(#_){
    display:block!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    -webkit-box-orient:initial!important;
    max-height:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
  }
  html body main section.hero .hc > h1:not(#_),
  html body main section.hero .hc > .lead:not(#_),
  html body main section.hero .hc > .brandline:not(#_),
  html body main section.hero.ab-hero .hc > h1:not(#_),
  html body main section.hero.ab-hero .hc > .lead:not(#_),
  html body main section.hero.ab-hero .hc > .brandline:not(#_){
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* E8  -  phone glance→next gap on about / specials / financing (match hubs ~82-97).
   Beat #services/#offers --sec-pad-y and cut-l angle-depth (ID+:not+#offers#offers hacks). */
@media (max-width:699px){
  html body.t-about:not(.t-svc) main .hero + .glw:not(#_),
  html body[data-svc=spec] main .hero + .glw:not(#_),
  html body[data-svc=fin] main .hero + .glw:not(#_),
  html body.t-about:not(.t-svc) main .hero + .glw.fx:not(#_),
  html body[data-svc=spec] main .hero + .glw.fx:not(#_),
  html body[data-svc=fin] main .hero + .glw.fx:not(#_){
    margin-bottom:0!important;
  }
  /* about #services  -  hard pad (ignore ≤399 --fx-pt:240) */
  html body.inner.t-about:not(.t-svc):not(.t-hub1) main > #services.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner.t-about:not(.t-svc):not(.t-hub1) main > section#services.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body:is(.zz,*) .inner.t-about:not(.t-svc) main > #services.sec:not(#_):not(#_):not(#_):not(#_){
    padding-top:200px!important;
  }
  /* specials #offers.cut-l  -  beat :is(#offers#offers) angle-depth */
  html body.inner[data-svc=spec] main > #offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner[data-svc=spec] main > section#offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body:is(.zz,*)[data-svc=spec] main > #offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):is(#offers#offers,#offers){
    padding-top:230px!important;
  }
  /* financing #how */
  html body.inner[data-svc=fin] main > #how.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner[data-svc=fin] main > section#how.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body:is(.zz,*)[data-svc=fin] main > #how.sec:not(#_):not(#_):not(#_):not(#_){
    padding-top:230px!important;
  }
}
@media (max-width:379px){
  html body.inner.t-about:not(.t-svc):not(.t-hub1) main > #services.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner.t-about:not(.t-svc):not(.t-hub1) main > section#services.sec:not(#_):not(#_):not(#_):not(#_):not(#_){
    padding-top:220px!important;
  }
  html body.inner[data-svc=spec] main > #offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner[data-svc=spec] main > section#offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body:is(.zz,*)[data-svc=spec] main > #offers.sec.cut-l:not(#_):not(#_):not(#_):not(#_):not(#_):is(#offers#offers,#offers){
    padding-top:255px!important;
  }
  html body.inner[data-svc=fin] main > #how.sec:not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.inner[data-svc=fin] main > section#how.sec:not(#_):not(#_):not(#_):not(#_):not(#_){
    padding-top:250px!important;
  }
}

/* E9  -  Duke feat overflow (rp2.css not linked on /rebates/; override bundle via nav1) */
html body #programs.rp2a .feat:not(#_):not(#_),
html body #programs.rp2a .feat-body:not(#_):not(#_),
html body #programs.rp2a .feat-media:not(#_):not(#_),
html body #programs.rp2a .feat-top:not(#_):not(#_),
html body #programs.rp2a .amt-table:not(#_),
html body #programs.rp2a .amt-table li:not(#_),
html body #programs.rp2a .mosaic > *:not(#_),
html body #programs.rp2a .rp2-card:not(#_){
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body #programs.rp2a .feat:not(#_):not(#_){
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
html body #programs.rp2a .feat-top:not(#_),
html body #programs.rp2a .rp2-card-top:not(#_){
  flex-wrap:wrap!important;
}
@media (max-width:980px){
  html body #programs.rp2a .feat:not(#_):not(#_):not(#_){
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body #programs.rp2a .feat-media:not(#_):not(#_),
  html body #programs.rp2a .feat-body:not(#_):not(#_){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  html body #programs.rp2a .feat-media img:not(#_){
    max-width:100%!important;
  }
}
@media (max-width:480px){
  html body #programs.rp2a .amt-table li:not(#_){
    grid-template-columns:minmax(0,1fr)!important;
    gap:2px 0!important;
  }
  html body #programs.rp2a .amt-table .val:not(#_){
    text-align:left!important;
    white-space:normal!important;
  }
  html body #programs.rp2a .rp2-card .rows li:not(#_){
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
  }
  html body #programs.rp2a .rp2-card .rows .val:not(#_){
    text-align:left!important;
    white-space:normal!important;
  }
}

/* ===== audit5b7/b8: E12 card (nav1 belt) + E13 R285 slim row + E14 primary btn 52 ===== */
/* E12 tokens on :root  -  do NOT put comma-containing gradients as var() fallbacks (breaks parse). */
:root{
  --gl-bg-on-dark:linear-gradient(165deg,#0E3068 0%,#001F4D 58%,#00163D 100%);
  --gl-border-on-dark:1px solid rgba(255,255,255,.20);
  --gl-shadow-on-dark:0 14px 36px -14px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.10);
  --gl-accent-aa:#C8F0FC;
  --gl-muted-aa:#E6ECF6;
}

/* E12 belt: beat nav1 .sec.D .gl-ac → #00053E (:not×3). Use page id + :not×4. */
html body #repair-or-replace.sec.D .gl-ac:not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) #repair-or-replace.sec.D .gl-ac:not(#_):not(#_):not(#_):not(#_),
html body .sec.D .gl-ac:not(#_):not(#_):not(#_):not(#_):not(#_){
  background-color:#0E3068!important;
  background-image:var(--gl-bg-on-dark)!important;
  background-repeat:no-repeat!important;
  border:var(--gl-border-on-dark)!important;
  box-shadow:var(--gl-shadow-on-dark)!important;
}
html body .gl-ac .gl-bracket i:not(#_){border-color:var(--gl-accent-aa)!important}
html body .gl-ac .gl-bracket span:not(#_){color:var(--gl-accent-aa)!important}
html body .gl-ac .gl-u:not(#_),
html body .gl-ac .gl-ticks:not(#_),
html body .gl-ac .gl-ticks li:not(#_){color:var(--gl-muted-aa)!important}
html body .gl-ac .gl-k-low:not(#_){color:var(--gl-accent-aa)!important}

/* E14  -  one shared primary button height token (G7 = 52). Do not force form secondary / chip 44 (G8). */
:root{
  --btn-h-primary:52px;
}
html body a.btn.call:not(#_),
html body a.btn.book:not(#_),
html body button.btn.call:not(#_),
html body button.btn.book:not(#_),
html body .btn.call:not(#_),
html body .btn.book:not(#_),
html body .h4-ctas .btn:not(#_),
html body #after-hours .h4-ctas .btn:not(#_),
html body #faq .fqcall .btn:not(#_),
html body #faq .fqcall .ctas .btn:not(#_),
html body .fx-band .nx-btn:not(#_),
html body .fx-band .nx-call:not(#_),
html body .fx-band .nx-book:not(#_),
html body .nx-btn.nx-call:not(#_),
html body .nx-btn.nx-book:not(#_),
html body main section.hero .ctas .btn:not(#_),
html body .h1-why .h4-ctas .btn:not(#_),
html body.t-hub1 .h4-ctas .btn:not(#_){
  min-height:var(--btn-h-primary)!important;
  height:var(--btn-h-primary)!important;
  box-sizing:border-box!important;
}
/* keep true non-primary compact controls at 44 (G8): zip submit-adjacent chips already separate */

/* E13  -  R285: single slim row ≥700; 52px buttons (via E14 token); call icon visible */
@media (min-width:700px){
  html body .fx-band .fx-w.fx-bandin:not(#_):not(#_),
  html body .fx-band .fx-bandin:not(#_):not(#_){
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:none!important;
    align-items:center!important;
    gap:12px 16px!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
  html body .fx-band .fx-cta:not(#_):not(#_){
    grid-column:auto!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  html body .fx-band .fx-cta .nx-btn:not(#_){
    width:auto!important;
    min-height:var(--btn-h-primary)!important;
    height:var(--btn-h-primary)!important;
  }
  html body .fx-band .fx-head:not(#_){
    width:64px!important;
    max-height:72px!important;
  }
  html body .fx-band .fx-bt:not(#_){
    font-size:18px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    max-width:none!important;
  }
  html body .fx-band .fx-bk:not(#_){
    font-size:11px!important;
    line-height:1.2!important;
    margin:0 0 2px!important;
    white-space:nowrap!important;
  }
}
@media (min-width:700px) and (max-width:899px){
  html body .fx-band .fx-bt:not(#_){font-size:15px!important;letter-spacing:-.01em!important}
  html body .fx-band .fx-bk:not(#_){font-size:10px!important}
  html body .fx-band .fx-head:not(#_){width:56px!important}
  html body .fx-band .fx-bandin:not(#_){gap:10px 12px!important;padding-left:16px!important;padding-right:16px!important}
  html body .fx-band .fx-cta .nx-btn:not(#_){padding:0 12px!important;font-size:14px!important}
}
@media (min-width:900px) and (max-width:1099px){
  html body .fx-band .fx-bt:not(#_){font-size:17px!important}
  html body .fx-band .fx-head:not(#_){width:72px!important}
}
@media (min-width:1100px){
  html body .fx-band .fx-bt:not(#_){font-size:20px!important}
  html body .fx-band .fx-head:not(#_){width:80px!important}
  html body .fx-band .fx-bandin:not(#_){gap:16px 24px!important;padding-top:18px!important;padding-bottom:18px!important}
}
/* E13 call icon: navy-on-navy / yellow-on-yellow was invisible. Force white glyph on navy CTA. */
html body .fx-band .nx-call:not(#_){
  background:var(--n0)!important;
  color:#fff!important;
}
html body .fx-band .nx-call .ic:not(#_),
html body .fx-band .nx-call svg:not(#_),
html body .fx-band .nx-call svg path:not(#_){
  color:#fff!important;
  fill:#fff!important;
  stroke:none!important;
  opacity:1!important;
  display:block!important;
  flex:none!important;
  width:18px!important;
  height:18px!important;
  visibility:visible!important;
}



/* ===== audit5b8: E15-E40 batch (skip E19/E26/E11; E31 email shipped) ===== */
/* ===== audit5b8b: hotfix E15/E22/E25/E27/E38 (E15 mt4) ===== */

/* E15  -  snug $50 OFF → "On repairs…" gap (~4-6px). Keep was BELOW price; do not touch Surge Free. */
html body #offers.zo .zo-pr:has(> .zo-big .zo-off):not(#_),
html body section#offers.zo .zo-pr:has(> .zo-big .zo-off):not(#_),
html body #offers.zo7 .zo-pr:has(> .zo-big .zo-off):not(#_),
html body .zo-cp:has(.zo-off) .zo-pr:not(#_){
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  row-gap:0!important;
  column-gap:14px!important;
}
html body #offers.zo .zo-cp:has(.zo-off) .zo-big:has(.zo-off):not(#_),
html body section#offers.zo .zo-cp:has(.zo-off) .zo-big:has(.zo-off):not(#_),
html body .zo-cp:has(.zo-off) .zo-big:has(.zo-off):not(#_){
  line-height:1!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
html body #offers.zo .zo-cp:has(.zo-off) .zo-was:not(#_):not(#_),
html body section#offers.zo .zo-cp:has(.zo-off) .zo-was:not(#_):not(#_),
html body #offers.zo .zo-big:has(.zo-off) + .zo-was:not(#_):not(#_),
html body section#offers.zo .zo-big:has(.zo-off) + .zo-was:not(#_):not(#_),
html body .zo-cp:has(.zo-off) .zo-was:not(#_):not(#_):not(#_){
  flex:1 0 100%!important;
  margin-top:4px!important; /* with zo-big line-height:1 + row-gap:0 → ~4px visual */
  padding-top:0!important;
  padding-bottom:0!important;
  order:3!important;
  line-height:1.25!important;
}

/* E16  -  unify club head WRAPPER to 74px / card ~326; IMAGE stays 42 (Bang). */
html body #club.cd8 .h4-mch:not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) #club.cd8 .h4-mch:not(#_):not(#_):not(#_):not(#_),
html body main #club.cd8 .h4-mch:not(#_):not(#_):not(#_):not(#_){
  padding:16px 18px!important;
  min-height:74px!important;
  box-sizing:border-box!important;
  gap:10px!important;
  align-items:center!important;
  overflow:visible!important;
}
html body #club.cd8 .h4-mch img:not(#_):not(#_):not(#_):not(#_),
html body:is(.zz,*) #club.cd8 .h4-mch img:not(#_):not(#_):not(#_):not(#_),
html body.t-hub1 #club.cd8 .h4-mch img:not(#_):not(#_):not(#_),
html body #club.cd8 .h4-mc:not(#_) .h4-mch img:not(#_):not(#_):not(#_){
  width:42px!important;
  height:42px!important;
  margin:0!important;
  margin-right:10px!important;
  flex:0 0 auto!important;
  object-fit:contain!important;
}
html body #club.cd8 .h4-mc:not(#_):not(#_):not(#_){
  overflow:visible!important;
  border-radius:16px!important;
}

/* E18  -  show .nx-lic from 1180 up (was hidden ≤1279). */
@media (max-width:1179px){
  .nx-lic{display:none!important}
}
@media (min-width:1180px){
  .nx-lic{display:block!important;white-space:nowrap!important}
  .nx-util .nx-w{flex-wrap:nowrap!important;overflow:hidden!important}
}

/* E22  -  #book clears sticky header on deep-link */
html body #book.sec:not(#_),
html body section#book:not(#_){
  scroll-margin-top:96px!important;
}
@media (max-width:699px){
  html body #book.sec:not(#_),
  html body section#book:not(#_){
    scroll-margin-top:72px!important;
  }
}

/* E24  -  /contact/ #book match standard form block pad (33 phone / 60 ≥700), beat 176/sec-pad overrides */
html body[data-svc=contact] section#book.sec.fin.bk:not(#_):not(#_):not(#_):is(#book#book,#book#book *),
html body[data-svc=contact] #book.sec.fin.bk:not(#_):not(#_):not(#_){
  padding-top:92px!important;
  padding-bottom:60px!important;
}
@media (max-width:699px){
  html body[data-svc=contact] section#book.sec.fin.bk:not(#_):not(#_):not(#_):is(#book#book,#book#book *),
  html body[data-svc=contact] #book.sec.fin.bk:not(#_):not(#_):not(#_){
    padding-top:65px!important;
    padding-bottom:33px!important;
  }
}

/* E25  -  FROM THE BLOG lab AA: use standard eyebrow blue (not 55% navy) */
html body #rel.re2 .e2-meta .lab:not(#_),
html body #rel .e2-meta .lab:not(#_),
html body .e2-meta .lab:not(#_){
  color:#00468C!important; /* literal: .inner redefines --blue to navy */
  background:transparent!important;
}
html body .sec.D #rel.re2 .e2-meta .lab:not(#_),
html body .sec.D .e2-meta .lab:not(#_){
  color:var(--y,#FED14D)!important;
}

/* E27  -  form labels ≥14px on phones; keep When? / ASAP fitting */
@media (max-width:699px){
  html body #book form.cb label:not(#_),
  html body #book form.cb label.fl:not(#_),
  html body #book form.cb .lbl:not(#_),
  html body #book .cb .lbl:not(#_),
  html body form.cb label:not(#_),
  html body form.cb .lbl:not(#_){
    font-size:14px!important;
    line-height:1.2!important;
  }
  html body #book form.cb .seg:not(#_):not(#_) .seg-opt:not(#_):not(#_):not(#_),
  html body #book form.cb .seg-opt:not(#_):not(#_):not(#_),
  html body form.cb .seg:not(#_):not(#_) .seg-opt:not(#_):not(#_):not(#_),
  html body form.cb .seg-opt:not(#_):not(#_):not(#_),
  html body #book form.cb .seg-opt > span:not(#_):not(#_),
  html body form.cb .seg-opt > span:not(#_):not(#_){
    font-size:14px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    letter-spacing:-0.01em!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  html body #book form.cb .seg:not(#_),
  html body form.cb .seg:not(#_){
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px!important;
  }
}
/* Beat form-a23c1.css 9px/10px at ≤390 (loads after nav1) */
@media (max-width:390px){
  html body #book form.cb .seg:not(#_):not(#_) .seg-opt:not(#_):not(#_):not(#_):not(#_),
  html body form.cb .seg:not(#_):not(#_) .seg-opt:not(#_):not(#_):not(#_):not(#_),
  html body #book form.cb label.seg-opt:not(#_):not(#_):not(#_):not(#_){
    font-size:14px!important;
    line-height:1.15!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
}

/* E28  -  electrical/HVAC/plumbing repair tiles: breathe at 1024-1179 (3-col, more gap) */
@media (min-width:900px) and (max-width:1179px){
  html body.t-hub1 .h4-rep:not(#_):not(#_),
  html body.t-hub1 .sec.L.h1-signs .h4-rep:not(#_),
  html body .h1-signs .h4-rep:not(#_){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
  }
  html body.t-hub1 .h4-rep li:not(#_),
  html body .h1-signs .h4-rep li:not(#_){
    padding:16px!important;
    gap:14px!important;
    min-height:0!important;
  }
}
@media (min-width:1180px){
  html body.t-hub1 .h4-rep:not(#_),
  html body .h1-signs .h4-rep:not(#_){
    gap:16px!important;
  }
}

/* E29  -  /about/ breadcrumb→pills gap → 20 desktop / 16 at 768-1024 */
html body.t-about:not(.t-svc) .hero .brandline:not(#_),
html body.t-about:not(.t-svc) .hero .h1-chips:not(#_),
html body.t-about:not(.t-svc) main .hero .trust.h1-chips:not(#_),
html body.inner.t-about:not(.t-hub1):not(.t-svc1) .hero .h1-chips:not(#_),
html body.inner.t-about:not(.t-hub1) .hero ul.trust:not(#_){
  margin-top:20px!important;
}
@media (min-width:700px) and (max-width:1024px){
  html body.t-about:not(.t-svc) .hero .brandline + .trust:not(#_),
  html body.t-about:not(.t-svc) .hero .h1-chips:not(#_),
  html body.inner.t-about:not(.t-hub1) .hero ul.trust.h1-chips:not(#_),
  html body.inner.t-about:not(.t-hub1) .hero ul.trust:not(#_){
    margin-top:16px!important;
  }
}

/* E30  -  /comfort-club/ Keep exploring top pad match shared */
html body[data-svc=club] #rel.sec:not(#_),
html body[data-svc=comfort-club] #rel.sec:not(#_),
html body.inner #rel.prel.re2:not(#_){
  /* default; override club-only extras below */
}
html body[data-page=comfort-club] #rel.sec:not(#_),
html body .sec.prel.re2:not(#_){
  padding-top:var(--sec-pad-y,88px)!important;
}
@media (max-width:699px){
  html body .sec.prel.re2:not(#_){
    padding-top:64px!important;
  }
}

/* E34  -  eyebrow outliers → standard Saira 12px + stripes + #00468C / #FED14D */
html body .eb:not(#_),
html body p.eb:not(#_),
html body .eb2:not(#_),
html body p.eb2:not(#_){
  font-family:Saira,var(--display),sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--blue,#00468C)!important;
}
html body .sec.D .eb:not(#_),
html body .sec.D .eb2:not(#_),
html body .D .eb:not(#_),
html body .hero .eb:not(#_),
html body .hero .eb2:not(#_){
  color:var(--y,#FED14D)!important;
}
/* keep contact/book form without eyebrow icon treatment on HAVE QUESTIONS if present  -  §7 */
html body #book .eb2:not(#_)::before,
html body[data-svc=contact] #book .eb2:not(#_)::before{
  display:none!important;
  content:none!important;
}

/* E37  -  phone hero title→subtext standard gap + text col width */
@media (max-width:699px){
  html body .hero h1:not(#_) + .hs:not(#_),
  html body .hero h1:not(#_) + .lead:not(#_),
  html body .hero h1:not(#_) + p:not(#_),
  html body .svc-hero h1:not(#_) + .lead:not(#_),
  html body .ab-hero h1:not(#_) + .lead:not(#_){
    margin-top:12px!important;
  }
  html body .hero .hc:not(#_),
  html body .hero .wrap.hc > *:not(#_),
  html body .svc-hero .wrap > .lead:not(#_),
  html body .ab-hero .wrap > .lead:not(#_){
    max-width:100%!important;
  }
  html body .hero .lead:not(#_),
  html body .svc-hero .lead:not(#_),
  html body .ab-hero .lead:not(#_){
    max-width:none!important;
    width:auto!important;
  }
}

/* E38  -  inner H1 step-up at 1024; keep Tesla short landscape from E5 */
@media (min-width:1024px){
  html body.inner main section.hero.ab-hero h1:not(#_):not(#_):not(#_),
  html body.inner main section.hero.svc-hero h1:not(#_):not(#_):not(#_),
  html body.inner main section.hero h1:not(#_):not(#_):not(#_),
  html body main section.hero.ab-hero h1:not(#_):not(#_):not(#_),
  html body main section.hero.svc-hero h1:not(#_):not(#_):not(#_){
    font-size:46px!important;
    line-height:1.08!important;
  }
}
@media (min-width:1100px) and (max-height:760px){
  html body.inner main section.hero.ab-hero h1:not(#_):not(#_):not(#_),
  html body.inner main section.hero.svc-hero h1:not(#_):not(#_):not(#_),
  html body.inner main section.hero h1:not(#_):not(#_):not(#_),
  html body main section.hero.ab-hero h1:not(#_):not(#_):not(#_),
  html body main section.hero.svc-hero h1:not(#_):not(#_):not(#_){
    font-size:46px!important; /* E5 Tesla fold kept */
    line-height:1.05!important;
  }
}

/* E40  -  orphans / balance; hero bullet icon consistency */
html body .hero h1:not(#_),
html body .hero h2:not(#_),
html body .svc-hero h1:not(#_),
html body main h2:not(#_){
  text-wrap:balance!important;
}
html body .hero .trust li i:not(#_),
html body .hero ul.trust li i:not(#_),
html body .svc-hero .trust li i:not(#_){
  width:28px!important;
  height:28px!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:none!important;
}


/* E31  -  footer email under phone */
html body .fx .fx-mail:not(#_),
html body footer.fx a.fx-mail:not(#_){
  display:block!important;
  margin-top:8px!important;
  color:inherit!important;
  font-weight:600!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  word-break:break-word!important;
}
html body .fx .fx-mail:not(#_):hover{opacity:.85}

/* ===== herofade1: contain hero overlay to hero box (Bang 19:22 / batch item 7) =====
   Root cause: on inner/hub heroes the navy hero (and ::before fade) paints OVER the
   following light section in the glance-overlap band, so navy shows left of / under
   the glance into the next block. Home is fine (angled ::after wipe + z-index:6).
   Fix: keep ::before inset:0; clip both axes; stack the section after .glw above the
   hero (z-index 1) while glance stays at 7. Shared. Home unchanged. */
html body.inner main > section.hero.ab-hero:not(#_),
html body.t-svc main > section.hero.ab-hero:not(#_),
html body.t-svc main > section.svc-hero:not(#_),
html body.inner main > section.svc-hero:not(#_){
  z-index:0!important;
  overflow-x:clip!important;
  overflow-y:clip!important;
}
html body.inner main > .glw + .sec:not(#_),
html body.inner main > .glw.fx + .sec:not(#_),
html body.t-svc main > .glw + .sec:not(#_),
html body.t-svc main > .glw.fx + .sec:not(#_),
html body.inner main > .glw + script + .sec:not(#_),
html body.t-svc main > .glw + script + .sec:not(#_){
  position:relative!important;
  z-index:1!important;
}
/* ===== /herofade1 ===== */

/* ===== bang1907: coupons expiry flush-left, Home mascot lift, AH mobile, AH footers, plumbing older, coupons stack (Bang 19:05) ===== */
/* 1) Coupons expiry flush-left 600-1180 */
@media (min-width:600px) and (max-width:1180px){
  html body section#offers.zo7:not(#_):not(#_) .zo-endw:not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-endw:not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-endw:not(#_),
  html body section[id^=offers].zo:not(#_):not(#_) .zo-endw:not(#_){
    text-align:left!important;justify-self:start!important;margin-left:0!important;padding-left:0!important;width:100%!important;
  }
  html body section#offers.zo7:not(#_):not(#_) .zo-endr:not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-endr:not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-endr:not(#_),
  html body section[id^=offers].zo:not(#_):not(#_) .zo-endr:not(#_){
    text-align:left!important;justify-self:start!important;margin-left:0!important;padding-left:0!important;
  }
  html body section#offers.zo7:not(#_):not(#_) .zo-ends:not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-ends:not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-ends:not(#_),
  html body section[id^=offers].zo:not(#_):not(#_) .zo-ends:not(#_),
  html body section#offers.zo .zo-ends:not(#_){
    text-align:left!important;justify-self:start!important;margin-left:0!important;padding-left:0!important;
  }
}

/* 2) HOME ONLY: lift .hrun so feet sit on taller glance card top edge (phones already OK) */
@media (min-width:700px) and (max-width:899px){
  html body:not(.inner):not(.t-svc):not(.t-hub1):not([data-svc]) main section.hero .hrun:not(#_):not(#_):not(#_){
    bottom:110px!important;top:auto!important;
  }
}
@media (min-width:900px) and (max-width:1199px){
  html body:not(.inner):not(.t-svc):not(.t-hub1):not([data-svc]) main section.hero .hrun:not(#_):not(#_):not(#_){
    bottom:136px!important;top:auto!important;
  }
}
@media (min-width:1200px){
  html body:not(.inner):not(.t-svc):not(.t-hub1):not([data-svc]) main section.hero .hrun:not(#_):not(#_):not(#_){
    bottom:140px!important;top:auto!important;
  }
}

/* 3) MOBILE (<700) After Hours: mascot top-right beside title; pill full width */
@media (max-width:699.98px){
  html body #after-hours .h4-ahw .h4-ahh:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    position:relative!important;
    padding-right:0!important;
    display:block!important;
  }
  html body #after-hours .h4-ahw .h4-ahh .h4-run:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    width:96px!important;
    height:auto!important;
    margin:0!important;
    z-index:2!important;
  }
  html body #after-hours .h4-ahw .h4-ahh>.eb:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body #after-hours .h4-ahw .h4-ahh>h2:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    padding-right:108px!important;
    max-width:100%!important;
  }
  html body #after-hours .h4-ahw .h4-ahh>.h4-lead:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body #after-hours .h4-ahw .h4-ahh>p.pp.h4-lead:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    padding-right:0!important;
  }
  html body #after-hours .h4-ahw .h4-ahh .h4-pill:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body #after-hours .h4-pill:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    margin-top:14px!important;
    box-sizing:border-box!important;
  }
  html body #after-hours .h4-ahw .h4-ahh .h4-pill .clock:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    max-width:100%!important;
    width:100%!important;
    white-space:normal!important;
    box-sizing:border-box!important;
  }
}

/* 4) AH footers/* 4) AH footers bottom-aligned all pages (not only t-hub1) */
html body #after-hours .h4-card:not(#_),
html body #after-hours .h4-step:not(#_),
html body #after-hours .h4-c:not(#_){
  display:flex!important;flex-direction:column!important;
}
html body #after-hours .h4-dr:not(#_){
  margin-top:auto!important;
}

/* 5) Plumbing Older homes: shrink slider column vs text */
@media (min-width:768px){
  html body #older-homes .h4-2c.gl-2c.gl-g-p2:not(#_),
  html body.t-hub1 #older-homes .h4-2c.gl-2c.gl-g-p2:not(#_),
  html body.t-svc #older-homes .h4-2c.gl-2c.gl-g-p2:not(#_),
  html body[data-svc] #older-homes .h4-2c.gl-2c.gl-g-p2:not(#_){
    grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr)!important;
    align-items:center!important;gap:28px!important;
  }
  html body #older-homes figure.gp2:not(#_){
    max-width:100%!important;
  }
}

/* 6) Coupons stacked: close title to first-coupon gap; beat :is(#offers#offers) 100px */
html body section#offers.zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *,#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *,#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_),
html body section#offers-electrical.zo7:not(#_):not(#_) .zo-hd:is(#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *):not(#_),
html body section#offers-plumbing.zo7:not(#_):not(#_) .zo-hd:is(#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_){
  position:relative!important;
  margin-bottom:22px!important;
  min-height:0!important;
}
@media (max-width:1023px){
  html body section#offers.zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *,#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *,#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_),
  html body section#offers-electrical.zo7:not(#_):not(#_) .zo-hd:is(#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *):not(#_),
  html body section#offers-plumbing.zo7:not(#_):not(#_) .zo-hd:is(#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_){
    margin-bottom:18px!important;
    padding-right:140px!important;
    min-height:0!important;
  }
}
@media (max-width:600px){
  html body section#offers.zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *):not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-hd:is(#offers#offers,#offers#offers *,#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *,#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_),
  html body section#offers-electrical.zo7:not(#_):not(#_) .zo-hd:is(#offers-electrical#offers-electrical,#offers-electrical#offers-electrical *):not(#_),
  html body section#offers-plumbing.zo7:not(#_):not(#_) .zo-hd:is(#offers-plumbing#offers-plumbing,#offers-plumbing#offers-plumbing *):not(#_){
    margin-bottom:14px!important;
    padding-right:calc(var(--zmw,96px) + 12px)!important;
    min-height:0!important;
  }
}
/* .zo-pk lives inside first .zo-cp; keep peeking above sheet into title right gutter */
html body section#offers.zo7:not(#_):not(#_) .zo-pk:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-pk:not(#_){
  right:10px!important;
  bottom:calc(100% - 12px)!important;
  top:auto!important;
  clip-path:inset(0 0 12px)!important;
  z-index:3!important;
  pointer-events:none!important;
}
@media (max-width:600px){
  html body section#offers.zo7:not(#_):not(#_) .zo-pk:not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-pk:not(#_){
    width:var(--zmw,96px)!important;
    height:calc(var(--zmw,96px) * 91 / 126)!important;
    right:6px!important;
  }
}

/* ===== /bang1907 ===== */

/* ===== bang-about: review stars brand yellow + aria-hidden exempt ===== */
/* Bang: brand yellow #FED14D like the big 4.9 stars. Decorative .st is aria-hidden;
   rating lives in text/aria-label. Exempt from contrast gate. */
:root{
  --star-on-light:#FED14D;
}
html body .rv .st:not(#_):not(#_):not(#_):not(#_),
html body figure.pq figcaption .st:not(#_):not(#_):not(#_):not(#_),
html body .inner .rv .st:not(#_):not(#_):not(#_):not(#_),
html body .rv .st:is(#reviews,#reviews *):not(#_):not(#_),
html body figure.pq figcaption .st:is(#reviews,#reviews *):not(#_):not(#_){
  color:#FED14D!important;
}
/* ===== /bang-about stars ===== */

/* ===== bang-reviews: remove diagonal cut wedges on every dark/light block ===== */
/* Bang: faint diagonal across Comfort Club and other dark blocks - remove everywhere.
   Places that used cut-l / cut-r / night.cut-l (reviews, offers, promise, club neighbors, etc.). */
html body .cut-l::after,
html body .cut-r::after,
html body .brx.cut-l::after,
html body #reviews.cut-l::after,
html body section#reviews.cut-l::after,
html body #promise.cut-l::after{
  display:none!important;
  content:none!important;
  height:0!important;
  top:auto!important;
  background:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}
html body .night.cut-l{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-top-width:0!important;
  margin-top:0!important;
}
/* Undo angle-aware extra bottom pad now that wedges are gone */
html body main > .sec:has(+ .cut-l),
html body main > .sec:has(+ .cut-r),
html body main > .sec:has(+ .night.cut-l),
html body main > section.sec:has(+ .cut-l),
html body main > section.sec:has(+ .cut-r),
html body main > section.sec:has(+ .night.cut-l){
  padding-bottom:var(--sec-pad-y)!important;
}
/* ===== /bang-reviews ===== */

/* bang-specials-picker: category picker + save more + flat hero under specials */
html body[data-svc="spec"] .hero{overflow:clip}
html body[data-svc="spec"] .hero::after{content:none!important;display:none!important}
html body[data-svc="spec"] #offer-categories,
html body[data-svc="spec"] #offers-hvac,
html body[data-svc="spec"] #offers-plumbing,
html body[data-svc="spec"] #offers-electrical,
html body[data-svc="spec"] #save-more,
html body[data-svc="spec"] #how-offers{scroll-margin-top:96px}
.sp-pick-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.sp-pick-c{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:52px;padding:22px 22px 20px;border-radius:var(--r,16px);background:#fff;border:1px solid var(--line,#D8E2EE);box-shadow:0 14px 30px rgba(0,5,62,.08);text-decoration:none;color:var(--ink,#00053E);transition:transform .18s ease,box-shadow .18s ease}
.sp-pick-c:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,5,62,.12)}
.sp-pick-c:focus-visible{outline:3px solid var(--sky,#0075BD);outline-offset:3px}
.sp-pick-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#EEF3FB;color:var(--blue,#00468C)}
.sp-pick-ic svg{display:block;fill:currentColor}
.sp-pick-t{font:800 22px/1.1 var(--display,Saira,sans-serif);color:var(--ink,#00053E)}
.sp-pick-s{font-size:15px;color:#33426b}
@media(max-width:699px){.sp-pick-g{grid-template-columns:1fr}.sp-pick-c{min-height:64px;padding:18px}}
.sp-save-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}
.sp-save-c{display:flex;flex-direction:column;gap:8px;min-height:52px;padding:26px 24px;border-radius:var(--r,16px);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#e6ecf8;transition:transform .18s ease,background .18s ease}
.sp-save-c:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}
.sp-save-c:focus-visible{outline:3px solid var(--y,#FED14D);outline-offset:3px}
.sp-save-k{font:700 12px/1 var(--display,Saira,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--y,#FED14D)}
.sp-save-t{font:800 22px/1.15 var(--display,Saira,sans-serif);color:#fff}
.sp-save-d{font-size:15.5px;line-height:1.45;color:#c9d3ec}
.sp-save-a{margin-top:6px;font-weight:800;color:var(--y,#FED14D)}
@media(max-width:699px){.sp-save-g{grid-template-columns:1fr}}

/* bang-financing: flat inner hero + flat #how; Home stays angled (R291) */
html body[data-svc="fin"] .hero{overflow:clip}
html body[data-svc="fin"] .hero::after{content:none!important;display:none!important;height:0!important}
html body.inner[data-svc="fin"] main > #how.sec.cut-l,
html body.inner[data-svc="fin"] main > section#how.sec.cut-l,
html body.inner[data-svc="fin"] main > #how.sec,
html body.inner[data-svc="fin"] main > section#how.sec{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  border-top-width:0!important;
}
html body.inner[data-svc="fin"] main > #how.sec::after,
html body.inner[data-svc="fin"] main > section#how.sec::after{
  content:none!important;display:none!important;height:0!important;
}
html body[data-svc="fin"] #how,
html body[data-svc="fin"] #example,
html body[data-svc="fin"] #faq{scroll-margin-top:96px}

/* bang-faq: remove duplicate cat pills; searchable FAQ box */
html body.g5 .cat-jump{display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
html body.g5 .fx-search{position:relative;z-index:2;pointer-events:auto}
html body.g5 .fx-search input,
html body.g5 .fx-search button{pointer-events:auto;touch-action:manipulation;-webkit-user-select:text;user-select:text}
html body.g5 .fx-search input:disabled,
html body.g5 .fx-search button:disabled{pointer-events:none}
html body.g5 .fx-search input{cursor:text;background:#fff;color:#00053E}
html body.g5 .fx-search button{cursor:pointer}
html body.g5 .fx-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
html body.g5 details.fq[hidden]{display:none!important}


/* bang-mega: left panel soft gradient + pin All... link to bottom (aligned with dark feat) */
html body .nx-pin{
  align-items:stretch;
}
html body .nx-links{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  box-sizing:border-box;
  padding-bottom:0;
  background:
    linear-gradient(165deg, #ffffff 0%, #f7faff 48%, #eef4fb 100%);
}
html body .nx-links .nx-ph,
html body .nx-links .nx-cols,
html body .nx-links .nx-two{
  flex:0 0 auto;
}
html body .nx-links .nx-all{
  margin-top:auto;
  align-self:flex-start;
  margin-bottom:0;
  padding-bottom:32px;
  box-sizing:content-box;
}
html body .nx-feat{
  align-self:stretch;
}


/* bang-terms-talk: financing #terms (D) + FAQ talk redesign */
html body[data-svc="fin"] #terms{
  background:#00053E;
  background-image:radial-gradient(90% 70% at 100% 0,rgba(0,117,189,.22),transparent 60%);
  padding:72px 0;
}
html body[data-svc="fin"] #terms .fin-terms{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:stretch;
}
@media(min-width:900px){
  html body[data-svc="fin"] #terms .fin-terms{
    grid-template-columns:1.05fr .95fr;
    gap:40px;
  }
}
html body[data-svc="fin"] #terms .fin-terms-card{
  background:#fff;
  color:#14183a;
  border-radius:16px;
  padding:28px 26px;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
html body[data-svc="fin"] #terms .fin-terms-card .eb{color:#00468C}
html body[data-svc="fin"] #terms .fin-terms-card h2{
  color:#00053E;
  margin:0 0 8px;
  font:800 clamp(28px,3.6vw,40px)/1.1 system-ui,sans-serif;
}
html body[data-svc="fin"] #terms .disc{
  margin:0 0 12px;
  font-size:14.5px;
  line-height:1.45;
  color:#33426b;
}
html body[data-svc="fin"] #terms .terms{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0 20px;
}
html body[data-svc="fin"] #terms .terms div{
  background:#F4F6FA;
  border:1px solid #D8E2EE;
  border-radius:12px;
  padding:14px;
}
html body[data-svc="fin"] #terms .terms span{
  display:block;
  font:700 11px/1 system-ui,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5a6478;
  margin-bottom:4px;
}
html body[data-svc="fin"] #terms .terms b{
  font:800 20px/1.15 system-ui,sans-serif;
  color:#00053E;
}
html body[data-svc="fin"] #terms .lic{
  margin:0;
  font-size:13.5px;
  line-height:1.4;
  color:#5a6478;
  padding-top:12px;
  border-top:1px solid #D8E2EE;
}
html body[data-svc="fin"] #terms .fin-terms-photo{
  margin:0;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  aspect-ratio:4/3;
  background:#0a1150;
  height:100%;
  min-height:280px;
}
html body[data-svc="fin"] #terms .fin-terms-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* talk redesign (shared _inc/talk.html) */
html body #talk .talk.talk-tech,
html body .talk.talk-tech{
  display:grid;
  grid-template-columns:200px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  background:#fff;
  color:#00053E;
  border-radius:16px;
  padding:32px 36px;
  border-left:6px solid #FED14D;
  box-shadow:0 18px 44px rgba(0,0,0,.35);
}
html body .talk.talk-tech .talk-photo{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:3/4;
  background:#0a1150;
  max-height:220px;
}
html body .talk.talk-tech .talk-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 20%;
}
html body .talk.talk-tech .eb{color:#00468C;margin:0 0 10px}
html body .talk.talk-tech h2{
  font:800 clamp(26px,3.2vw,36px)/1.12 system-ui,sans-serif;
  color:#00053E;
  margin:0 0 10px;
  max-width:18ch;
}
html body .talk.talk-tech .lead{
  margin:0 0 14px;
  color:#5a6478;
  font-size:15.5px;
  line-height:1.45;
  max-width:42ch;
}
html body .talk.talk-tech .trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
html body .talk.talk-tech .trust li{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#F4F6FA;
  border:1px solid #D8E2EE;
  font:700 12.5px/1 system-ui,sans-serif;
  color:#00053E;
}
html body .talk.talk-tech .trust li::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#FED14D;
  box-shadow:0 0 0 2px rgba(254,209,77,.35);
}
html body .talk.talk-tech .ctas{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:260px;
}
html body .talk.talk-tech .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:52px;
  padding:0 22px;
  border-radius:999px;
  font:800 15px/1 system-ui,sans-serif;
  text-decoration:none;
  box-sizing:border-box;
}
html body .talk.talk-tech .btn.call{background:#FED14D;color:#111}
html body .talk.talk-tech .btn.book{background:#fff;color:#00053E;border:2px solid #00053E}
@media(max-width:900px){
  html body .talk.talk-tech{
    grid-template-columns:120px 1fr;
    padding:24px;
  }
  html body .talk.talk-tech .ctas{grid-column:1/-1;min-width:0}
  html body .talk.talk-tech .btn{width:100%}
  html body .talk.talk-tech .talk-photo{max-height:160px}
}
@media(max-width:520px){
  html body .talk.talk-tech{
    grid-template-columns:1fr;
    padding:22px 18px;
  }
  html body .talk.talk-tech .talk-photo{max-height:200px;aspect-ratio:16/10}
}


/* bang-terms-talk2: R275 contain terms photo + talk mobile grid */
html body[data-svc="fin"] #terms .fin-terms{
  max-width:100%;
  min-width:0;
}
html body[data-svc="fin"] #terms .fin-terms-card,
html body[data-svc="fin"] #terms .fin-terms-photo{
  min-width:0;
  max-width:100%;
}
html body[data-svc="fin"] #terms .fin-terms-photo{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
}
html body[data-svc="fin"] #terms .fin-terms-photo img{
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
}
html body #talk .talk.talk-tech,
html body .talk.talk-tech{
  max-width:100%;
  box-sizing:border-box;
}
html body #talk .talk.talk-tech .talk-copy,
html body #talk .talk.talk-tech .ctas,
html body #talk .talk.talk-tech .talk-photo{
  min-width:0;
}
@media(max-width:900px){
  html body #talk .talk.talk-tech,
  html body .talk.talk-tech{
    grid-template-columns:120px minmax(0,1fr);
    padding:24px;
  }
  html body #talk .talk.talk-tech .ctas,
  html body .talk.talk-tech .ctas{
    grid-column:1/-1;
    min-width:0;
  }
  html body #talk .talk.talk-tech .btn,
  html body .talk.talk-tech .btn{width:100%}
  html body #talk .talk.talk-tech .talk-photo,
  html body .talk.talk-tech .talk-photo{max-height:160px}
}
@media(max-width:520px){
  html body #talk .talk.talk-tech,
  html body .talk.talk-tech{
    grid-template-columns:minmax(0,1fr);
    padding:22px 18px;
  }
  html body #talk .talk.talk-tech .talk-photo,
  html body .talk.talk-tech .talk-photo{
    max-height:200px;
    aspect-ratio:16/10;
    max-width:100%;
  }
}


/* ===== sth-bang-club-elec: safety strip on .sec.L keeps dark ge2 chrome (Bang 2026-10-30) ===== */
/* Strip swapped onto light section; card keeps current navy look (not white/yellow). */
html body #safety-inspection.sec.L .ge2:not(#_):not(#_),
html body:is(.zz,*) #safety-inspection.sec.L .ge2:not(#_):not(#_):not(#_){
  --gl-bg:#00053E !important;
  --gl-ink:#fff !important;
  --gl-eb:#FED14D !important;
  --gl-shadow:0 18px 40px -22px rgba(0,0,0,.45) !important;
  background:#00053E !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:
    0 18px 44px -16px rgba(0,0,0,.6),
    0 0 0 1px rgba(254,209,77,.2) !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail b:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed .ge2-rail b:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed.gl-in .ge2-rail b:not(#_){
  color:#fff !important;
  opacity:1 !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail li>span:last-child:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed .ge2-rail li>span:last-child:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed.gl-in .ge2-rail li>span:last-child:not(#_){
  color:#8ED3F5 !important;
  opacity:1 !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-node:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed .ge2-node:not(#_),
html body #safety-inspection.sec.L .ge2.gl-armed.gl-in .ge2-node:not(#_){
  background:#FED14D !important;
  color:#00053E !important;
  box-shadow:0 0 0 4px #00053E,0 0 0 7px rgba(254,209,77,.35) !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail li:not(:last-child)::before{
  background:rgba(142,211,245,.55) !important;
  opacity:1 !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail li:not(:last-child)::after,
html body #safety-inspection.sec.L .ge2.gl-armed .ge2-rail li:not(:last-child)::after,
html body #safety-inspection.sec.L .ge2.gl-armed.gl-in .ge2-rail li:not(:last-child)::after{
  background:#FED14D !important;
  opacity:1 !important;
  transform:none !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail::before{
  background:rgba(142,211,245,.55) !important;
  opacity:1 !important;
}
html body #safety-inspection.sec.L .ge2 .ge2-rail::after,
html body #safety-inspection.sec.L .ge2.gl-armed .ge2-rail::after,
html body #safety-inspection.sec.L .ge2.gl-armed.gl-in .ge2-rail::after{
  background:#FED14D !important;
  opacity:1 !important;
  transform:none !important;
}
/* Section copy on light: ink on paper (AA) */
html body #safety-inspection.sec.L .eb:not(#_),
html body #safety-inspection.sec.L h2:not(#_),
html body #safety-inspection.sec.L .pp:not(#_),
html body #safety-inspection.sec.L .pmore a:not(#_){
  color:#00053E !important;
}
html body #safety-inspection.sec.L .pp:not(#_){
  color:#33426b !important;
}
html body #safety-inspection.sec.L .eb:not(#_){
  color:#33426b !important;
}
/* ===== /sth-bang-club-elec ===== */


/* bang-mega2: visible soft left-panel gradient + title/subtitle divider (Bang 2026-10-30) */
html body .nx-links{
  background:
    radial-gradient(85% 70% at 100% 100%, rgba(0,70,140,.08), transparent 58%),
    radial-gradient(55% 45% at 8% 0%, rgba(254,209,77,.055), transparent 52%),
    linear-gradient(155deg, #ffffff 0%, #f4f8fc 38%, #e6eef7 72%, #e2ebf4 100%);
}
html body .nx-links .nx-ph{
  position:relative;
  margin:0 0 14px;
  padding-bottom:14px;
}
html body .nx-links .nx-ph::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:0;
  width:52px;
  height:3px;
  background:#FED14D;
  border-radius:2px;
}
/* Resources twin titles: short bar under each */
html body .nx-links .nx-two .nx-ph{
  margin-bottom:14px;
}
/* Keep pinned All... bottom-aligned with feat; do not shift horizontal start */
html body .nx-links .nx-all{
  margin-top:auto;
  align-self:flex-start;
  margin-bottom:0;
  padding-bottom:32px;
  box-sizing:content-box;
}


/* bang-mega2b: stronger visible soft left-panel gradient (still subtle, AA-safe) */
html body .nx-links{
  background:
    radial-gradient(95% 85% at 100% 100%, rgba(0,70,140,.16), transparent 56%),
    radial-gradient(65% 55% at 0% 0%, rgba(254,209,77,.09), transparent 48%),
    linear-gradient(155deg, #ffffff 0%, #eef3fa 32%, #d9e6f3 68%, #cfe0ef 100%);
}


/* bang-mega2c: visible soft gradient, AA-safe BR (g3 subtitle / navy links) */
html body .nx-links{
  background:
    radial-gradient(95% 85% at 100% 100%, rgba(0,70,140,.10), transparent 58%),
    radial-gradient(65% 55% at 0% 0%, rgba(254,209,77,.08), transparent 50%),
    linear-gradient(155deg, #ffffff 0%, #f2f6fb 34%, #dde8f4 70%, #d5e4f2 100%);
}

/* bang-mega-flatdiv: flat row dividers in ALL mega dropdowns (Bang 2026-10-30)
   .nx-col a used border-radius:12px with border-bottom, which curled the ends.
   Drop the bottom border on the rounded link; draw a radius-0 1px line via ::after.
   Hover background stays on the rounded a itself. */
html body .nx-col a{
  position:relative;
  border-bottom:none !important;
}
html body .nx-col a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--g1,#E8EEF6);
  border-radius:0 !important;
  pointer-events:none;
}

/* bang-mega-flatdiv2: divider on li (no radius) so ends stay square in ALL dropdowns.
   Hover fill stays on rounded .nx-col a; a::after from flatdiv disabled. */
html body .nx-col > li{
  border-bottom:1px solid var(--g1,#F3F5F8);
  border-radius:0 !important;
}
html body .nx-col a{
  border-bottom:none !important;
}
html body .nx-col a::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  height:0 !important;
  background:none !important;
}

/* bang-final-audit-fa1 */
/* Item 2: slim D members-save band on comfort-club */
html body .cc-msave{
  padding:40px 0 36px !important;
}
html body .cc-msave .intro{margin-bottom:0;}
html body .cc-msave-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px 32px;
}
html body .cc-msave-copy{flex:1 1 280px;max-width:640px;}
html body .cc-msave .ctas{margin:0;}
@media (max-width:699px){
  html body .cc-msave{padding:32px 0 28px !important;}
  html body .cc-msave .ctas{width:100%;}
  html body .cc-msave .ctas .btn{flex:1 1 100%;}
}

/* Item 3: licenses .h4-mcf remove 2px dashed above Call/Book */
html body.t-hub1[data-svc="lic"] .h4-mcf,
html body .lic-page .h4-mcf,
html body #main .h4-mcf{
  border-top:0 !important;
  border-top-style:none !important;
}

/* Item 4: scrollWidth = viewport; fix overflow causes (not body hide) */
html body .nx{overflow-x:clip;}
html body .nx-w{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;/* combo2: match .wrap; bands full-bleed */}
@media (min-width:1100px) and (max-width:1199px){
  html body .nx-cta{gap:6px !important;}
  html body .nx-btn{padding-left:14px !important;padding-right:14px !important;}
}
html body #services .sx-view{overflow:hidden;}
/* bang-title-hero2: sx-spot is a 200% radial dim; keep math, clip to rounded .sx-view */
html body #services .sx-view{
  overflow:hidden!important;
  border-radius:20px!important;
  position:relative!important;
}
html body #services .sx-spot{
  left:-100%!important;
  top:-100%!important;
  right:auto!important;
  bottom:auto!important;
  width:200%!important;
  height:200%!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
}
html body #reviews .tr,
html body .tr{max-width:100%;}

/* Item 6: electrical .h4-cards.n5 - [3,2] at 768/1024 (no orphan); <768 unchanged */
@media (min-width:600px) and (max-width:767px){
  html body .h4-cards.n5{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  html body .h4-cards.n5 > :last-child{
    grid-column:1 / -1;
  }
}
@media (min-width:768px) and (max-width:1099px){
  html body .h4-cards.n5{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  html body .h4-cards.n5 > :last-child{
    grid-column:auto;
  }
}

/* Item 7 REVERT svc-stack1: vertical #services .sx-cards (was 2-col @700-1024) */
@media (min-width:700px) and (max-width:1024px){
  html body #services .sx-cards,
  html body #services .sx .sx-cards,
  html body .sx[data-sx] .sx-cards{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    height:auto !important;
    min-height:0 !important;
    gap:10px !important;
    align-content:stretch !important;
    width:100% !important;
    max-width:100% !important;
  }
  html body #services .sx-card,
  html body #services .sx-card.on,
  html body #services .sx-cards > .sx-card,
  html body #services .sx-cards > .sx-card.on{
    flex:none !important;
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    grid-column:auto !important;
  }
  /* bang-title-hero2: only the .on card shows body; collapsed stay shut */
  html body #services .sx-card:not(.on) .sx-body,
  html body #services .sx-cards > .sx-card:not(.on) .sx-body{
    display:none !important;
  }
  html body #services .sx-card.on .sx-body{
    display:block !important;
    flex:none !important;
  }
  html body #services .sx-card.on .sx-act{margin-top:12px !important;}
  html body #services .sx-cards > .sx-card:last-of-type{
    grid-column:auto !important;
  }
}

/* Item 8: Home .pchips one row or 2+2 at 1024 */
@media (min-width:1000px) and (max-width:1100px){
  html body #rel .pchips,
  html body .prel .pchips,
  html body .pchips.n3{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }
}

/* Item 9: Call yellow glow every Call sitewide (About header token) */
html body a.btn.call,
html body .btn.call,
html body a.call.btn{
  position:relative;
  isolation:isolate;
}
html body a.btn.call::before,
html body .btn.call::before,
html body a.call.btn::before{
  content:"" !important;
  position:absolute !important;
  inset:-6px !important;
  border-radius:inherit !important;
  box-shadow:0 8px 22px -8px rgba(254,209,77,0.6), 0 0 0 3px rgba(254,209,77,0.35) !important;
  z-index:-1 !important;
  opacity:1 !important;
  pointer-events:none !important;
  animation:none !important;
  transform:none !important;
}
@media (prefers-reduced-motion:reduce){
  html body a.btn.call::before,
  html body .btn.call::before{opacity:1 !important;}
}

/* Item 14: outlined Book on light cards -> Club navy #00053E; AA holds */
html body .btn.book,
html body a.btn.book,
html body .card-on-light .btn.book,
html body .L .btn.book,
html body .sec.L .btn.book,
html body .h4-mc .btn.book,
html body .talk .btn.book,
html body .fqcall .btn.book,
html body .pcallc .btn.book,
html body .slab.L .btn.book{
  border-color:#00053E !important;
  color:#00053E !important;
}
/* Keep white outline Book on dark surfaces */
html body .D .btn.book,
html body .onDark .btn.book,
html body .hero .btn.book,
html body .sec.D .btn.book,
html body #book .btn.book,
html body .club .btn.book,
html body #offers .club .btn.book,
html body .brx .btn.book,
html body .night .btn.book,
html body .inline-cta .btn.book,
html body .bx-dock .btn.book{
  border-color:#fff !important;
  color:#fff !important;
}
/* Club card / navy-on-light explicit token match */
html body #club .btn.book,
html body #club.cd8 .btn.book,
html body .cd8 .btn.book{
  border-color:#00053E !important;
  color:#00053E !important;
}


/* ===== bang-fa-hotfix REVERT svc-stack1: sx vertical; keep Item 8 pchips below ===== */
@media (min-width:700px) and (max-width:1024px){
  html body #services .sx-cards,
  html body #services .sx .sx-cards,
  html body .sx[data-sx] .sx-cards{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    height:auto !important;
    min-height:0 !important;
    position:relative !important;
    gap:10px !important;
  }
  html body #services .sx-cards > .sx-card,
  html body #services .sx-cards > .sx-card.on{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    transform:none !important;
    flex:none !important;
    grid-column:auto !important;
  }
  html body #services .sx-cards > .sx-card:last-of-type{
    grid-column:auto !important;
  }
  html body #services .sx-cards > .sxf-sp,
  html body .sx-cards > .sxf-sp{
    display:none !important;
    height:0 !important;
    width:0 !important;
    padding:0 !important;
    margin:0 !important;
    position:absolute !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}
/* Item 8: beat bundle-site auto-fit 3-col at ~1024 */
@media (min-width:1000px) and (max-width:1100px){
  #rel#rel#rel#rel#rel#rel#rel#rel .pchips,
  #rel#rel#rel#rel#rel#rel#rel#rel .pchips.n3,
  #rel#rel#rel#rel#rel#rel#rel#rel .pchips.n4,
  html body:is(.zz,*) .prw .pchips:not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
  html body:is(.zz,*) .prw .pchips.n3:not(#_):is(#rel#rel#rel#rel#rel#rel,#rel#rel#rel#rel#rel#rel *),
  html body #rel .pchips,
  html body #rel .pchips.n3,
  html body .prel .pchips{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    gap:12px !important;
  }
  #rel#rel#rel#rel#rel#rel#rel#rel .pchips > li,
  html body #rel .pchips > li{
    display:flex !important;
    min-width:0 !important;
  }
}


/* ===== bang-fa-hotfix2 REVERT svc-stack1: sx vertical + keep overflow safety; pchips below ===== */
@media (min-width:700px) and (max-width:1024px){
  html body #services .sx-cards,
  html body #services .sx .sx-cards,
  html body .sx[data-sx] .sx-cards{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    height:auto !important;
    min-height:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    gap:10px !important;
  }
  html body #services .sx-cards > .sx-card,
  html body #services .sx-cards > .sx-card.on{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    transform:none !important;
    flex:none !important;
    overflow:hidden !important;
    grid-column:auto !important;
  }
  html body #services .sx-cards > .sx-card:last-of-type{
    grid-column:auto !important;
    max-width:100% !important;
  }
  html body #services .sx-cards .sx-chips,
  html body #services .sx-cards .sx-body,
  html body #services .sx-cards .sx-head{
    min-width:0 !important;
    max-width:100% !important;
  }
  html body #services .sx,
  html body #services .sx[data-sx]{
    max-width:100% !important;
    overflow:hidden !important;
  }
}
@media (min-width:1000px) and (max-width:1100px){
  #rel#rel#rel#rel#rel#rel#rel#rel#rel#rel .pchips,
  #rel#rel#rel#rel#rel#rel#rel#rel#rel#rel .pchips.n3,
  #rel#rel#rel#rel#rel#rel#rel#rel#rel#rel .pchips.n4,
  #rel#rel#rel#rel#rel#rel#rel#rel#rel#rel .pchips.n5,
  #rel#rel#rel#rel#rel#rel#rel#rel#rel .pchips.n3,
  #rel#rel#rel#rel#rel#rel#rel#rel .pchips.n3{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    gap:12px !important;
  }
}

/* ===== bang-title-hero1: .D h2,h3{color:#fff} was whitening city .pcard titles ===== */
html body .D .pcards .pcard h3,
html body #services.D .pcard h3,
html body.t-city #services .pcard h3,
html body.inner.t-city .pcards .pcard h3{
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink);
}

/* bang-title-hero1: keep sx cards vertical stack (svc-stack1) on every sx host */
@media (min-width:700px) and (max-width:1024px){
  html body #services .sx-cards,
  html body #services .sx .sx-cards,
  html body .sx[data-sx] .sx-cards,
  html body.t-about #services .sx-cards{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
  }
}


/* ===== bang-title-hero2: light-block headings (bundle #work h2{color:#fff} assumed dark) ===== */
html body #work.L h2,
html body #work.sec.L h2,
html body.t-city #work.L h2,
html body main #work.L > .wrap > h2{
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink);
}
html body #work.L > .wrap > .eb,
html body #work.sec.L .eb{
  color:var(--blue,#002d5c)!important;
}
html body.t-city section.sec.L > .wrap > h2{
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink);
}

/* bang-title-hero2: accordion collapsed on every host (home has no t-about) */
html body #services .sx-card:not(.on) .sx-body{
  display:none!important;
}
@media (min-width:700px) and (max-width:1024px){
  html body #services .sx-card:not(.on) .sx-body{
    display:none!important;
  }
  html body #services .sx-card.on .sx-body{
    display:block!important;
    flex:none!important;
  }
}

/* bang-title-hero3: sticky bar + AH footers + mega feat + pipe slider (2026-10-31) */

/* ===== Sticky mobile bar: Book visible + glow room + safe-area ===== */
/* Cause: fa-hotfix Item 14 forced navy Book on all .btn.book; .sticky omitted from dark list.
   Call glow ::before inset:-6px clipped by 6px sticky padding (small-batch1). */
html body .sticky,
html body:is(.zz,*) .sticky:not(#_):not(#_){
  overflow:visible!important;
  height:auto!important;
  min-height:0!important;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;
}
html body .sticky > div,
html body:is(.zz,*) .sticky > div:not(#_):not(#_){
  overflow:visible!important;
  align-items:center!important;
}
html body .sticky .btn,
html body .sticky .btn.call,
html body .sticky .btn.book,
html body:is(.zz,*) .sticky .btn:not(#_):not(#_){
  position:relative!important;
  overflow:visible!important;
  min-height:52px!important;
  height:52px!important;
  z-index:1!important;
}
/* Restore approved white outlined Book on navy sticky (override Item 14) */
html body .sticky .btn.book,
html body .sticky a.btn.book,
html body a.btn.book.sticky-book,
html body:is(.zz,*) .sticky .btn.book:not(#_):not(#_){
  border-color:#fff!important;
  color:#fff!important;
  background:transparent!important;
}
/* Keep Call glow inside bar: shrink halo to 4px and ensure bar padding >= halo */
html body .sticky .btn.call::before,
html body .sticky a.btn.call::before,
html body:is(.zz,*) .sticky .btn.call::before:not(#_):not(#_){
  inset:-4px!important;
  box-shadow:0 6px 18px -6px rgba(254,209,77,.55), 0 0 0 3px rgba(254,209,77,.32)!important;
}
/* Body clearance: bar ~12+52+12=76 + safe-area */
@media (max-width:699px){
  html body,
  html body.inner,
  html body:is(.zz,*) {
    padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
  }
  /* D9 r1: scoped to the site footer only (was bare "footer", which padded review/team card footers) */
  html body footer.fx,
  html body .fx-foot,
  html body > footer{
    padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* ===== Mega-menu: navy feat column bottom-aligned ===== */
html body .nx-feat,
html body:is(.zz,*) .nx-feat:not(#_):not(#_){
  justify-content:flex-end!important;
}
html body .nx-feat .nx-mascot,
html body .nx-feat .nx-mascot img{
  overflow:visible!important;
  flex-shrink:0!important;
}

/* ===== After-hours: pin yellow divider+label to card bottom (bang-title-hero4) ===== */
/* Cause: grid-template-rows:auto auto 1fr left empty 1fr under content div so margin-top:auto had no room */
html body.t-hub1 .h4-steps.h > li:not(#_):not(#_),
html body.t-hub1 .h4-ahg.ah-eq .h4-steps.h > li:not(#_):not(#_){
  grid-template-rows:auto 1fr!important;
  align-content:stretch!important;
  align-items:stretch!important;
}
html body.t-hub1 .h4-ahg.ah-eq .h4-steps > li > div:not(#_),
html body.t-hub1 .h4-steps.h > li > div:not(#_){
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
}
html body.t-hub1 .h4-ahg.ah-eq .h4-steps .h4-dr:not(#_),
html body.t-hub1 .h4-steps .h4-dr:not(#_),
html body #after-hours .h4-dr:not(#_),
html body.t-hub1 .h4-ahg.ah-eq .h4-steps .h4-tip + .h4-dr:not(#_){
  margin-top:auto!important;
  /* equalize 1-line vs 2-line yellow labels so tops match when bottoms pin */
  min-height:calc(10px + 2 * 1.3em)!important;
  box-sizing:border-box!important;
}

/* ===== bang-title-hero7: pipe recrop + side pad + dual clip (no bleed) ===== */
html body #older-homes .gl-g-p2,
html body .pa.h1-old .gl-g-p2,
html body:is(.zz,*) #older-homes .gl-g-p2:not(#_){
  align-items:center!important;
}
/* Image is 1152x680 (y40..720 of 864). Stage keeps 14% header band above the photo. */
html body figure.gp2 .gp2-stage,
html body #older-homes figure.gp2 .gp2-stage,
html body:is(.zz,*) figure.gp2 .gp2-stage:not(#_){
  aspect-ratio:1152 / 791!important; /* 680 / 0.86 */
}
@container (max-width:520px){
  html body figure.gp2 .gp2-stage,
  html body #older-homes figure.gp2 .gp2-stage{
    aspect-ratio:768 / 527!important; /* 453 / 0.86 */
  }
}
html body figure.gp2 .gp2-layer img,
html body #older-homes figure.gp2 .gp2-layer img,
html body:is(.zz,*) figure.gp2 .gp2-layer img:not(#_){
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  height:86%!important; /* restore header band above pipes */
  object-fit:cover!important;
  object-position:50% 50%!important;
}
/* Label bottom aligns with each pipe top (labels sit in the dark gap above the pipe) */
html body figure.gp2 .gp2-a .gp2-tags li:nth-child(1),
html body figure.gp2 .gp2-b .gp2-tags li:nth-child(1){ --ty:28%!important; }
html body figure.gp2 .gp2-a .gp2-tags li:nth-child(2),
html body figure.gp2 .gp2-b .gp2-tags li:nth-child(2){ --ty:50%!important; }
html body figure.gp2 .gp2-a .gp2-tags li:nth-child(3),
html body figure.gp2 .gp2-b .gp2-tags li:nth-child(3){ --ty:73%!important; }
/* Keep column headers fully visible; restore 14% navy veil */
html body figure.gp2 .gp2-a::after,
html body figure.gp2 .gp2-b::after{
  background:linear-gradient(180deg,#00053E 0,#00053E 14%,rgba(0,5,62,0) 24%,rgba(0,5,62,0) 80%,rgba(0,5,62,.6) 100%)!important;
}
/* Prevent head subtitles from crossing the handle (clipped "990s") */
html body figure.gp2 .gp2-a .gp2-head,
html body #older-homes figure.gp2 .gp2-a .gp2-head{
  right:auto!important;
  width:44%!important;
  max-width:44%!important;
}
html body figure.gp2 .gp2-b .gp2-head,
html body #older-homes figure.gp2 .gp2-b .gp2-head{
  left:auto!important;
  width:44%!important;
  max-width:44%!important;
}
/* bang-title-hero7: clip BOTH layers so head/tag text cannot bleed past the handle */
html body figure.gp2 .gp2-a,
html body #older-homes figure.gp2 .gp2-a,
html body:is(.zz,*) figure.gp2 .gp2-a:not(#_){
  clip-path:inset(0 calc(100% - var(--p)) 0 0)!important;
}

/* Sit labels in the 8% side pad (images are horizontally padded) */
html body figure.gp2 .gp2-a .gp2-tags li{ left:3.5%!important; }
html body figure.gp2 .gp2-b .gp2-tags li{ right:3.5%!important; }

/* ===== sth-bang-combo2 header-bleed ===== */
html body .nx{width:100%!important;max-width:none!important}
html body .nx-util,html body .nx-bar{width:100%!important;max-width:none!important}
html body .nx-w{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
/* ===== /sth-bang-combo2 header-bleed ===== */

/* ===== sth-bang-combo2b: offers CTA centre + SA tablet height + reviews circles ===== */
/* Bang 9:22: Call+Book CTA horizontal centre = expiry/disclaimer centre (±2px) all widths.
   Override bang1907 left-align of .zo-endw at 600–1180 for offers. */
html body section#offers.zo7:not(#_):not(#_) .zo-ft:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-ft:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-ft:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-ft:not(#_){
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
html body section#offers.zo7:not(#_):not(#_) .zo-endw:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-endw:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-endw:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-endw:not(#_){
  align-items:center!important;
  text-align:center!important;
  justify-self:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  width:100%!important;
  max-width:100%!important;
}
html body section#offers.zo7:not(#_):not(#_) .zo-endr:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-endr:not(#_),
html body section#offers.zo7:not(#_):not(#_) .zo-ends:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-ends:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-endr:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-endr:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-ends:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-ends:not(#_),
html body section#offers.zo7:not(#_):not(#_) .zo-note:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-note:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-note:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-note:not(#_){
  text-align:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
}
html body section#offers.zo7:not(#_):not(#_) .zo-ft .ctas:not(#_),
html body section#offers.zo:not(#_):not(#_) .zo-ft .ctas:not(#_),
html body section[id^=offers].zo7:not(#_):not(#_) .zo-ft .ctas:not(#_),
html body section[id^=offers].zo:not(#_):not(#_) .zo-ft .ctas:not(#_){
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  width:auto!important;
  max-width:100%!important;
}
@media (max-width:600px){
  html body section#offers.zo7:not(#_):not(#_) .zo-ft .ctas:not(#_),
  html body section#offers.zo:not(#_):not(#_) .zo-ft .ctas:not(#_),
  html body section[id^=offers].zo7:not(#_):not(#_) .zo-ft .ctas:not(#_),
  html body section[id^=offers].zo:not(#_):not(#_) .zo-ft .ctas:not(#_){
    width:100%!important;
    flex-direction:column!important;
  }
}

/* Bang 9:24: Service Area — scale county outline cards so right col height = map
   at tablet 768–1280 (incl 1180×650, 1280×720). City list ≥15px. Phone/1440 unchanged. */
@media (min-width:768px) and (max-width:1023.98px){
  html body #area .amap{align-items:start!important}
  html body #area .areas .co{height:clamp(34px,4.6vw,48px)!important;margin-bottom:4px!important}
  html body #area .amap .areas>li{padding:6px clamp(8px,1.8vw,14px)!important;justify-content:center!important}
  html body #area .amap .areas>li h3{font-size:clamp(15px,1.6vw,18px)!important;margin:0 0 2px!important;line-height:1.1!important}
  html body #area .amap>.arc .zip{margin-bottom:8px!important;padding:10px 12px!important}
  html body #area .amap>.arc .zip label{font-size:15px!important;margin-bottom:4px!important}
  html body #area .areas .ccs{font-size:15px!important;row-gap:0!important;line-height:1.3!important}
}
@media (min-width:1024px) and (max-width:1279.98px){
  html body #area .amap{align-items:start!important}
  html body #area .areas .co{height:clamp(44px,5vw,56px)!important;margin-bottom:6px!important}
  html body #area .amap .areas>li{padding:10px clamp(10px,2vw,18px)!important;justify-content:center!important}
  html body #area .amap .areas>li h3{font-size:clamp(16px,1.7vw,19px)!important;margin:0 0 4px!important;line-height:1.15!important}
  html body #area .amap>.arc .zip{margin-bottom:12px!important;padding:12px!important}
  html body #area .areas .ccs{font-size:15px!important;row-gap:0!important;line-height:1.35!important}
}

/* Bang 9:24: Reviews prev/next perfect circles — defeat header .nx collision on button.nx */
html body #reviews .sn:not(#_),
html body section#reviews .sn:not(#_){
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:10px!important;
}
html body #reviews .sn button.pv:not(#_),
html body #reviews .sn button.nx:not(#_),
html body section#reviews .sn button.pv:not(#_),
html body section#reviews .sn button.nx:not(#_){
  box-sizing:border-box!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  aspect-ratio:1/1!important;
  flex:0 0 44px!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  z-index:auto!important;
  float:none!important;
  clear:none!important;
  font-family:inherit!important;
  color:var(--ink,#00053E)!important;
  background:transparent!important;
  border:2px solid var(--ink,#00053E)!important;
}
html body #reviews .sn a:not(#_),
html body section#reviews .sn a:not(#_){
  white-space:nowrap!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
}
html body #reviews .sn .lgr:not(#_),
html body section#reviews .sn .lgr:not(#_){
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
@media (max-width:699px){
  html body #reviews .sn:not(#_),
  html body section#reviews .sn:not(#_){
    flex-wrap:wrap!important;
    row-gap:6px!important;
  }
}
/* ===== /sth-bang-combo2b ===== */

/* ===== sth-bang-combo2c: city/hub phone mascot = about (Bang phone FAIL fix) ===== */
/* Beat r2/bundle top:calc(56.25vw - var(--sth-fig-h)) (15+ :not) — CB is .wrap.hc not .hero. */
@media (max-width:699px){
  html body.t-svc.t-city main section.hero.ab-hero.svc-hero .ab-hrob.svc-hrob.hsc-about.gen-host:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.t-svc.t-hub main section.hero.ab-hero.svc-hero .ab-hrob.svc-hrob.hsc-about.gen-host:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.t-hub1 main section.hero.ab-hero.svc-hero .ab-hrob.svc-hrob.hsc-about.gen-host:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
  html body.t-svc1.t-hub1 main section.hero .ab-hrob.svc-hrob.hsc-about.gen-host:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
    top:auto!important;
    bottom:100%!important;
    left:auto!important;
    right:max(24px,8vw)!important;
    width:96px!important;
    max-width:96px!important;
    height:156px!important;
    aspect-ratio:auto!important;
    transform:none!important;
    z-index:3!important;
  }
}
/* ===== /sth-bang-combo2c ===== */
/* sth-menu-mascot1 (Bang 2026-11-05): all 5 mega-menu mascots share one box (116px tall, ~+15%), pre-scaled clean-outline clips; every expanded panel = Service Area height */
.nx-panel>.nx-pin{min-height:464px}
.nx-feat .nx-mascot,.nx-feat .nx-mascot.nx-mwave{width:auto;height:116px;margin:0 0 12px}
.nx-feat .nx-mascot img,.nx-feat .nx-mascot.nx-mwave img{width:auto;height:116px;max-width:none;object-fit:contain;object-position:50% 100%}
.nx-feat .nx-mascot video.ofv{object-position:50% 100%}
.nx-panel>.nx-pin>.nx-feat{padding-top:110px}.nx-panel>.nx-pin>.nx-feat>:last-child{margin-bottom:auto}
/* sth-bang-menu-bigger1-nov5-20261105-133639 (Bang 2026-11-05): menu mascots ~+19% (116->138px), padding-top 110->88 so text/CTA stay put */
.nx-feat .nx-mascot,.nx-feat .nx-mascot.nx-mwave{height:138px}
.nx-feat .nx-mascot img,.nx-feat .nx-mascot.nx-mwave img{height:138px}
.nx-panel>.nx-pin>.nx-feat{padding-top:88px}

@media (min-width:1100px) and (max-width:1199px){html body .nx-w{padding-left:64px!important;padding-right:64px!important}}

/* headerwidth2: preserve the 1100-1199px 64px side padding; compact only nav controls. */
@media (min-width:1100px) and (max-width:1223px){
  html body .nx-in{gap:12px!important}
  html body .nx-cta{gap:4px!important}
  html body .nx-btn{padding-left:10px!important;padding-right:10px!important}
  html body .nx-tg{padding:0 8px!important;font-size:15px!important}
}

/* soc1 2026-11-08 footer social row */
.fx-soc{display:flex;gap:10px;margin-top:12px;align-items:center}.fx-soc-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#fff!important;background:rgba(255,255,255,.06);border:1px solid rgba(255,210,0,.35);text-decoration:none;transition:color .2s,background .2s,border-color .2s}.fx-soc-link:hover{color:var(--y)!important;border-color:var(--y);background:rgba(255,210,0,.12)}.fx-soc-link svg{width:20px;height:20px;display:block}.fx-soc-link:focus-visible{outline:3px solid #ffd200;outline-offset:3px}
