/* Moderate increases for supporting copy; heading sizes stay unchanged. */
.nav-link { font-size: .9rem; }
.btn-nav { font-size: .875rem; }
.eyebrow { font-size: .76rem; letter-spacing: 1.6px; }
.announcement { font-size: .8rem; }
.cta-note { font-size: .84rem; line-height: 1.7; margin-bottom: 18px; }
.hero-details { font-size: .84rem; }
.hero-address { display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; line-height: 1.7; color: var(--muted); margin: 0 0 22px; }
.hero-address .icon { width: 19px; height: 19px; margin-top: 3px; color: var(--pine); }
.care-ribbon span { font-size: .88rem; }
.service-shortcuts a { font-size: .9rem; }
.category-heading p { font-size: .95rem; }
.service-card-content p { font-size: .94rem; line-height: 1.8; }
.service-card-content .btn { font-size: .85rem; padding: 14px 12px; }
.service-image-note { font-size: .8rem; }
.journey-list p { font-size: .94rem; }
.text-link { font-size: .9rem; }
.site-home .faq-section .accordion-button { font-size: .94rem; }
.site-home .faq-section .accordion-body { font-size: .94rem; line-height: 1.8; }
.site-home .final-panel .eyebrow { font-size: .74rem; }
.site-home .final-panel p:not(.eyebrow) { font-size: 1rem; }
.footer-bottom { font-size: .8rem; }
.floating-note strong { font-size: .84rem; }
.floating-note div > span { font-size: .77rem !important; }
.site-home .hero-image-stage .art-label { font-size: .66rem; letter-spacing: 1.3px; }
.hero-brand-stage .art-seal span { font-size: .54rem; letter-spacing: 1.7px; }
.connection-message { font-size: .96rem; }
.connection-card .eyebrow { font-size: .74rem; }
.connection-contact { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 18px 0 0; font-size: .94rem; color: var(--pine); }
.connection-contact .icon { width: 20px; height: 20px; }
.back-link { font-size: .86rem; }
.selected-service { font-size: .86rem; }
.service-detail-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; font-size: .87rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.service-detail-link .icon { width: 17px; height: 17px; }

.location-section { background: radial-gradient(ellipse at 100% 0%, #e1f3ef, transparent 60%), #f4f9f8; padding-bottom: 80px; }
.location-card { padding: 35px; border: 1px solid #c9dfdc; border-radius: 20px; background: #fff; box-shadow: 8px 9px 0 #dbeae5, 0 20px 35px #0c49500b; }
.location-card .care-icon { margin-bottom: 23px; background: #e5f5f0; box-shadow: 0 4px 0 #c3ddd4; }
.location-card h3 { font-size: 1.4rem; margin-bottom: 15px; }
.location-card address { font-size: 1rem; font-style: normal; line-height: 1.9; color: var(--muted); margin-bottom: 17px; }
.location-card .maps-link { margin-bottom: 25px; }
.location-card .btn { display: flex; width: 100%; font-size: .96rem; }
.location-card .btn .icon:last-child { margin-left: auto; }
.footer-contact-grid { display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 35px; }
.site-footer .footer-local-title { font-size: .95rem; font-weight: 600; margin-bottom: 6px; }
.footer-address { margin: 0; font-size: .9rem; line-height: 1.8; font-style: normal; color: var(--muted); }

@media (max-width: 991px) {
  .footer-contact-grid { grid-template-columns: 170px 1fr; gap: 25px; }
  .footer-contact-grid > .text-link { grid-column: 2; }
}
@media (max-width: 575px) {
  .announcement { font-size: .73rem; }
  .hero .eyebrow { font-size: .72rem; letter-spacing: 1.1px; }
  .hero .btn-lg { font-size: .875rem; }
  .hero-description { font-size: .97rem; }
  .cta-note { font-size: .81rem; }
  .hero-address { font-size: .85rem; }
  .hero-details { font-size: .8rem; gap: 19px; }
  .care-ribbon span { font-size: .8rem; }
  .service-shortcuts a { font-size: .85rem; }
  .category-heading p { font-size: .92rem; }
  .service-card-content p { font-size: .94rem; }
  .service-card-content .btn { font-size: .86rem; }
  .site-home .faq-section .accordion-button { font-size: .91rem; }
  .site-home .faq-section .accordion-body { font-size: .91rem; padding-left: 22px; }
  .site-home .final-panel .eyebrow { font-size: .66rem; letter-spacing: .7px; }
  .site-home .final-panel p:not(.eyebrow) { font-size: .94rem; }
  .floating-note strong { font-size: .8rem; }
  .floating-note div > span { font-size: .73rem !important; }
  .site-home .hero-image-stage .art-label { font-size: .59rem; letter-spacing: .8px; }
  .hero-brand-stage .art-seal span { font-size: .5rem; letter-spacing: 1.3px; }
  .connection-message { font-size: .92rem; }
  .location-card { padding: 26px; }
  .location-card address { font-size: .94rem; }
  .location-card .btn { font-size: .9rem; }
  .footer-contact-grid { grid-template-columns: 1fr; gap: 20px; }
  .footer-contact-grid > .text-link { grid-column: auto; }
  .footer-bottom { font-size: .78rem; }
}
