/* Shared site shell (top bar + header + footer) for pages that keep their own landing-page CSS.
   Mirrors the inline CSS used on every treatment page, so header/footer look identical everywhere. */
body { padding-top: 64px; }
@media (min-width: 640px)  { body { padding-top: 80px; } }
@media (min-width: 768px)  { body { padding-top: 116px; } }
@media (min-width: 1024px) { body { padding-top: 128px; } }
.topbar { background: #092C2C; }
.nav-link { position: relative; padding-bottom: 6px; }
.nav-link::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background-color: #1D8386; border-radius: 2px; transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); transform-origin: left; }
#mobileMenu:not(.hidden) { animation: mobileMenuIn 0.22s ease forwards; }
@keyframes mobileMenuIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
.footer-link { position: relative; padding-bottom: 2px; transition: color 0.25s ease, padding-left 0.25s ease; }
.footer-link::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background-color: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; }
.footer-link:hover::after { transform: scaleX(1); transform-origin: left; }
.footer-link:hover { padding-left: 3px; }
.footer-social { transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, border-color 0.25s ease; }
.footer-social:hover { background-color: #1D8386; border-color: #1D8386; color: #ffffff; transform: translateY(-2px); }
