/* r2.css v6 (hero-mascot-mobile1; std1b+msize1): shared fixes, loaded last on every page. */
/* 1. hero-std1: ONE non-Home hero height via --sth-hero-h (Home has no .ab-hero; stays tallest: ~780@1440, ~635@1024, ~636@768, ~927@390). */
/* --hp = min content-to-robot clearance (shared; not a per-page hack). std1b: --sth-hero-h below Home at every width; .ab-hero tighten recovers CTA clearance. */
html body main section.hero.ab-hero{--sth-hero-h:900px;--hero-h:var(--sth-hero-h);--hp:24px}
@media(min-width:480px){html body main section.hero.ab-hero{--sth-hero-h:915px}}
@media(min-width:700px){html body main section.hero.ab-hero{--sth-hero-h:620px}}
@media(min-width:750px){html body main section.hero.ab-hero{--sth-hero-h:620px}}
@media(min-width:866px){html body main section.hero.ab-hero{--sth-hero-h:610px}}
@media(min-width:950px){html body main section.hero.ab-hero{--sth-hero-h:600px}}
@media(min-width:1024px){html body main section.hero.ab-hero{--sth-hero-h:620px}}
@media(min-width:1160px){html body main section.hero.ab-hero{--sth-hero-h:700px}}
@media(min-width:1280px){html body main section.hero.ab-hero{--sth-hero-h:760px}}
/* Force exact height (beats hv6 hub mins + svc-t1 tablet padding). 4 :not(#_) > hv6's 2. */
html body main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_){box-sizing:border-box!important;height:var(--sth-hero-h)!important;min-height:var(--sth-hero-h)!important;max-height:var(--sth-hero-h)!important}
@media(min-width:700px){html body main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_){padding-top:44px!important;padding-bottom:calc(var(--fxh,110px) / 2 + 14px)!important}}
@media(min-width:700px){html body main section.hero.ab-hero:has(+.glw:not(.fx)):not(#_):not(#_):not(#_):not(#_){padding-bottom:116px!important}}
/* Neutralize svc-t1 tablet padding that inflated height past the token */
@media(min-width:700px) and (max-width:899px){html body.t-svc1.t-svc1 main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_){padding-bottom:calc(var(--fxh,110px) / 2 + 14px)!important}}
/* Neutralize hv6 hub min-heights to the shared token */
html body.t-hub1 main section.hero.ab-hero.svc-hero:not(#_):not(#_):not(#_):not(#_){min-height:var(--sth-hero-h)!important;height:var(--sth-hero-h)!important;max-height:var(--sth-hero-h)!important}
/* 3. BBB seal: one 26px circle, 10px A+, optical centring; 12px pill gap (= chip gap) */
html body .bba:not(#_):not(#_){width:26px!important;height:26px!important;box-sizing:border-box;padding:0!important;display:grid;place-items:center;font-size:10px!important;line-height:1!important;letter-spacing:-.03em!important;text-indent:0}
html body .tpair:not(#_){gap:12px}
/* audit 3. hero chips (mobile): left-aligned, 10px gaps on every hub-style hero (drops the space-between spread seen on Reviews) */
@media(max-width:479px){html body.t-hub1.t-hub1.t-svc1 .svc-hero ul.trust.h1-chips:not(#_):not(#_):not(#_){justify-content:flex-start!important;gap:10px!important}}
/* audit 4. photo+text block header: H2 -> first line 12px, intro -> list/table/buttons 28px, at every width */
html body main .pa.h1-old h2:has(+.pab):not(#_):not(#_):not(#_):not(#_){margin-bottom:12px!important}
html body main .pa.h1-old h2+.pab:not(#_):not(#_):not(#_):not(#_){margin-top:0!important}
html body main .pa.h1-old .pab>:first-child:not(#_):not(#_):not(#_):not(#_){margin-top:0!important}
html body main .pa.h1-old .pab>*+:is(.pck,.ctas,.cc-tb):not(#_):not(#_):not(#_):not(#_){margin-top:28px!important}
/* audit 5. team strip: same card as About on every page (top offset + 20px / 28px card padding) */
html body.t-about .ab-tsec .ab-team:not(#_):not(#_){margin-top:0!important;padding:20px!important;background:#fff!important;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px -22px rgba(0,5,62,.28)}
@media(min-width:700px){html body.t-about .ab-tsec .ab-team:not(#_):not(#_){padding:28px!important}}
/* audit 6. mobile facts bar: align with the 22px text gutter; equal cells per row, labels centred so a wrapped label doesn't skew the rows */
@media(max-width:699px){html body main .glance.ab-gl.fxs:not(#_):not(#_){margin-inline:8px!important}
html body main .glance.ab-gl.fxs>*:not(#_):not(#_){align-self:stretch!important;min-height:64px;align-content:center}}
/* audit 7. small spacing fixes */
@media(min-width:1000px){html body main .svc-wait .wrap>.svc-ph+*:not(#_):not(#_):not(#_):not(#_){margin-top:0!important}}
html body main .zo .btn:not(#_):not(#_):not(#_):not(#_){min-height:52px!important;height:52px!important;box-sizing:border-box}
html body main .studs.lyr-pl h2+.jobs:not(#_):not(#_):not(#_):not(#_){margin-top:34px!important}
@media(max-width:699px){html body footer.ft:not(#_):not(#_){padding-bottom:max(24px,env(safe-area-inset-bottom))!important}}
/* audit 8. FAQ fallback: fewer than 6 questions -> single column (photo + call card stacked above the list is dropped to a full-width list) */
@media(min-width:700px){html body main #faq .fqw:not(:has(.fqs>details:nth-of-type(6))):not(#_):not(#_){grid-template-columns:1fr!important}
html body main #faq .fqw:not(:has(.fqs>details:nth-of-type(6))) .fql:not(#_):not(#_){display:none!important}}
/* r2 robot containment: keep visible robot inside facts-bar edges (E = bar inset from hero edge) */
@media(min-width:1000px){
html body.t-hub1.t-hub1 .svc-hero .svc-hrob.hh:not(#_):not(#_):not(#_):not(#_):not(#_){right:calc(max(24px,(100% - 1200px)/2 + 24px) - var(--hhW)*var(--bw)*0.0003217)!important}
html body.t-hub1.t-hub1 .svc-hero .svc-hrob.hh[data-hh="el"]:not(#_):not(#_):not(#_):not(#_):not(#_){right:calc(max(24px,(100% - 1200px)/2 + 24px) - var(--hhW)*var(--bw)*0.0001768)!important}
@media(min-width:1200px){html body.t-hub1.t-hub1 .svc-hero .svc-hrob.hh[data-hh="ac"]:not(#_):not(#_):not(#_):not(#_):not(#_){right:calc(max(24px,(100% - 1200px)/2 + 24px) - var(--hhW)*var(--bw)*0.0000327)!important}}
html body.t-hub1.t-hub1 .svc-hero .svc-hrob.hh[data-hh="pl"]:not(#_):not(#_):not(#_):not(#_):not(#_){right:calc(max(24px,(100% - 1200px)/2 + 24px) - var(--hhW)*var(--bw)*0.000356)!important}
html body.t-svc:is([data-svc="acm"],[data-svc="acx"],[data-svc="ee"],[data-svc="ep"],[data-svc="ht"],[data-svc="dc"],[data-svc="wh"]) .svc-hero .svc-hrob:not(.hh):not(#_):not(#_):not(#_):not(#_){right:max(24px,calc((100% - 1200px)/2 + 24px))!important;left:auto!important}
html body.t-svc[data-svc="ac"] .svc-hero .svc-hrob.hsc-acr:not(#_):not(#_):not(#_):not(#_){right:max(12px,calc((100% - 1200px)/2 + 4px))!important;left:auto!important}
html body.t-svc:is([data-svc="svc2"],[data-svc="com2"]) .svc-hero .svc-hrob:not(.hh):not(#_):not(#_):not(#_):not(#_){right:max(164px,calc((100% - 1200px)/2 + 14px))!important;left:auto!important}
html body.t-about .ab-hero .ab-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){right:24px!important;left:auto!important}
}
/* r2b: city hero robot clears the 502px text column (+16px) */
@media(min-width:900px){html body.t-svc.t-city .svc-hero .svc-hrob.mst:not(#_):not(#_):not(#_):not(#_){left:calc(max(24px,(100% - 1200px)/2 + 24px) + 518px)!important;right:auto!important}}
@media(min-width:700px) and (max-width:999px){html body.t-svc.t-city .svc-hero .svc-hrob.mst:not(#_):not(#_):not(#_):not(#_):not(#_){left:auto!important;right:max(24px,calc((100% - 1200px)/2 + 24px))!important}}
/* r2c 1. city hero robot: full hub size (never scaled down); clearance by position only */
html body.t-svc.t-city .svc-hero .svc-hrob.mst:not(#_):not(#_):not(#_):not(#_){width:133px!important;max-width:none!important;height:auto!important}
html body.t-svc.t-city .svc-hero .svc-hrob.mst img:not(#_):not(#_):not(#_):not(#_){width:100%!important;height:auto!important;max-width:none!important}
@media(max-width:699px){html body.t-svc.t-city .svc-hero .svc-hrob.mst:not(#_):not(#_):not(#_):not(#_){top:auto!important;bottom:100%!important;left:22px!important;right:auto!important;transform:none!important}}
@media(min-width:700px){html body.t-svc.t-city .svc-hero .svc-hrob.mst:not(#_):not(#_):not(#_):not(#_){width:clamp(150px,calc(100px + 8.5vw),224px)!important;left:calc(max(24px,(100% - 1200px)/2 + 24px) + 518px)!important;right:auto!important}}
/* r2c 5. mobile facts bar: both rows the height of the tallest cell */
@media(max-width:699px){html body main .glance.ab-gl.fxs:not(#_):not(#_){grid-template-rows:none!important;grid-auto-rows:1fr!important}}
/* r2c 6. spacing: Club block H2->intro 12; final CTA eyebrow/H2/text 12; no extra 8px over the Club block media at 1000+ */
html body main .svc-wait h2+.pp:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){margin-top:12px!important}
html body main .svc-wait h2:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){margin-bottom:0!important}
html body .fin .fct>.eb2:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),html body .fin .fct>h2.fh:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){margin-bottom:12px!important}
@media(min-width:1000px){html body main .svc-wait .h4-mch:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){padding-top:0!important}}

/* r2d: per-band hero photo position data (--hp-1000/1440/1700 set from hero3.json on <picture class="hbg">) */
@media(min-width:1000px) and (max-width:1439px){html body .hbg[style*="--hp-1000"]:not(#_) img{object-position:var(--hp-1000)!important}}
@media(min-width:1440px) and (max-width:1699px){html body .hbg[style*="--hp-1440"]:not(#_) img{object-position:var(--hp-1440)!important}}
@media(min-width:1700px){html body .hbg[style*="--hp-1700"]:not(#_) img{object-position:var(--hp-1700)!important}}
/* r2d item 2: answer bar keeps its reserved height (sxh.js) but the text centres vertically at 1440+ */
@media(min-width:1440px){html body .sx-ans .sx-at:not(#_){min-height:0!important;align-self:center}}

/* r2f 1. BBB pill: A+ badge and "BBB Rating" on one line, pill sized to its content, every width */
html body .bpill.bpr:not(#_):not(#_){display:inline-flex!important;flex-direction:row!important;align-items:center;flex-wrap:nowrap;width:auto!important;min-width:0;max-width:none!important;white-space:nowrap!important;overflow:visible}
html body .bpill.bpr:not(#_):not(#_) .bbt{display:inline-block!important;white-space:nowrap!important;flex:none}
html body .bpill.bpr:not(#_):not(#_) .bba{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none;padding:0!important;line-height:1!important}
/* r2f 2. offers peek sheet: inc-offers.css' background shorthand had reset the sprite image to none */
html body section#offers.zo7.pk-ld:not(#_):not(#_) .zo-ph{background-image:url(assets/m/peek/offers-peek-n3c.webp?v=nov3col1)!important}
/* r2f 3. offers block: normal bottom block padding (the Club strip used to give it) */
html body section#offers.zo7.sec:not(#_):not(#_){padding-bottom:var(--pad,88px)!important}
@media(max-width:699px){html body section#offers.zo7.sec:not(#_):not(#_){padding-bottom:var(--pad,64px)!important}}
/* r2f 4. emergency: robot column on the right so the left-facing run sprite runs toward the text */
@media(min-width:700px){html body #emergency .wrap.em:not(#_):not(#_){grid-template-columns:7fr minmax(260px,5fr)!important}html body #emergency .emm:not(#_):not(#_){order:2}html body #emergency .emt:not(#_):not(#_){order:1}}
/* r2f 6/7. service-card robot: the card-open fade no longer slides the body (and the robot in it); opacity only */
@keyframes sxin0{0%{opacity:0}}
html body .sx-card .sx-body:not(#_){animation-name:sxin0!important}
/* r2f 5. shared FAQ: questions beyond the left column's height sit behind "Show more questions" (fqm.js) */
html body #faq .more-fq:not(#_):not(#_){display:block}
html body #faq .fqs .fq.fq-x:not(#_):not(#_){display:none!important}
html body #faq .fq-more:not(#_):not(#_){display:inline-flex;margin:4px 0 0;align-self:flex-start;cursor:pointer}
html body #faq .seeall:not(#_):not(#_){display:none!important}
html body #faq .fq-more[hidden]:not(#_):not(#_){display:none}
/* r2h: FAQ "Show more questions" is a plain text link (brand yellow #fed14d on #00053e = 13.3:1), underline on hover/focus, visible focus ring, chevron flips when expanded */
html body #faq .fq-more:not(#_):not(#_){background:none!important;border:0!important;box-shadow:none!important;padding:10px 2px!important;min-height:44px!important;height:auto!important;width:auto!important;border-radius:4px!important;color:#fed14d!important;font:inherit;font-weight:700!important;font-size:16px!important;line-height:1.4!important;text-decoration:none!important;align-items:center;gap:6px;letter-spacing:0!important;text-transform:none!important}
html body #faq .fq-more:not(#_):not(#_)::before{content:none!important}
html body #faq .fq-more:not(#_):not(#_)::after{content:""!important;display:inline-block!important;position:static!important;width:7px!important;height:7px!important;border:solid currentColor!important;border-width:0 2px 2px 0!important;background:none!important;transform:translateY(-2px) rotate(45deg);transition:transform .2s;flex:none;margin:0 0 0 2px!important}
html body #faq .fq-more[aria-expanded="true"]:not(#_):not(#_)::after{transform:translateY(2px) rotate(-135deg)}
html body #faq .fq-more:not(#_):not(#_):hover,html body #faq .fq-more:not(#_):not(#_):focus-visible{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px;background:none!important;color:#fed14d!important;transform:none!important}
html body #faq .fq-more:not(#_):not(#_):focus-visible{outline:2px solid #fed14d!important;outline-offset:3px}
@media (prefers-reduced-motion:reduce){html body #faq .fq-more:not(#_):not(#_)::after{transition:none}}
/* r2i: reviews-block BBB pill matches the hero pill - A+ circle inside, vertically centred, 6px gap before "BBB Rating" */
html body .big .bn1 .bpill.bpr:not(#_):not(#_):not(#_){display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;padding:0 14px!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important;white-space:nowrap!important;flex-wrap:nowrap!important;width:auto!important;max-width:none!important}
html body .big .bn1 .bpill.bpr:not(#_):not(#_) .bba,html body .big .bn1 .bpill.bpr:not(#_):not(#_) .bbt{align-self:center!important;margin:0!important;position:static!important;transform:none!important;top:auto!important}

/* r2i: phone tap targets >=44px tall with no visual change - an invisible 44px hit area centred on the link (::before), the link box itself is untouched */
@media (max-width:699px){html body .sx-more:not(#_),html body a.tlink:not(#_),html body #reviews .sn>a:not(#_),html body footer.ft a:not(#_){position:relative}
html body .sx-more:not(#_)::before,html body a.tlink:not(#_)::before,html body #reviews .sn>a:not(#_)::before,html body footer.ft a:not(#_)::before{content:""!important;position:absolute!important;left:-4px;right:-4px;top:50%;height:44px;min-height:100%;transform:translateY(-50%);background:none!important;border:0!important;pointer-events:auto}}

/* r2i b: reviews BBB pill scale - 44px tall, 14px balanced side padding, 28px A+ circle, 15px label (hero pill scale), one line 390-1920 */
html body .big .bn1 .bpill.bpr:not(#_):not(#_):not(#_) .bba{width:28px!important;height:28px!important;font-size:11px!important;flex:none!important}
html body .big .bn1 .bpill.bpr:not(#_):not(#_):not(#_) .bbt{font-size:15px!important;line-height:1!important;white-space:nowrap!important}
/* r2.css v7 (r2j) */
/* Emergency (24/7): the column-anchored floor glow sat at the robot's waist after the column swap. It is now a ground shadow drawn by the robot's own wrapper (.em-ahr::after), centred under the stride (sprite feet span 23-90% of the cell, soles at ~89%), so it moves with the robot at every width and through the run-in. */
html body #emergency .emm .beam:not(#_):not(#_):not(#_){display:none!important}
html body #emergency .emm .h4-run.em-ahr:not(#_):not(#_):not(#_)::after{content:"";position:absolute;left:30%;width:54%;top:86.5%;height:7%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),rgba(0,0,0,.28) 60%,rgba(0,0,0,0) 100%);pointer-events:none}
/* shared services block: "Explore all services" link right-aligned with the cards' right edge on tablet/desktop; centred under the stack on phones */
@media(min-width:700px){html body .sx p.ctr:not(#_):not(#_):not(#_),html body section p.ctr:has(>a.tlink):not(#_):not(#_):not(#_){text-align:right!important;justify-content:flex-end!important}}
@media(max-width:699px){html body section p.ctr:has(>a.tlink):not(#_):not(#_):not(#_){text-align:center!important;justify-content:center!important}}
html body section p.ctr:has(>a.tlink):not(#_):not(#_):not(#_){grid-column:1/-1!important;max-width:none!important;width:auto!important;margin-right:0!important;align-self:stretch!important;justify-self:stretch!important}

/* small-batch1: sticky bar fit 320-430 */
body .sticky{padding-left:12px;padding-right:12px}body .sticky>div{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8px}body .sticky .btn{min-width:0;width:auto;padding-left:8px;padding-right:8px;font-size:15px;white-space:nowrap;letter-spacing:0;gap:6px;justify-content:center}@media(max-width:379px){body .sticky .btn{font-size:14px;padding-left:6px;padding-right:6px}}@media(max-width:339px){body .sticky .btn .ic{display:none}}
/* small-batch1: contact-pad1 (96/64 + wedge) */
html body[data-svc=contact] section#book.sec.fin.bk:not(#_):is(#book#book,#book#book *){padding-bottom:176px!important}@media(max-width:699px){html body[data-svc=contact] section#book.sec.fin.bk:not(#_):is(#book#book,#book#book *){padding-bottom:104px!important}}
/* small-batch1: area-gap1b */
@media(max-width:699px){html body #area form.zip{margin-bottom:-19px}}
/* small-batch1: promise-pos1 mascot stands on last card (top-row right card at 700-1179), unscaled, unmirrored */
@media(min-width:700px){#promise .ab-ph{position:relative;min-height:175px}#promise .ab-ph .ab-prob{position:absolute;right:37px;bottom:-37px;margin:0}}
@media(min-width:700px) and (max-width:1179px){#promise .ab-ph{min-height:155px}#promise .ab-ph .ab-prob{right:50px;bottom:-36px}}


/* std1b: .ab-hero content tighten so shared --sth-hero-h can stay below Home */
@media(max-width:699px){
html body main section.hero.ab-hero > .wrap.hc:not(#_){gap:4px!important;row-gap:4px!important;padding-top:4px!important;padding-bottom:0!important;display:flex!important;flex-direction:column!important}
html body main section.hero.ab-hero .bc:not(#_){display:none!important}
html body main section.hero.ab-hero .tpair:not(#_){margin:0!important;transform:scale(0.84);transform-origin:left top;max-height:32px!important;overflow:hidden!important}
html body main section.hero.ab-hero .brandline:not(#_){margin:0!important;font-size:11px!important;line-height:1.15!important}
html body main section.hero.ab-hero h1:not(#_){margin:0!important;font-size:clamp(20px,5.4vw,28px)!important;line-height:1.08!important}
html body main section.hero.ab-hero .lead:not(#_){margin:0!important;font-size:13px!important;line-height:1.22!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-height:2.5em!important}
html body main section.hero.ab-hero .ctas:not(#_){margin:2px 0 0!important}
html body main section.hero.ab-hero .t1-g:not(#_),html body main section.hero.ab-hero .trust.h1-chips:not(#_){margin:2px 0 0!important;font-size:11px!important}
}
@media(min-width:700px) and (max-width:1159px){
html body main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_){padding-top:28px!important;padding-bottom:calc(var(--fxh,110px) / 2 + 4px)!important}
html body main section.hero.ab-hero:has(+.glw:not(.fx)):not(#_):not(#_):not(#_):not(#_){padding-bottom:calc(var(--fxh,110px) / 2 + 4px)!important}
html body main section.hero.ab-hero h1:not(#_){font-size:clamp(26px,3.2vw,36px)!important;line-height:1.12!important;margin:0 0 8px!important}
html body main section.hero.ab-hero .lead:not(#_){font-size:15px!important;line-height:1.3!important;margin:0 0 10px!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
html body main section.hero.ab-hero .tpair:not(#_){margin:0 0 6px!important}
html body main section.hero.ab-hero .brandline:not(#_){margin:0 0 6px!important}
html body main section.hero.ab-hero .bc:not(#_){margin:0 0 6px!important}
html body main section.hero.ab-hero .ctas:not(#_){margin:0!important}
html body main section.hero.ab-hero .t1-g:not(#_),html body main section.hero.ab-hero .trust:not(#_){margin:6px 0 0!important;font-size:12px!important}
}

/* final1: city hero robot uses .hsc-about.gen-host (not .mst); match r2c hub size @390 */
html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_){width:133px!important;max-width:none!important;height:auto!important}
html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about img:not(#_):not(#_):not(#_):not(#_):not(#_){width:100%!important;height:auto!important;max-width:none!important}
@media(max-width:699px){html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_){top:auto!important;bottom:100%!important;left:22px!important;right:auto!important;transform:none!important}}
@media(min-width:700px){html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_){width:clamp(150px,calc(100px + 8.5vw),224px)!important;left:calc(max(24px,(100% - 1200px)/2 + 24px) + 518px)!important;right:auto!important}}
@media(min-width:900px){html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_){left:calc(max(24px,(100% - 1200px)/2 + 24px) + 518px)!important;right:auto!important}}
@media(min-width:700px) and (max-width:999px){html body.t-svc.t-city .svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){left:auto!important;right:max(24px,calc((100% - 1200px)/2 + 24px))!important}}


/* sth-hero-msize1: ONE shared hero mascot width (--sth-msz) per breakpoint for every non-Home .ab-hrob.
   Size = city/hub standard already on .t-city (133 / clamp 150-224). Home has no .ab-hero; unchanged.
   Uniform scale only (height:auto + keep aspect-ratio). Overrides about-a8, svc-t1 height clamps, r2k --kW, hh --hhW*bw. */
html body main section.hero.ab-hero{--sth-msz:133px}
@media(min-width:700px){html body main section.hero.ab-hero{--sth-msz:clamp(150px,calc(100px + 8.5vw),224px)}}
/* Apply to every non-Home hero robot host (gen-host and hh). */
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:var(--sth-msz)!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
}
/* Children fill width; never force a height that breaks aspect. */
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) img.still,
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .hsc-f{
  width:100%!important;
  height:auto!important;
  max-width:none!important;
}
/* Drop about-a8 hsc-about margin bias tied to old --w0 so feet plant stays 0+/-1 after the shared width. */
html body main section.hero.ab-hero .ab-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  margin:0!important;
}
/* sth-reviews-unify1: bare .gpill (city heroes) match hub .gpill.gp2 height 40 */
html body a.gpill:not(#_):not(#_){height:40px!important;min-height:40px!important;box-sizing:border-box;padding:0 14px 0 10px!important;gap:7px!important;font-size:16px!important;line-height:1!important;align-items:center!important}
html body a.gpill:not(#_):not(#_) .gg{width:28px!important;height:28px!important}
html body a.gpill:not(#_):not(#_) b{font-size:17px!important}
html body a.gpill:not(#_):not(#_) .gs{font-size:16px!important;letter-spacing:0!important}
html body a.gpill:not(#_):not(#_) .gc{font-size:13px!important}
@media(max-width:420px){html body a.gpill:not(#_):not(#_){height:36px!important;min-height:36px!important;padding:0 10px 0 5px!important;gap:5px!important;font-size:14px!important}html body a.gpill:not(#_):not(#_) .gg{width:25px!important;height:25px!important}html body a.gpill:not(#_):not(#_) b{font-size:15px!important}html body a.gpill:not(#_):not(#_) .gc{font-size:11.5px!important}}

/* sth-bbb-glyph1: centre A+ ink bbox on .bba circle (≤0.5px both axes @1440/768/390).
   Keep .bba width/height/padding:0; layout glyph transparent; paint optically-nudged ::after.
   Hero (grid) vs reviews (inline-flex) need opposite Y compensations from ::after line-box. */
html body .bba:not(#_):not(#_),
html body .bpill .bba:not(#_):not(#_),
html body .big .bn1 .bpill.bpr:not(#_):not(#_) .bba:not(#_):not(#_){
  position:relative!important;
  color:transparent!important;
  line-height:1!important;
  padding:0!important;
}
html body .bba:not(#_):not(#_)::after,
html body .bpill .bba:not(#_):not(#_)::after{
  content:"A+";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,calc(-50% - .375px))!important;
  color:#fff!important;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:1;
  pointer-events:none;
  white-space:nowrap;
  margin:0!important;
  padding:0!important;
}
html body .big .bn1 .bpill.bpr:not(#_):not(#_) .bba:not(#_):not(#_)::after{
  transform:translate(calc(-50% + .125px),calc(-50% + .375px))!important;
}


/* sth-hero-mascot-mobile1: phones (<=699) — inner .ab-hrob on the 16:9 hero photo like Home .hrun
   (top:calc(56.25vw - 150px); width:96px; right:8%). facts-feet.js skips plant below 700 so CSS wins.
   Drop fixed --sth-hero-h / r2k About min-height so content no longer leaves a navy dead band above the glance.
   >=700 unchanged (feet-on-glance + std1b heights). */
@media(max-width:699px){
html body main section.hero.ab-hero{--sth-hero-h:auto;--sth-msz:96px}
html body main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_){
  height:auto!important;min-height:0!important;max-height:none!important
}
html body.t-about .hero.ab-hero:not(#_):not(#_):not(#_):not(#_){
  min-height:0!important;height:auto!important;max-height:none!important
}
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  position:absolute!important;
  top:calc(56.25vw - 150px)!important;
  bottom:auto!important;
  right:8%!important;
  left:auto!important;
  width:96px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:3!important
}
html body main section.hero.ab-hero .ab-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:96px!important;margin:0!important
}
}

/* hmm1b: beat city final1 + hub hosts that miss r2 (bundle-only pages) */
@media(max-width:699px){
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  top:calc(56.25vw - 150px)!important;
  bottom:auto!important;
  right:8%!important;
  left:auto!important;
  width:96px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  z-index:3!important
}
html body.t-svc.t-city main section.hero.ab-hero{--sth-hero-h:auto;--sth-msz:96px}
html body.t-svc.t-city main section.hero.ab-hero:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  height:auto!important;min-height:0!important;max-height:none!important
}
}

/* sth-hero-mascot-mobile1c: match Home .hrun 96×150 box + photo anchors exactly;
   scale inner art to fill 150h (no crop/mirror/recolour); kill per-trade translate
   (pl 2.8% floor nudge) on phones; pin feet to .hbg bottom via anchor (blog heroes
   have content above the photo); close leftover feet-plant hc margin + excess
   padB so ticks→glance gap matches Home (~26px). ≤699 only; ≥700 untouched. */
@media(max-width:699px){
html body main section.hero.ab-hero .hbg:not(#_):not(#_){anchor-name:--sth-hero-photo}
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  position:absolute!important;
  width:96px!important;
  height:150px!important;
  max-height:150px!important;
  aspect-ratio:auto!important;
  top:calc(56.25vw - 150px)!important;
  bottom:auto!important;
  right:8%!important;
  left:auto!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  overflow:visible!important;
  z-index:3!important
}
@supports(bottom:anchor(--sth-hero-photo bottom)){
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  top:auto!important;
  bottom:anchor(--sth-hero-photo bottom)!important
}
}
html body main section.hero.ab-hero .ab-hrob.gen-host>.gen-hh:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  width:calc(150px * 600 / 496)!important;
  max-width:none!important;
  height:150px!important;
  aspect-ratio:600/496!important;
  transform:translateX(-50%)!important;
  translate:none!important;
  margin:0!important
}
html body main section.hero.ab-hero .ab-hrob.h1-hr>img.still:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>img.still:not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-hub1.t-hub1.t-svc1 .svc-hero .svc-hrob.h1-hr img:not(#_):not(#_):not(#_):not(#_){
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  width:auto!important;
  max-width:none!important;
  height:150px!important;
  transform:translateX(-50%)!important;
  translate:none!important
}
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-f:not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-f:not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-tw:not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-tw:not(#_):not(#_):not(#_):not(#_){
  position:absolute!important;
  inset:auto!important;
  left:50%!important;
  bottom:0!important;
  top:auto!important;
  right:auto!important;
  width:calc(150px * 600 / 496)!important;
  height:150px!important;
  margin-left:calc(150px * 600 / 496 / -2)!important;
  transform-origin:50% 100%!important
}
html body .hero:has(+.glw.fx)>.wrap.hc:not(#_):not(#_):not(#_){margin-bottom:0!important}
html body main section.hero.ab-hero:has(+.glw.fx):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  padding-bottom:70px!important;
  --fxh:132px
}
}

/* === sth-club-design8 === */
/* === sth-club-design8: Comfort Club card (centred perks) — Bang 2026-10-29 === */
#club.cd8{--y:#FED14D;--ink:#00053E;--blue:#002D5C;--txt:#14183a;--line:#D8E2EE;--display:"Saira",system-ui,sans-serif;--paper:#F4F6FA;padding:44px 0;background:var(--ink);color:#e6ecf8;position:relative;overflow:visible}
#club.cd8.L,#club.cd8.sec.L{background:var(--paper);color:var(--txt)}
#club.cd8::before,#club.cd8 .node{display:none!important;content:none!important}
#club.cd8 > .wrap{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;gap:36px;align-items:center;position:relative;z-index:2}
@media(min-width:900px){
  #club.cd8 > .wrap{grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:48px}
  #club.cd8 .h4-mc{grid-column:1}
  #club.cd8 .ab-ph{grid-column:2}
}
@media(max-width:899px){#club.cd8 .ab-ph{order:1}#club.cd8 .h4-mc{order:2;justify-self:center}}
#club.cd8 h2{font-family:var(--display);font-size:clamp(26px,3.4vw,40px);font-weight:800;line-height:1.08;margin:0 0 12px;color:#fff;text-wrap:balance;max-width:20ch}
#club.cd8.L h2{color:var(--ink)}
#club.cd8 .eb{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font:700 12px/1 var(--display);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--y)}
#club.cd8.L .eb{color:var(--blue,#00468C)}
#club.cd8 .eb::before{display:block!important;content:""!important;width:22px!important;height:9px!important;flex:0 0 auto;background:repeating-linear-gradient(180deg,currentColor 0 1.5px,transparent 1.5px 3.5px)!important}
#club.cd8 .eb .eb-mark,#club.cd8 .eb-mark{display:none!important}
#club.cd8 .eb::after{content:"";display:block;height:0!important;width:56px;margin-left:0;flex:0 0 auto;border-radius:0;background:none!important;border-top:2px solid currentColor;opacity:.75}
#club.cd8.L .eb::after{background:linear-gradient(90deg,var(--blue,#00468C),transparent)}
#club.cd8 .intro{margin:0;font-size:16.5px;line-height:1.5;color:#c9d4f0;max-width:34em;text-wrap:pretty;opacity:1}
#club.cd8.L .intro{color:rgba(0,5,62,.78)}
#club.cd8 .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;height:52px;padding:0 14px;border-radius:999px;font-weight:800;font-size:14.5px;text-decoration:none;white-space:nowrap;position:relative;isolation:isolate}
#club.cd8 .btn.call{background:var(--y);color:var(--ink);box-shadow:none}
#club.cd8 .btn.call::before{content:none!important;display:none!important;animation:none!important}
#club.cd8 .btn.book{border:2px solid var(--ink);color:var(--ink);background:#fff}
#club.cd8 .ic{margin-right:7px;flex:0 0 auto}
#club.cd8 .h4-mc{background:#fff;color:var(--txt);border-radius:16px;overflow:visible;box-shadow:0 14px 32px rgba(0,0,0,.28);max-width:520px;width:100%;margin:0}
#club.cd8 .h4-mch{background:var(--y);color:var(--ink);display:flex;align-items:center;gap:10px;padding:10px 16px;font:800 13px/1.1 var(--display);letter-spacing:.12em;text-transform:uppercase;border-radius:16px 16px 0 0}
#club.cd8 .h4-mch img{width:36px;height:36px;flex:0 0 auto;margin:-4px 0;position:relative;z-index:2;transform-origin:50% 50%;animation:h4pul 1.9s ease-in-out infinite;animation-play-state:paused;will-change:transform}@keyframes h4pul{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(2) rotate(2deg)}}#club.cd8 .h4-mc,#club.cd8 .h4-mch{overflow:visible!important}#club.cd8 .h4-mch{position:relative;z-index:5}#club.cd8 .h4-mch img{overflow:visible!important;z-index:6}#club.cd8 .h4-mcb{position:relative;z-index:1}#club.cd8 .h4-mc.h4-pl .h4-mch img{animation-play-state:running}@media(prefers-reduced-motion:reduce){#club.cd8 .h4-mch img{animation:none!important;transform:none!important}}
#club.cd8 .h4-mch span{margin-left:auto;border:2px solid var(--ink);border-radius:999px;padding:5px 10px;font-size:11px}
#club.cd8 .h4-mcb{padding:12px 14px 10px;display:block}
#club.cd8 .h4-perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#club.cd8 .h4-perks li{margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;gap:5px;padding:9px 10px;border-radius:10px;background:#f4f7fc;font-weight:800;font-size:13.5px;line-height:1.2;color:var(--ink);min-height:0;border:0;box-shadow:none}
#club.cd8 .h4-ti{flex:0 0 auto;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(160deg,#FFF9E8 0%,#F3F6FC 45%,#E8EEF8 100%);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,5,62,.06)}
#club.cd8 .h4-ti svg{width:24px;height:24px;overflow:visible}
#club.cd8 .h4-mcf{padding:10px 14px 16px;border-top:1.5px dashed var(--line);display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,#FFFFFF 0%,#FFF8E6 55%,#FFE9A8 100%);border-radius:0 0 16px 16px;overflow:hidden}
#club.cd8 .h4-ctas{display:flex;gap:10px;width:100%;flex-wrap:nowrap}
#club.cd8 .h4-ctas .btn{flex:1 1 0;min-width:0;width:auto}
#club.cd8 .pmore{margin:0}
#club.cd8 .ab-ph .plans-aside{margin:14px 0 0}
#club.cd8 .ab-ph .plans-aside a{color:var(--y);font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:2px;display:inline-flex;align-items:center;min-height:36px}
#club.cd8.L .ab-ph .plans-aside a{color:var(--blue,#00468C)}
@media(max-width:420px){
  #club.cd8 .h4-perks{grid-template-columns:1fr}
  #club.cd8 .h4-perks li{flex-direction:row;align-items:center;justify-content:center;text-align:center}
}
@media(max-width:430px){
  #club.cd8 .h4-ctas{flex-direction:column}
  #club.cd8 .h4-ctas .btn{width:100%;height:52px;min-height:52px;font-size:15px}
}
/* Beat site :is(#club#club) pad/intro/pmore/btn guards */
html body:is(.zz,*) main > #club.cd8.sec:not(#_):not(.hero):not(.fin):is(#club#club){padding:44px 0!important;background-image:none!important}
html body:is(.zz,*) #club.cd8 .intro:is(#club#club *){margin:0!important;opacity:1!important;max-width:34em!important;animation:none!important;transform:none!important}
html body:is(.zz,*) #club.cd8 h2:is(#club#club *){animation:none!important;opacity:1!important;transform:none!important;margin:0 0 12px!important}
html body:is(.zz,*) #club.cd8 .pmore:is(#club#club *),
html body:is(.zz,*) #club.cd8 .ab-ph .plans-aside:is(#club#club *){margin:14px 0 0!important}
html body:is(.zz,*) #club.cd8 .h4-perks:is(#club#club *){display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:unset!important;gap:8px!important}
html body:is(.zz,*) #club.cd8 .h4-perks li:is(#club#club *){display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;justify-content:flex-start!important;gap:5px!important;padding:9px 10px!important;background:#f4f7fc!important;font-size:13.5px!important;line-height:1.2!important;min-height:0!important;border:0!important;box-shadow:none!important}
html body:is(.zz,*) #club.cd8 .h4-ti:is(#club#club *){flex:0 0 auto!important;width:32px!important;height:32px!important;margin:0!important;border-radius:9px!important}
html body:is(.zz,*) #club.cd8 .h4-mch:is(#club#club *){padding:10px 16px!important;gap:10px!important;font-size:13px!important}
html body:is(.zz,*) #club.cd8 .h4-mcb:is(#club#club *){padding:12px 14px 10px!important;display:block!important}
html body:is(.zz,*) #club.cd8 .h4-mcf:is(#club#club *){padding:10px 14px 16px!important;gap:6px!important;display:flex!important;flex-direction:column!important}
html body:is(.zz,*) #club.cd8 .h4-ctas:is(#club#club *){display:flex!important;gap:10px!important;flex-wrap:nowrap!important;grid-template-columns:none!important}
html body:is(.zz,*) #club.cd8 .h4-ctas .btn:is(#club#club *){flex:1 1 0!important;min-width:0!important;width:auto!important;min-height:52px!important;height:52px!important;padding:0 14px!important;font-size:14.5px!important}
html body:is(.zz,*) #club.cd8 .ab-ph:is(#club#club *){display:block!important;margin:0!important}
@media(max-width:420px){
  html body:is(.zz,*) #club.cd8 .h4-perks:is(#club#club *){grid-template-columns:1fr!important}
  html body:is(.zz,*) #club.cd8 .h4-perks li:is(#club#club *){flex-direction:row!important;justify-content:center!important}
}
@media(max-width:430px){
  html body:is(.zz,*) #club.cd8 .h4-ctas:is(#club#club *){flex-direction:column!important}
  html body:is(.zz,*) #club.cd8 .h4-ctas .btn:is(#club#club *){width:100%!important;height:52px!important;min-height:52px!important;font-size:15px!important}
}

/* ===== sth-glance-fix1c-r272b: hero mascot figure = Home (token --sth-fig-h) ===== */
/* Home .hrun width tokens; painted figure H = .hw-hof = msz * 1.625 (156.25% × 260/250).
   Beats R272 139 lock + hmm1c 150 lock. Display-size only — no art redraw/upscale. */
html body main section.hero.ab-hero{
  --sth-msz:96px;
  --sth-fig-h:calc(var(--sth-msz) * 1.625);
}
@media (min-width:700px) and (max-width:1199px){
  html body main section.hero.ab-hero{
    --sth-msz:clamp(124px,13vw,150px);
    --sth-fig-h:calc(var(--sth-msz) * 1.625);
  }
}
@media (min-width:1200px){
  html body main section.hero.ab-hero{
    --sth-msz:clamp(120px,11vw,160px);
    --sth-fig-h:calc(var(--sth-msz) * 1.625);
  }
}

/* Phone: host box + painted figure → Home figH; keep right:8% / photo-feet position */
@media (max-width:699px){
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .svc-hrob.h1-hr:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:var(--sth-msz)!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  top:calc(56.25vw - var(--sth-fig-h))!important;
  bottom:auto!important;
  right:8%!important;
  left:auto!important;
  overflow:visible!important;
}
@supports(bottom:anchor(--sth-hero-photo bottom)){
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .svc-hrob.h1-hr:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  top:auto!important;
  bottom:anchor(--sth-hero-photo bottom)!important;
}
}
/* gen-host painted layer (aspect 600/496) fills fig-h */
html body main section.hero.ab-hero .ab-hrob.gen-host>.gen-hh:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  width:calc(var(--sth-fig-h) * 600 / 496)!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  aspect-ratio:600/496!important;
  transform:translateX(-50%)!important;
  translate:none!important;
  margin:0!important;
  object-fit:contain!important;
}
/* hub / hh still + frames */
html body main section.hero.ab-hero .ab-hrob.h1-hr>img.still:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>img.still:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-hub1.t-hub1.t-svc1 .svc-hero .svc-hrob.h1-hr img:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob img:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh] img:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:auto!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  object-fit:contain!important;
}
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-f:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-f:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-tw:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-tw:not(#_):not(#_):not(#_):not(#_):not(#_){
  width:calc(var(--sth-fig-h) * 600 / 496)!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
}
}

/* Desktop/tablet: same tokens; keep existing feet/right anchors; only size the figure */
@media (min-width:700px){
html body main section.hero.ab-hero .ab-hrob:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh]:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .svc-hrob.h1-hr:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:var(--sth-msz)!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
html body main section.hero.ab-hero .ab-hrob.gen-host>.gen-hh:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  width:calc(var(--sth-fig-h) * 600 / 496)!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  aspect-ratio:600/496!important;
  transform:translateX(-50%)!important;
  translate:none!important;
  margin:0!important;
  object-fit:contain!important;
}
html body main section.hero.ab-hero .ab-hrob.h1-hr>img.still:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>img.still:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-hub1.t-hub1.t-svc1 .svc-hero .svc-hrob.h1-hr img:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob img:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body .svc-hero .hh[data-hh] img:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  width:auto!important;
  max-width:none!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
  object-fit:contain!important;
}
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-f:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-f:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.h1-hr>.hh-tw:not(#_):not(#_):not(#_):not(#_):not(#_),
html body main section.hero.ab-hero .ab-hrob.hh:not(.gen-host)>.hh-tw:not(#_):not(#_):not(#_):not(#_):not(#_){
  width:calc(var(--sth-fig-h) * 600 / 496)!important;
  height:var(--sth-fig-h)!important;
  max-height:none!important;
}
}

/* Title-top outliers vs inner standard (plumbing) */
/* /about/ @390: brandline wraps (+20h) → force single line like hubs */
@media (max-width:699px){
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline:not(#_):not(#_){
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    gap:6px!important;
  }
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline b:not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .brandline span:not(#_){
    white-space:nowrap!important;
    font-size:10.5px!important;
    letter-spacing:.08em!important;
  }
}
/* /about/ @768+: breadcrumb shorter (−14) → push tpair/title down 14
   Beat live rule: .hc > nav.bc + .tpair:not(#_)×3 {margin:var(--hero-gap-bc-pills)} */
@media (min-width:700px){
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .hc > nav.bc + .tpair:not(#_):not(#_):not(#_):not(#_),
  html body.t-about:not(.t-svc):not(.t-hub1) main section.hero.ab-hero .tpair:not(#_):not(#_):not(#_):not(#_){
    margin:30px 0 0!important; /* was ~16 via --hero-gap-bc-pills; +14 */
  }
}
/* /blog/ @390: hero padding-top 96 → 0 */
@media (max-width:700px){
  html body.blog-page main section.hero.ab-hero:not(#_):not(#_):not(#_){
    padding-top:0!important;
  }
}
/* /faq/ @390: Bang +20 — if brandline wraps at narrow phone, keep single line */
@media (max-width:699px){
  html body.g5 main section.hero.ab-hero .brandline:not(#_):not(#_),
  html body.t-hub1.g5 main section.hero.ab-hero .brandline:not(#_):not(#_){
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
}
/* ===== /sth-glance-fix1c-r272b ===== */

/* ===== sth-club-head-pulse2b: unique keyframe (r2.css old h4pul scale(2)+rotate was winning) ===== */
@keyframes sthClubPul{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.4)}
}
@keyframes h4pul{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.4)}
}
html body:is(.zz,*) #club.cd8 .h4-mc:is(#club#club,#club#club *),
html body #club.cd8 .h4-mc,
#club.cd8 .h4-mc,
html body .h1-club .h4-mc:not(#_):not(#_):not(#_):is(#club#club,#club#club *){
  overflow:visible!important;
}
html body:is(.zz,*) #club.cd8 .h4-mch:is(#club#club,#club#club *),
html body #club.cd8 .h4-mch,
#club.cd8 .h4-mch,
html body .h1-club .h4-mc:not(#_):not(#_):not(#_) .h4-mch:is(#club#club,#club#club *){
  overflow:visible!important;
  position:relative!important;
  z-index:5!important;
}
html body:is(.zz,*) #club.cd8 .h4-mch img:not(#_):is(#club#club,#club#club *),
html body #club.cd8 .h4-mch img:is(#club#club,#club#club *),
html body #club.cd8 .h4-mch img:not(#_):not(#_),
html body .h1-club .h4-mc:not(#_):not(#_):not(#_) .h4-mch img:is(#club#club,#club#club *),
html body.t-hub1 #club.cd8 .h4-mch img:not(#_),
html body:is(.zz,*) .h4-mch img:not(#_):is(#club#club,#club#club *),
#club.cd8 .h4-mch img{
  width:42px!important;
  height:42px!important;
  margin:0!important;
  margin-right:10px!important;
  flex:0 0 auto!important;
  object-fit:contain!important;
  transform-origin:50% 50%!important;
  position:relative!important;
  z-index:6!important;
  overflow:visible!important;
  will-change:transform;
  animation-name:sthClubPul!important;
  animation-duration:2.4s!important;
  animation-timing-function:cubic-bezier(.45,0,.55,1)!important;
  animation-iteration-count:infinite!important;
  animation-direction:normal!important;
  animation-fill-mode:none!important;
  animation-play-state:paused!important;
}
html body:is(.zz,*) #club.cd8 .h4-mc.h4-pl .h4-mch img:not(#_):is(#club#club,#club#club *),
html body #club.cd8 .h4-mc.h4-pl .h4-mch img:is(#club#club,#club#club *),
html body #club.cd8 .h4-mc.h4-pl .h4-mch img:not(#_):not(#_),
html body .h1-club .h4-mc.h4-pl:not(#_):not(#_):not(#_) .h4-mch img:is(#club#club,#club#club *),
html body.t-hub1 #club.cd8 .h4-mc.h4-pl .h4-mch img:not(#_),
html body:is(.zz,*) .h4-mc.h4-pl .h4-mch img:not(#_):is(#club#club,#club#club *),
#club.cd8 .h4-mc.h4-pl .h4-mch img{
  animation-name:sthClubPul!important;
  animation-duration:2.4s!important;
  animation-timing-function:cubic-bezier(.45,0,.55,1)!important;
  animation-iteration-count:infinite!important;
  animation-play-state:running!important;
}
@media (prefers-reduced-motion:reduce){
  html body:is(.zz,*) #club.cd8 .h4-mch img:not(#_):is(#club#club,#club#club *),
  html body #club.cd8 .h4-mch img:is(#club#club,#club#club *),
  html body #club.cd8 .h4-mch img:not(#_):not(#_),
  html body .h1-club .h4-mc:not(#_):not(#_):not(#_) .h4-mch img:is(#club#club,#club#club *),
  html body.t-hub1 #club.cd8 .h4-mch img:not(#_),
  #club.cd8 .h4-mch img,
  html body:is(.zz,*) #club.cd8 .h4-mc.h4-pl .h4-mch img:not(#_):is(#club#club,#club#club *),
  #club.cd8 .h4-mc.h4-pl .h4-mch img{
    animation-name:none!important;
    animation-play-state:paused!important;
    transform:none!important;
    will-change:auto;
  }
}
/* ===== /sth-club-head-pulse2b ===== */

/* R288: run-across — phone .hh-f/.hh-tw centre via margin-left, not transform (hh.js run-in translateX must win) */

/* ===== sth-bang-mascot-left2: right-anchor city/hub mascot; OP restored ≤100% in HTML ===== */
/* Mobile: pin to photo right + scale so torso stays clear; origin bottom-right keeps feet. */
@media(max-width:699px){
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_),
html body.t-svc main section.hero.ab-hero.svc-hero .ab-hrob.h1-hr: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:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:auto!important;
  right:0!important;
  transform:scale(0.65)!important;
  transform-origin:right bottom!important;
  translate:none!important;
}
}
/* Tablet 700-899: right edge + mild scale (facts-feet right:0 for t-city). */
@media(min-width:700px) and (max-width:899px){
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:auto!important;
  right:0!important;
  width:100px!important;
  max-width:none!important;
  transform:scale(0.72)!important;
  transform-origin:right bottom!important;
  translate:none!important;
}
}
/* Desktop ≥900: right pin + narrower width so subject clears. */
@media(min-width:900px){
html body.t-svc.t-city main section.hero.ab-hero.svc-hero .svc-hrob.hsc-about:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_){
  left:auto!important;
  right:8px!important;
  width:clamp(96px,6.5vw,120px)!important;
  max-width:none!important;
  transform:none!important;
  translate:none!important;
}
}
/* ===== /sth-bang-mascot-left2 ===== */
