/*
  PINNACLE AUDIOLOGY — QUIET CLINICAL LUXURY
  Warm-only visual system: Pinnacle orange, cream, ink, and warm gray.
  Loaded after page styles through partials.js so the preview can be evaluated sitewide. Build 20260715j.
*/
:root{
  --qcl-ink:#181511;
  --qcl-ink-2:#302A24;
  --qcl-cream:#FBF8F1;
  --qcl-cream-2:#F3EEE4;
  --qcl-paper:#FFFCF7;
  --qcl-warm:#5E564D;
  --qcl-muted:#776F66;
  --qcl-line:#DED5C7;
  --qcl-orange:#F08647;
  --qcl-orange-deep:#A94F1F;
  --qcl-radius:12px;
}
html{background:var(--qcl-cream)}
body{
  background:var(--qcl-cream);
  color:var(--qcl-ink);
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(240,134,71,.26);color:var(--qcl-ink)}
/* Shared scroll reveal: existing page reveals keep their own choreography.
   Pages without a reveal system receive a restrained section-level treatment. */
body.qcl-reveal-ready:not(.qcl-motion-off) [data-qcl-reveal]{
  opacity:0;
  filter:blur(9px);
  transform:translateY(22px) scale(.992);
  transition:
    opacity var(--qcl-reveal-duration,.82s) cubic-bezier(.16,1,.3,1),
    filter var(--qcl-reveal-duration,.82s) ease,
    transform var(--qcl-reveal-duration,.82s) cubic-bezier(.16,1,.3,1);
  transition-delay:var(--qcl-reveal-delay,0ms);
  will-change:opacity,filter,transform;
}
body.qcl-reveal-ready:not(.qcl-motion-off) [data-qcl-reveal].in{
  opacity:1;
  filter:blur(0);
  transform:none;
}
@media(max-width:760px){
  body.qcl-reveal-ready:not(.qcl-motion-off) [data-qcl-reveal]{
    filter:blur(7px);
    transform:translateY(16px) scale(.995);
    --qcl-reveal-duration:.72s;
  }
}
@media(prefers-reduced-motion:reduce){
  [data-reveal],[data-qcl-reveal]{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}
.display,.h1,.h2,.section-head h2,.shead h2,.head h2{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:650!important;
  letter-spacing:-.022em!important;
  text-wrap:balance;
}
.h1:not(.display),.h2,.section-head h2,.shead h2,.head h2{
  text-transform:none!important;
  line-height:.98!important;
}
.eyebrow,.hero-eyebrow,.sec-label,.section-label{
  color:var(--qcl-orange-deep)!important;
  letter-spacing:.15em!important;
  font-weight:650!important;
}
.lede,.intro,.prose,.section-head p{
  color:var(--qcl-warm)!important;
  text-wrap:pretty;
}
a{transition-color:.18s ease}
.btn,.g-book,.g-fbt,.btn-tile{
  box-shadow:none!important;
  border-radius:999px!important;
  letter-spacing:.01em;
}
.btn.accent,.g-book,.g-fbt,.tile-accent{
  background:var(--qcl-orange)!important;
  color:var(--qcl-ink)!important;
  border-color:var(--qcl-orange)!important;
}
.btn.accent:hover,.g-book:hover,.g-fbt:hover,.tile-accent:hover{
  background:var(--qcl-orange-deep)!important;
  border-color:var(--qcl-orange-deep)!important;
  transform:translateY(-1px);
}
.btn.primary{
  background:var(--qcl-ink)!important;
  color:var(--qcl-paper)!important;
  border-color:var(--qcl-ink)!important;
}
.btn.ghost,.btn-tile:not(.tile-accent){
  background:transparent!important;
  color:var(--qcl-ink)!important;
  border-color:var(--qcl-line)!important;
}
.btn.ghost:hover,.btn-tile:not(.tile-accent):hover{
  background:var(--qcl-ink)!important;
  color:var(--qcl-paper)!important;
  border-color:var(--qcl-ink)!important;
}

/* Global navigation: quieter, smaller, less app-like. */
.g-topbar{background:var(--qcl-ink)!important;color:rgba(255,252,247,.7)!important}
.g-topbar .g-w{
  min-height:31px;
  padding-top:6px!important;
  padding-bottom:6px!important;
  justify-content:flex-end!important;
}
.g-topbar .g-soc{display:none!important}
.g-topbar .g-ph{
  color:rgba(255,252,247,.84)!important;
  font-size:12.5px!important;
  letter-spacing:.015em;
}
.g-dot{
  background:var(--qcl-orange)!important;
  animation:none!important;
  box-shadow:none!important;
}
.g-nav{
  background:rgba(251,248,241,.92)!important;
  border-bottom:1px solid rgba(222,213,199,.68)!important;
  box-shadow:none!important;
}
.g-nav.scrolled{background:rgba(251,248,241,.97)!important}
.g-ni{
  height:88px!important;
  max-width:1240px!important;
  gap:24px!important;
}
.g-logo img{height:76px!important}
.g-ul>li>a{
  color:var(--qcl-ink-2)!important;
  font-size:13.5px!important;
  font-weight:650!important;
  border-radius:0!important;
}
.g-ul>li>a::after{
  background:var(--qcl-orange)!important;
  height:1px!important;
  bottom:4px!important;
}
.g-ul>li.cur>a{color:var(--qcl-ink)!important}
.g-drop{
  border-color:var(--qcl-line)!important;
  border-radius:var(--qcl-radius)!important;
  background:rgba(255,252,247,.98)!important;
  box-shadow:0 22px 55px -34px rgba(24,21,17,.55)!important;
}
.g-ds a:hover,.g-sres a:hover,.g-sres a.sel{background:var(--qcl-cream-2)!important}
.g-sbtn,.g-hbg{
  border-color:var(--qcl-line)!important;
  background:transparent!important;
}
.g-sbtn:hover,.g-hbg:hover{
  background:var(--qcl-ink)!important;
  border-color:var(--qcl-ink)!important;
}
.g-book{padding:13px 22px!important;font-weight:650!important}
.g-prog{
  background:var(--qcl-orange)!important;
  height:2px!important;
  box-shadow:none!important;
}

/* Drawer and search use the same warm material palette. */
.g-dr,.g-drf{background:var(--qcl-cream)!important}
.g-drh,.g-dsec,.g-da,.g-drf{border-color:var(--qcl-line)!important}
.g-da,.g-dacc{
  text-transform:none!important;
  font-size:26px!important;
  letter-spacing:-.015em!important;
}
.g-sp{
  background:var(--qcl-paper)!important;
  border-color:var(--qcl-line)!important;
  box-shadow:0 40px 90px -42px rgba(24,21,17,.62)!important;
}

/* Fewer generic floating boxes; flatter, editorial surfaces. */
.card,.cov,.step,.ind-card,.loc-card,.fact-card,.std-plate,.award-card,
.intro-card,.service-card,.feature-card,.faq-item,.acc-item,.form-card{
  border-color:var(--qcl-line)!important;
  border-radius:var(--qcl-radius)!important;
  box-shadow:none!important;
}
.card,.cov,.step,.ind-card,.loc-card,.fact-card,.intro-card,.service-card,.feature-card,.form-card{
  background:rgba(255,252,247,.72)!important;
}
.card:hover,.cov:hover,.service-card:hover,.feature-card:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(201,102,43,.48)!important;
  box-shadow:0 18px 45px -38px rgba(24,21,17,.55)!important;
}
details,summary{border-color:var(--qcl-line)}
img{filter:saturate(.92) contrast(1.015)}
.plate,.std-plate,.pin-band,.care-proof-grid{
  background:var(--qcl-ink)!important;
  color:var(--qcl-paper)!important;
}
.chip{
  border-color:var(--qcl-line)!important;
  background:transparent!important;
  color:var(--qcl-ink-2)!important;
}
.chip:hover{border-color:var(--qcl-orange)!important}

/* Footer: still useful, visually calmer and warmer. */
.g-footer{
  position:relative;
  background:var(--qcl-ink)!important;
  color:rgba(255,252,247,.74)!important;
  padding-top:72px!important;
}
.g-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:var(--qcl-orange);
}
.g-fw{max-width:1240px!important}
.g-fg{gap:34px!important}
.g-fb img{opacity:.94!important}
.g-footer h5{
  color:rgba(255,252,247,.46)!important;
  letter-spacing:.17em!important;
}
.g-footer ul a,.g-fca a{color:rgba(255,252,247,.67)!important}
.g-footer ul a:hover,.g-fca a:hover,.g-fsoc a:hover{color:var(--qcl-orange)!important}
.g-fbt{padding:11px 18px!important}

/* Replace the four-tile utility cluster with a compact warm dock. */
.pinn-dock{
  gap:6px!important;
  right:20px!important;
  bottom:18px!important;
  padding:5px!important;
  border:1px solid rgba(222,213,199,.9)!important;
  border-radius:999px!important;
  background:rgba(255,252,247,.91)!important;
  box-shadow:0 18px 48px -30px rgba(24,21,17,.68)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.pinn-dock .pd-btn{
  width:auto!important;
  height:46px!important;
  min-width:46px!important;
  padding:0 15px!important;
  flex-direction:row!important;
  gap:7px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--qcl-ink)!important;
  box-shadow:none!important;
  font-size:10.5px!important;
  letter-spacing:.04em!important;
}
.pinn-dock .pd-btn:hover{background:var(--qcl-cream-2)!important;transform:none!important}
.pinn-dock .pd-btn.pd-orange{
  background:var(--qcl-orange)!important;
  color:var(--qcl-ink)!important;
}
.pinn-dock .pd-btn.pd-orange:hover{background:var(--qcl-orange-deep)!important}
.pinn-dock .pd-btn[href^="sms:"]{display:none!important}
.pinn-dock #pdA11y{
  width:46px!important;
  padding:0!important;
  font-size:0!important;
}
.pinn-dock #pdA11y .pd-ic{font-size:16px!important}
.pinn-dock .pd-panel{
  border-color:var(--qcl-line)!important;
  background:rgba(255,252,247,.97)!important;
  box-shadow:0 30px 70px -38px rgba(24,21,17,.62)!important;
}

/* Homepage art direction: retain the brand, remove the template gloss. */
body.home-page .hero{
  background:
    radial-gradient(circle at 78% 24%,rgba(240,134,71,.09),transparent 27%),
    linear-gradient(180deg,var(--qcl-cream) 0%,#F7F2E9 100%)!important;
}
body.home-page .hero::before,
body.home-page .hero::after{opacity:.28!important}
body.home-page .hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr)!important;
  gap:clamp(64px,8vw,120px)!important;
  align-items:center!important;
}
body.home-page .display{
  font-size:clamp(66px,7.6vw,112px)!important;
  line-height:.86!important;
  letter-spacing:-.032em!important;
}
body.home-page .display em{color:var(--qcl-orange)!important}
body.home-page .hero-eyebrow{
  font-size:11px!important;
  letter-spacing:.18em!important;
}
body.home-page .hero-proof{
  border-left:2px solid var(--qcl-orange)!important;
  padding-left:16px!important;
  color:var(--qcl-warm)!important;
}
body.home-page .portrait-frame{
  border-radius:8px!important;
  box-shadow:none!important;
  border:1px solid var(--qcl-line)!important;
  overflow:hidden!important;
}
body.home-page .offset-rule{display:none!important}
body.home-page .sound-badge{
  border-radius:999px!important;
  box-shadow:none!important;
  border:1px solid rgba(255,252,247,.2)!important;
}
body.home-page .plate{
  border-radius:0 0 8px 8px!important;
  box-shadow:none!important;
}
body.home-page .audiogram{opacity:.42!important}
body.home-page .ledger{
  border-radius:0!important;
  border-top:1px solid var(--qcl-line)!important;
  border-bottom:1px solid var(--qcl-line)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.home-page .ledger-cell{background:transparent!important}
body.home-page .trust-strip{
  background:var(--qcl-ink)!important;
  color:rgba(255,252,247,.76)!important;
  border:0!important;
}
body.home-page .sec{padding-top:112px!important;padding-bottom:112px!important}
body.home-page .sec-head{
  border-top:1px solid var(--qcl-line)!important;
  padding-top:16px!important;
}
body.home-page .sec-no b{color:var(--qcl-orange-deep)!important}
body.home-page .award-card{
  background:transparent!important;
  border-width:0 0 0 2px!important;
  border-left-color:var(--qcl-orange)!important;
  border-radius:0!important;
  padding-left:20px!important;
}
body.home-page .team-ledger a{
  border-radius:0!important;
  border-width:1px 0 0!important;
  background:transparent!important;
}
body.home-page .team-ledger a:last-child{border-bottom:1px solid var(--qcl-line)!important}
body.home-page .ix-row{
  border-color:var(--qcl-line)!important;
  border-radius:0!important;
}
body.home-page .ix-row:hover{background:var(--qcl-cream-2)!important}
body.home-page .photo-break{
  background:var(--qcl-cream-2)!important;
}
body.home-page .photo-break::before{display:none!important}
body.home-page .photo-break-img{
  border-radius:8px!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
body.home-page .std-plate{border-radius:8px!important}
body.home-page .hl-item{border-color:var(--qcl-line)!important}

/* Mobile keeps the editorial restraint and does not cover content. */
@media(max-width:1080px){
  .g-ni{height:78px!important}
  .g-logo img{height:64px!important}
}
@media(max-width:760px){
  .pinn-dock .pd-btn[href^="tel:"]{display:none!important}
  .g-topbar .g-w{justify-content:center!important}
  .g-ni{height:74px!important}
  .g-logo img{height:58px!important}
  .g-book{padding:11px 15px!important}
  .pinn-dock{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    bottom:10px!important;
  }
  .pinn-dock .pd-btn{height:43px!important;padding:0 12px!important}
  .pinn-dock #pdA11y{width:43px!important}
  body.home-page .hero-grid{grid-template-columns:1fr!important;gap:38px!important}
  body.home-page .display{font-size:clamp(58px,18vw,82px)!important}
  body.home-page .sec{padding-top:72px!important;padding-bottom:72px!important}
}
@media(max-width:430px){
  .pinn-dock .pd-btn{font-size:9px!important;padding:0 10px!important}
  .pinn-dock .pd-btn svg{width:16px!important;height:16px!important}
  .g-book .arr{display:none}
}


/* Mobile QA pass — shared legibility, spacing, and containment across templates. */
@media(max-width:760px){
  html,body{overflow-x:clip!important}
  body{font-size:16px!important}
  main,body>section{max-width:100%;overflow-wrap:anywhere}
  :where(main,body>section) :where(.container,.wrap,.inner,.content,.content-wrap,.section-inner,
    .hero-grid,.ph-grid,.card-grid,.service-grid,.feature-grid,.loc-grid,.team-grid)>*{
    min-width:0;
  }
  :where(main,body>section) :where(p,li,summary,label,.lede,.intro,.prose,.fc-note,.tm-note){
    font-size:max(16px,1em)!important;
    line-height:1.62!important;
  }
  :where(main,body>section) :where(.lede,.intro){
    font-size:max(17px,1em)!important;
    line-height:1.6!important;
  }
  :where(main,body>section) :where(img,video,iframe,table){max-width:100%}
  :where(main,body>section) :where(.card,.cov,.step,.ind-card,.loc-card,.fact-card,.intro-card,
    .service-card,.feature-card,.form-card){
    width:100%;
    max-width:100%;
    min-width:0;
    margin-inline:auto;
  }
  :where(main,body>section) :where(.card-grid,.service-grid,.feature-grid,.loc-grid,.team-grid){
    gap:14px!important;
  }
  :where(main,body>section) :where(.btn.sm,button.quiz-opt,.padd,.sw-btn,[role="button"]){
    min-height:44px!important;
  }
  :where(main,body>section) button.quiz-opt,.padd{
    min-height:44px!important;
    padding-top:11px!important;
    padding-bottom:11px!important;
  }
  button.quiz-opt{display:flex;align-items:center}
  :where(main,body>section) .sw-btn{min-width:44px!important}
  body :has(> .brand-tile){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body .brand-tile{
    min-width:0!important;
    padding:18px 14px!important;
    overflow-wrap:anywhere;
  }
  body .cta-banner.apd-cta-dark{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  :where(.dark-band,.plate,.std-plate,.pin-band,.care-proof-grid,.trust-strip)
    :where(p,li,.lede,.intro,.prose,.section-head p){
    color:rgba(255,252,247,.82)!important;
  }
  :where(.dark-band,.plate,.std-plate,.pin-band,.care-proof-grid,.trust-strip)
    :where(h1,h2,h3,h4){
    color:var(--qcl-paper)!important;
  }
}
@media(max-width:560px){
  :where(main,body>section) :where(.hero-ctas,.hero-cta,.cta-actions){width:100%}
  :where(main,body>section) :where(.hero-ctas,.hero-cta,.cta-actions) .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .g-footer{padding-top:56px!important}
  .g-fg{gap:30px!important}
}

@media(max-width:760px){
  .btn.sm,.padd,.sw-btn{min-height:44px!important}
}

@media(max-width:760px){
  body :where(p,li,summary,label,.lede,.intro,.prose,.fc-note,.tm-note){
    font-size:max(16px,1em)!important;
    line-height:1.62!important;
  }
  body :where(.lede,.intro){font-size:max(17px,1em)!important;line-height:1.6!important}
  .cx,.acc-q,.chip{min-height:44px!important}
  .acc-q,.chip{display:flex;align-items:center}
  body:has(.brand-tile)>section:not(:first-of-type){
    padding-top:72px!important;
    padding-bottom:72px!important;
  }
}


/* Homepage review fixes — rhythm, contrast, numbering, and full-photo framing. */
body.home-page .trust-strip .trust-item{
  color:rgba(255,252,247,.94)!important;
  opacity:1!important;
  font-size:12.5px!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  line-height:1.45!important;
  text-align:center!important;
}
body.home-page .trust-strip .trust-div{
  background:rgba(255,252,247,.34)!important;
  opacity:1!important;
}
body.home-page .trust-strip .wrap{
  padding-top:26px!important;
  padding-bottom:26px!important;
}
body.home-page .sec{
  padding-top:88px!important;
  padding-bottom:88px!important;
}
body.home-page .sec[style*="padding-top:0"]{
  padding-top:0!important;
}
body.home-page .photo-break{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
body.home-page .ix-no{
  font-size:22px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  margin-bottom:20px!important;
}
body.home-page .photo-break-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
body.home-page .photo-break-frame{
  min-height:0!important;
  aspect-ratio:1185 / 1327!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:var(--qcl-paper)!important;
}
body.home-page .photo-break-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:8px!important;
}
body.home-page .photo-break-text,
body.home-page .pb-card{
  height:100%!important;
}
body.home-page .pb-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
@media(max-width:1080px){
  body.home-page .sec{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  body.home-page .sec[style*="padding-top:0"]{
    padding-top:0!important;
  }
  body.home-page .photo-break{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
}
@media(max-width:760px){
  body.home-page .trust-strip .wrap{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
  }
  body.home-page .trust-strip .trust-div{display:none!important}
  body.home-page .trust-strip .trust-item{
    font-size:11.5px!important;
    letter-spacing:.14em!important;
    white-space:normal!important;
  }
  body.home-page .sec{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
  body.home-page .sec[style*="padding-top:0"]{
    padding-top:0!important;
  }
  body.home-page .photo-break{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
  body.home-page .ix-no{
    font-size:20px!important;
    margin-bottom:16px!important;
  }
  body.home-page .photo-break-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body.home-page .photo-break-frame{
    aspect-ratio:auto!important;
    min-height:0!important;
    border-radius:8px 8px 0 0!important;
  }
  body.home-page .photo-break-img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:8px 8px 0 0!important;
  }
  body.home-page .photo-break-text,
  body.home-page .pb-card{
    height:auto!important;
  }
  body.home-page .pb-card{
    border-radius:0 0 8px 8px!important;
  }
}


/* ── SITEWIDE EDITORIAL TEMPLATE MIGRATION · BUILD 20260716A ──────────
   Extends the home/hearing-aid visual language to every legacy page family.
   Desktop keeps an editorial two-column hierarchy; mobile is deliberately
   re-composed into a readable single-column narrative. */
.g-nav,.g-nav.scrolled{
  background:#fff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.home-page){
  background:
    radial-gradient(circle at 88% 3%,rgba(240,134,71,.045),transparent 26rem),
    var(--qcl-cream)!important;
}
body:not(.home-page) > :where(.hero,.page-hero,.vid-hero,.store-hero){
  border-bottom:1px solid var(--qcl-line);
}
body:not(.home-page) > :where(.pad,.sec,.section,.track,.mfr-sec,.pin-sec){
  scroll-margin-top:110px;
}
body:not(.home-page) :where(.display,h1.display){
  text-wrap:balance;
}
body:not(.home-page) :where(.lede,.intro,.prose,p){
  text-wrap:pretty;
}
body:not(.home-page) :where(.section-head,.sec-head,.shead,.head){
  border-top-color:var(--qcl-line)!important;
}
body:not(.home-page) :where(.soft-band,.alt,.tint){
  background:var(--qcl-cream-2)!important;
}
body:not(.home-page) :where(.dark-band,.band,.pin-sec){
  border-color:rgba(255,252,247,.13)!important;
}
body:not(.home-page) :where(.dark-band,.band,.pin-sec)
  :where(p,li,.lede,.intro,.prose,.section-head p,.sec-cap){
  color:rgba(255,252,247,.82)!important;
}
body:not(.home-page) :where(.dark-band,.band,.pin-sec)
  :where(h1,h2,h3,h4,.display,.h1,.h2){
  color:var(--qcl-paper)!important;
}
.vid-hero .lede{
  color:rgba(255,252,247,.74)!important;
}
.vid-hero .crumbs,.vid-hero .crumbs a,.vid-hero .bp-label{
  color:rgba(255,252,247,.72)!important;
}
.vid-hero .bp-btn{
  color:var(--qcl-paper)!important;
  border-color:rgba(255,252,247,.18)!important;
}
.vid-hero .bp-btn.on{
  color:var(--qcl-ink)!important;
}
:where(.page-hero,.hero,.vid-hero,.mfr-hero) + :where(.section,.sec,.pad,.track){
  position:relative;
}

/* Shared mobile composition reaches body-level legacy sections as well as
   newer pages that wrap content in <main>. */
@media(max-width:760px){
  body:not(.home-page) > :where(section,main) {
    overflow:clip;
  }
  body:not(.home-page) > :where(section,main)
    :where(.wrap,.container,.inner,.content,.content-wrap,.section-inner){
    width:100%!important;
    max-width:100%!important;
    padding-left:max(20px,env(safe-area-inset-left))!important;
    padding-right:max(20px,env(safe-area-inset-right))!important;
  }
  body:not(.home-page) > :where(.pad,.sec,.section,.track,.mfr-sec,.pin-sec){
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
  body:not(.home-page) > :where(.hero,.page-hero,.vid-hero,.store-hero){
    min-height:auto!important;
    padding-top:58px!important;
    padding-bottom:58px!important;
  }
  body:not(.home-page) > :where(.hero,.page-hero,.vid-hero,.store-hero)
    :where(.hero-grid,.page-hero-grid,.grid,.intro-grid){
    align-items:start!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.hero-grid,.page-hero-grid,.about-grid,.services-grid,.service-grid,
      .feature-grid,.benefit-grid,.team-grid,.loc-grid,.location-grid,.faq-grid,
      .ins-grid,.pricing-grid,.content-grid,.split,.two-col,.two-column,
      .intro-grid,.compare-grid,.photo-grid,.mfr-grid){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  body:not(.home-page) > :where(section,main) :where(.hero-copy,.page-hero-copy){
    order:1!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.portrait,.hero-media,.hero-visual,.hero-image,.page-hero-media){
    order:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-inline:auto!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.display,h1.display){
    font-size:clamp(42px,13vw,62px)!important;
    line-height:.9!important;
    letter-spacing:-.022em!important;
    overflow-wrap:normal!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.h1,h1:not(.display)){
    font-size:clamp(34px,10vw,48px)!important;
    line-height:.96!important;
    overflow-wrap:normal!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.h2,h2){
    font-size:clamp(30px,9vw,44px)!important;
    line-height:1!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.lede,.intro){
    max-width:40ch!important;
    font-size:17px!important;
    line-height:1.62!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.section-head,.sec-head,.shead,.head){
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin-bottom:32px!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.hero-cta,.hero-ctas,.cta-row,.cta-actions,.about-actions,.loc-actions){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(.hero-cta,.hero-ctas,.cta-row,.cta-actions,.about-actions,.loc-actions)
    :where(.btn,a.btn,button){
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }
  body:not(.home-page) > :where(section,main)
    :where(img,video,iframe,svg,picture){
    max-width:100%!important;
    height:auto;
  }
  body:not(.home-page) > :where(section,main)
    :where(.card,.cov,.step,.ind-card,.loc-card,.fact-card,.intro-card,
      .service-card,.feature-card,.form-card,.panel,.tile){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body:not(.home-page) > :where(section,main) :where(.bp-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body:not(.home-page) > :where(section,main) :where(.bp-btn){
    min-height:76px!important;
    padding:14px 10px!important;
  }
  body:not(.home-page) > :where(section,main) table{
    display:block!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  body:not(.home-page) > :where(section,main) :where(p,li){
    overflow-wrap:break-word;
  }
  .vid-hero .lede{
    color:rgba(255,252,247,.84)!important;
  }
  .pinn-dock{
    max-width:calc(100vw - 18px)!important;
  }
}
@media(max-width:430px){
  body:not(.home-page) > :where(section,main)
    :where(.wrap,.container,.inner,.content,.content-wrap,.section-inner){
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
  }
  body:not(.home-page) > :where(section,main) :where(.bp-grid){
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* ── MOBILE HEADER STABILITY · BUILD 20260716B ────────────────────────
   One-row phone navigation with no stacked utility bar, no control collision,
   and no blank above-the-fold state while reveal observers initialize. */
@media(max-width:760px){
  .g-topbar{display:none!important}
  .g-nav,.g-nav.scrolled{
    top:0!important;
    background:#fff!important;
    border-bottom:1px solid var(--qcl-line)!important;
  }
  .g-ni{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 14px!important;
    gap:8px!important;
    justify-content:flex-start!important;
  }
  .g-logo{
    display:flex!important;
    align-items:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .g-logo img{
    width:auto!important;
    height:62px!important;
    max-width:104px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .g-ul,.g-sbtn{display:none!important}
  .g-book{
    flex:0 0 auto!important;
    min-height:44px!important;
    padding:0 15px!important;
    margin-left:auto!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .g-hbg{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    margin:0!important;
  }
  body.qcl-reveal-ready:not(.qcl-motion-off)
    :where(.hero,.page-hero,.vid-hero,.store-hero)
    :where([data-reveal],[data-qcl-reveal]){
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
}
@media(max-width:360px){
  .g-ni{padding-inline:10px!important;gap:7px!important}
  .g-logo img{height:56px!important;max-width:92px!important}
  .g-book{padding-inline:12px!important;font-size:11.5px!important}
}
