/* Text-only gold token. Never use this for button fills, borders or rules. */
:root { --gold-text-on-light: #8a5d00; }
.pano-nav-dropdown__grid a::before,
.pano-nav-dropdown__grid a:hover::before,
.pano-nav-dropdown__grid a:focus-visible::before { color:var(--gold-text-on-light); }
/* Bound contrast independently of the photograph beneath the existing caption. */
.contact-service__image figcaption,
.service-detail-hero__photo figcaption,
.service-story-photo figcaption,
.primary-care-scope figcaption,
.about-scope__visual>div {
  background:rgba(8,43,71,.88);
  box-shadow:0 0 0 8px rgba(8,43,71,.88);
}
.pano-reviews {
  background-image:linear-gradient(90deg,rgba(4,29,49,.96),rgba(4,29,49,.86)),url('assets/fresh-meadows-hero.webp');
}
.pano-reviews aside { background-color:rgba(8,43,71,.65); }
.pano-new p.pano-new__label { color:var(--gold-text-on-light); }
.service-detail .section:not(.section--navy):not(.service-provider) .eyebrow,
.home-visits-premium .section:not(.section--navy) .eyebrow,
.home-visits-premium .page-hero .eyebrow { color:var(--gold-text-on-light); }
@media(max-width:680px) {
  .service-hero-rating small { font-size:13px; }
}
.pano-eyebrow, .services-kicker, .contact-kicker, .about-kicker,
.faq-kicker, .legal-eyebrow, .legal-toc strong,
.contact-path__number, .detail .number, .service-card .number,
.pano-challenge .pano-pains b, .pano-text-link,
.pano-hero-rating>span, .pano-provider-rating>span, .service-hero-rating span,
.pano-signature span, .pano-provider-facts small, .pano-new__label,
.pano-new a, .pano-solution__link, .pano-provider__link, .pano-faq__contact a,
.pano-community-banner>div>p,
.pano-footer__main>nav>span, .pano-footer__contact>span,
.about-signature, .about-story__facts span, .about-settings__grid em,
.services-group__heading>span, .services-group__heading p,
.services-directory .service-card span, .services-directory .service-card b,
.services-path li>span, .faq-group>header>span {
  color: var(--gold-text-on-light);
}
/* Existing dark surfaces retain bright gold; repair inherited light-surface ink. */
.pano-reviews .pano-eyebrow, .pano-location .pano-eyebrow,
.about-approach .about-kicker, .about-final .about-kicker,
.services-group--navy .services-group__heading>span,
.services-group--navy .services-group__heading p,
.services-group--navy .service-card span, .services-group--navy .service-card b,
.services-final .services-kicker { color: #e7c55f; }
.contact-final .contact-kicker { color: var(--contact-gold-light); }
.faq-hero .faq-kicker, .faq-final .faq-kicker { color: var(--faq-gold-light); }
.legal-meta { color: #536776; }
.service-hero-rating small { color: #536776; }
.service-detail--gold .service-detail-hero .eyebrow { color: var(--gold-text-on-light); }
.service-sick-visits .service-detail-hero .eyebrow { color: #526c53; }
.service-iv-wellness .service-detail-hero .eyebrow { color: #206e79; }
@media (max-width:680px) {
  .pano-utility a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
  .pano-utility>div { flex-wrap:wrap; column-gap:12px; row-gap:0; }
  .pano-utility>div>span { font-size:12px; }
  .pano-footer nav a, .pano-footer__contact a {
    display:inline-flex; align-items:center; min-height:44px; font-size:13px;
  }
  .pano-footer__legal nav { flex-wrap:wrap; }
  .hero-care-modes a, .service-chapters a, .legal-toc a,
  .service-back { display:inline-flex; align-items:center; min-height:44px; }
  /* The visible dot stays 8px/28px, inside a non-overlapping 44px button. */
  .pano-review-controls { gap:0; }
  .pano-review-controls button:not(.review-playback) {
    position:relative; width:44px; height:44px; flex:0 0 44px;
    border:0; background:transparent;
  }
  .pano-review-controls button:not(.review-playback)::before {
    content:""; position:absolute; top:18px; left:18px; width:8px; height:8px;
    border:1px solid #ffffffb8; border-radius:999px; box-sizing:border-box;
  }
  .pano-review-controls button.is-active::before {
    left:8px; width:28px; background:var(--gold); border-color:var(--gold);
  }
  .pano-review-controls .review-playback { min-width:44px; min-height:44px; }
}
