/*
  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;
  }
}
