/* Stability, keyboard access and narrow-screen fixes. */
html{scroll-padding-top:calc(var(--nav-h) + 20px)}
body{overflow-x:clip}
main{display:block;min-width:0}
.rv,.rv.in{opacity:1;transform:none;transition:none}
[hidden]{display:none!important}
img{height:auto}
:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.skip-link{position:fixed;top:8px;left:16px;z-index:200;transform:translateY(-160%);padding:12px 20px;background:var(--paper);color:var(--ink);border-radius:8px;font-weight:800}
.skip-link:focus{transform:none}
.btn{max-width:100%;white-space:normal;text-align:center;justify-content:center;line-height:1.3}
.field,.form,.form .row{min-width:0}
.field input,.field select,.field textarea{min-width:0;max-width:100%}
.form-status{overflow-wrap:anywhere}
.form-status.err{color:var(--ink)}
.form .btn:disabled{cursor:wait;opacity:.7}
.nav-burger{min-width:44px;min-height:44px}
.mob-menu{overscroll-behavior:contain;padding-bottom:max(34px,env(safe-area-inset-bottom))}
.dd-mega{position:fixed;top:calc(var(--nav-h) - 4px);left:50%;max-height:calc(100dvh - var(--nav-h) - 16px);overflow-y:auto}
.team-photo[role=button]{cursor:pointer}
@media(max-width:640px){
  .nav-inner{gap:8px;padding-inline:16px}
  .nav-logo img{height:auto;width:80px}
  .nav .btn{font-size:.8rem;padding:12px 14px;gap:6px;white-space:nowrap}
  .nav.scrolled{background:var(--ink-deep);backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav{transition:background .2s,box-shadow .2s}
  .hero-google{backdrop-filter:none;-webkit-backdrop-filter:none}
  .faq-side,.svc-side{position:static}
  .ct-row .v{min-width:0;overflow-wrap:anywhere}
  .team-card:hover,.tm-card:hover,.feat-card:hover,.pillar:hover,.why-card:hover,.cond-card:hover{transform:none}
}
@media(max-width:359px){
  .nav .btn{font-size:.75rem;padding-inline:11px}
  .nav .btn svg{display:none}
  .nav-logo img{width:76px}
  .hero-google{gap:7px;padding-inline:10px}
  .hero-google .cap{font-size:.66rem}
  .hero-google .stars svg{width:12px}
  h1,h2,h3,h4,h5,h6,.display{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
/* Legible text uses the existing charcoal, green, teal and white palette. */
a.btn-green,button.btn-green,.tile.book,.team-role,.physio-role,.tm-photo .tag{color:var(--ink)}
a.btn-green:hover,button.btn-green:hover{color:var(--ink)}
.on-light .kicker,.ct-left>h6,.ct-row .act,.tm-role,.on-light .more,.on-light .tile .n,.rec-go{color:var(--ink)}
.on-light .accent{color:var(--green)}
.on-light .prose a,.find-item a,.myo-link,.rec-note a,.on-light .t>a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.marquee-label,.bmeta,.bdate,.rev-who .src,.sc-card .note{color:rgba(33,37,41,.75)}
.tile .sub{color:rgba(33,37,41,.75)}
.foot-bottom{color:rgba(245,247,246,.72)}
.bio-pop{visibility:hidden}
.team-card.bio-open .bio-pop,.team-card:hover .bio-pop{visibility:visible}
.team-card.bio-open .bio-pop:focus{outline-offset:-4px}
@media(min-width:1024px) and (max-width:1250px){
  .dd-mega{grid-template-columns:1fr 1fr;width:760px;gap:16px}
  .dd-col,.dd-cta{min-width:0}
  .dd-panel a:not(.btn){white-space:normal}
}
@media(max-width:359px){
  .ct-row .v{font-size:.88rem}
  .ct-row .act{gap:3px;font-size:.78rem}
}
@media(max-width:359px){.spt-grid{grid-template-columns:1fr}.spt-tile{min-width:0}}
.on-light :is(h2,h3,h4,.h2) .accent,.on-light .sec-head h2 .accent{color:var(--green)}
.rev-who .src,.svc-tiles .tile .sub{opacity:1;color:rgba(33,37,41,.75)}
.lists .note{color:rgba(33,37,41,.75)}
/* Touch browsers emulate hover before click; only explicit taps open a bio. */
@media(hover:none){
  .team-card:not(.bio-open) .bio-pop{visibility:hidden;opacity:0;pointer-events:none}
  .team-card.bio-open .bio-pop{visibility:visible;opacity:1;pointer-events:auto}
}
.mob-sub .mob-h,.dd-h{color:rgba(245,247,246,.72)}
.dd-cta,.dd-cta p,.svc-num{color:var(--ink)}
.on-light :focus-visible{outline-color:var(--ink)}
