.polarbear .navbar a:hover,
.polarbear .navbar .active,
.polarbear .navbar .active:focus,
.polarbear .navbar li:hover > a {
  color: white;
}

.polarbear #header .logo img {
  max-height: 70px;
  width: auto;
  max-width: 100%;
}

#header {
  position: sticky;
  top: 0;
}

html { scroll-behavior: smooth; }
section[id], main[id] { scroll-margin-top: 110px; }
img { height: auto; }
.polarbear-icon-box { height: 100%; }
.team .member img { min-height: 0; }
.team .member span { font-size: 1rem; }
.mt-7 { margin-top: 5.5rem !important; }

#hero h1 {
  font-size: clamp(1.75rem, 4.2vw, 3rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
#hero h2 { max-width: 48rem; line-height: 1.5; }
#hero .hero-hours { color: #fff; margin: 0 0 1.75rem; line-height: 1.7; }
#hero .btn-get-started { background: #fff; color: #17432f; font-weight: 700; }
#hero .btn-get-started:hover { background: #e4f2e9; border-color: #e4f2e9; }

.contact .info-box { min-height: 185px; }
.contact .info-box p, .team .member .social a { overflow-wrap: anywhere; }
.contact-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 1.5rem; }
.contact-button { display: inline-block; padding: .85rem 1.25rem; background: #176c3c; color: #fff; font-weight: 600; }
.contact-button:hover { background: #17432f; color: #fff; }
.contact-call { color: #176c3c; text-decoration: underline; }
.contact-call:hover { color: #17432f; }

.mobile-nav-toggle { border: 0; background: transparent; min-width: 44px; min-height: 44px; padding: 8px; }
.polarbear .navbar-mobile a:hover,
.polarbear .navbar-mobile .active,
.polarbear .navbar-mobile .active:focus,
.polarbear .navbar-mobile li:hover > a { color: #176c3c; }
.menu-open { overflow: hidden; }
a:focus-visible, button:focus-visible { outline: 3px solid #e7a900; outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #17432f; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }

@media (max-width: 991px) {
  /* Navigation remains available if JavaScript is disabled or fails to load. */
  #header:has(.navbar:not(.nav-ready)) { height: auto; position: relative; }
  #header:has(.navbar:not(.nav-ready)) > .container { flex-wrap: wrap; }
  .navbar:not(.nav-ready) { width: 100%; }
  .navbar:not(.nav-ready) ul { display: flex; flex-wrap: wrap; }
  .navbar:not(.nav-ready) .mobile-nav-toggle { display: none; }
}
@media (max-width: 768px) {
  #hero .container { padding-top: 0; }
  #hero h2 { margin-inline: auto; }
}
@media (max-width: 575px) {
  #topbar { height: auto; padding: .5rem 0; }
  #topbar .contact-info a, #topbar .contact-info i { line-height: 1.5; }
  #topbar .contact-info { flex-wrap: wrap; justify-content: center; gap: .25rem; }
  #topbar .contact-info .phone-icon { margin-left: .5rem; }
  #header .logo { max-width: calc(100% - 56px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
