:root {
  --navy: #0d132b;
  --teal: #0f5552;
  --blue: #12aeea;
  --sage: #eaf7f2;
  --soft: #f8fcfb;
  --line: #d7e8e3;
  --muted: #607371;
  --shadow: 0 24px 70px rgba(13, 31, 45, .12);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--navy);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 4%, rgba(18, 174, 234, .14), transparent 26rem),
    radial-gradient(circle at 88% 8%, rgba(143, 199, 178, .18), transparent 24rem),
    linear-gradient(180deg, #fbfefd 0%, #eef8f5 100%);
}

a {
  color: inherit;
  text-decoration: none;
}

.site-shell {
  width: min(1120px, calc(100% - 32px));
  margin-inline: auto;
}

.topbar {
  position: sticky;
  top: 14px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  padding: 12px 14px 12px 22px;
  border: 1px solid rgba(15, 85, 82, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 18px 50px rgba(13, 31, 45, .10);
  backdrop-filter: blur(18px);
}

.brand {
  flex: 0 0 auto;
  font-weight: 900;
  letter-spacing: -.03em;
}

.brand span,
.service-word {
  color: var(--blue);
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  color: #33413f;
  font-weight: 800;
}

.nav-services {
  position: relative;
}

.nav-services summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  list-style: none;
}

.nav-services summary::-webkit-details-marker {
  display: none;
}

.nav-services summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  transform: rotate(45deg) translateY(-2px);
}

.services-menu {
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  display: none;
  min-width: 260px;
  padding: 10px;
  border: 1px solid rgba(15, 85, 82, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow);
  transform: translateX(-50%);
}

.nav-services[open] .services-menu,
.nav-services:hover .services-menu,
.nav-services:focus-within .services-menu {
  display: grid;
  gap: 4px;
}

.services-menu a {
  padding: 12px 14px;
  border-radius: 14px;
  white-space: nowrap;
}

.services-menu a:hover {
  background: var(--sage);
  color: var(--teal);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(13, 31, 45, .08);
}

.button.primary {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(28px, 6vw, 74px);
  align-items: center;
  padding: clamp(64px, 9vw, 116px) 0 54px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 22px;
  padding: 9px 14px;
  border: 1px solid rgba(18, 174, 234, .22);
  border-radius: 999px;
  color: #007fb0;
  background: rgba(255, 255, 255, .74);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
  letter-spacing: -.055em;
  line-height: .96;
}

h1 {
  max-width: 720px;
  font-size: clamp(3.2rem, 8vw, 6.8rem);
}

h2 {
  font-size: clamp(2.2rem, 5vw, 4.6rem);
}

h3 {
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.55;
}

.hero-actions,
.section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.service-panel {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  padding: clamp(24px, 5vw, 44px);
  border: 1px solid rgba(15, 85, 82, .13);
  border-radius: 42px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(234, 247, 242, .72)),
    radial-gradient(circle at 72% 12%, rgba(18, 174, 234, .20), transparent 12rem);
  box-shadow: var(--shadow);
}

.service-panel::before {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(18, 174, 234, .10);
}

.panel-card {
  position: relative;
  display: grid;
  gap: 18px;
  height: 100%;
  align-content: center;
}

.panel-card strong {
  font-size: clamp(2rem, 4vw, 4.6rem);
  letter-spacing: -.05em;
  line-height: .98;
}

.panel-card p {
  max-width: 420px;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.55;
}

.section {
  padding: 56px 0;
}

.split {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(24px, 5vw, 56px);
  align-items: start;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.info-card,
.reason-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 42px rgba(13, 31, 45, .07);
}

.info-card {
  padding: 22px;
}

.info-card p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.reason-list,
.funding-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--teal);
  font-weight: 900;
}

.funding-list .pill {
  background: var(--sage);
}

.final-cta {
  margin-block: 56px;
  padding: clamp(30px, 5vw, 54px);
  border-radius: 36px;
  background: linear-gradient(135deg, var(--navy), #08464a);
  color: #fff;
}

.final-cta p {
  max-width: 690px;
  color: rgba(255,255,255,.78);
  font-size: 1.1rem;
  line-height: 1.55;
}

.footer {
  padding: 48px 0 60px;
  border-top: 1px solid rgba(15, 85, 82, .12);
  color: var(--muted);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, 1fr);
  gap: 28px;
}

.footer b {
  display: block;
  margin-bottom: 10px;
  color: var(--navy);
}

.footer a,
.footer span {
  display: block;
  margin: 8px 0;
}

@media (max-width: 860px) {
  .topbar {
    align-items: flex-start;
    border-radius: 28px;
  }

  .main-nav {
    display: none;
  }

  .hero,
  .split,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }

  .service-panel {
    min-height: 360px;
  }
}

/* Consistent, accessible service dropdown across standalone pages. */
.topbar details > summary,.topbar .nav-services > summary{align-items:center!important;border-radius:999px!important;display:inline-flex!important;gap:8px!important;min-height:42px!important;padding:0 13px!important;transition:background .18s ease,color .18s ease,box-shadow .18s ease!important}
.topbar details > summary::after,.topbar .nav-services > summary::after{border:0!important;color:#08aeea!important;content:"⌄"!important;display:inline-block!important;font-size:1rem!important;font-weight:900!important;height:auto!important;line-height:1!important;transform:translateY(-2px)!important;transition:transform .18s ease!important;width:auto!important}
.topbar details[open] > summary,.topbar details > summary:hover,.topbar details > summary:focus-visible{background:#eaf5ef!important;color:#0f5b55!important;outline:none!important}.topbar details > summary:focus-visible{box-shadow:0 0 0 3px rgba(18,174,229,.22)!important}.topbar details[open] > summary::after{transform:rotate(180deg) translateY(2px)!important}
.topbar .services-menu,.topbar details > div{animation:refine-menu-in .18s ease both!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(15,91,85,.16)!important;border-radius:22px!important;box-shadow:0 24px 65px rgba(9,15,42,.17)!important;gap:4px!important;left:50%!important;min-width:290px!important;padding:10px!important;top:calc(100% + 10px)!important;transform:translateX(-50%)!important;z-index:60!important}
.topbar .services-menu a,.topbar details > div a{align-items:center!important;border-radius:14px!important;color:#19213a!important;display:flex!important;font-size:.92rem!important;justify-content:space-between!important;min-height:48px!important;padding:11px 13px!important;transition:background .16s ease,color .16s ease,transform .16s ease!important}.topbar .services-menu a::after,.topbar details > div a::after{color:#08aeea!important;content:"→"!important;font-weight:900!important;opacity:0!important;transform:translateX(-5px)!important;transition:opacity .16s ease,transform .16s ease!important}
.topbar .services-menu a:hover,.topbar .services-menu a:focus-visible,.topbar details > div a:hover,.topbar details > div a:focus-visible,.topbar .services-menu a[aria-current="page"]{background:#eef9fb!important;color:#0f5b55!important;outline:none!important;transform:translateX(2px)!important}.topbar .services-menu a:hover::after,.topbar .services-menu a:focus-visible::after,.topbar details > div a:hover::after,.topbar details > div a:focus-visible::after,.topbar .services-menu a[aria-current="page"]::after{opacity:1!important;transform:translateX(0)!important}
@keyframes refine-menu-in{from{opacity:0;transform:translate(-50%,-6px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:620px){.topbar details{position:static!important}.topbar .services-menu,.topbar details > div{left:14px!important;max-width:calc(100vw - 40px)!important;min-width:min(290px,calc(100vw - 40px))!important;right:auto!important;transform:none!important}@keyframes refine-menu-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(max-width:980px){.topbar .main-nav,.topbar nav{flex-wrap:wrap!important;overflow:visible!important}.topbar details{z-index:70!important}}
@media(prefers-reduced-motion:reduce){.topbar .services-menu,.topbar details > div,.topbar details > summary,.topbar details > summary::after,.topbar .services-menu a,.topbar details > div a{animation:none!important;transition:none!important}}

/* One homepage-aligned header across every standalone page. */
body .topbar.unified-header{align-items:center!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(15,85,82,.14)!important;border-radius:999px!important;box-shadow:0 18px 50px rgba(13,31,45,.11)!important;display:flex!important;gap:14px!important;justify-content:flex-start!important;margin:4px auto 0!important;max-width:none!important;min-height:74px!important;padding:8px 10px 8px 20px!important;position:sticky!important;top:4px!important;width:min(1340px,calc(100% - 8px))!important;z-index:90!important}
body .topbar.unified-header .brand{color:#10172f!important;flex:0 0 auto!important;font-size:1.05rem!important;font-weight:900!important;letter-spacing:-.04em!important;white-space:nowrap!important}
body .topbar.unified-header .brand::first-line{color:inherit}
body .topbar.unified-header .main-nav{align-items:center!important;color:#344341!important;display:flex!important;flex:1 1 auto!important;flex-wrap:nowrap!important;font-size:.9rem!important;font-weight:800!important;gap:8px!important;justify-content:center!important;margin:0!important;min-width:0!important;order:initial!important;overflow:visible!important;padding:0!important;width:auto!important}
body .topbar.unified-header .main-nav>a{border-radius:999px!important;padding:12px 10px!important;white-space:nowrap!important}
body .topbar.unified-header .main-nav>a:hover,body .topbar.unified-header .main-nav>a:focus-visible{background:#eaf5ef!important;color:#0f5b55!important;outline:none!important}
body .topbar.unified-header .button{box-shadow:none!important;flex:0 0 auto!important;font-size:.9rem!important;min-height:52px!important;padding:0 22px!important;white-space:nowrap!important}
body .topbar.unified-header .unified-refer{background:#090f2a!important;border-color:#090f2a!important;color:#fff!important}
body .topbar.unified-header .provider-login{background:#fff!important;border-color:rgba(18,174,229,.32)!important;color:#155954!important}
body .topbar.unified-header .unified-call{background:#eef8f4!important;border-color:transparent!important;color:#155954!important;min-width:150px!important}
body .topbar.unified-header details{flex:0 0 auto!important;position:relative!important}
body .topbar.unified-header details>summary{font-size:.9rem!important;padding-inline:10px!important;white-space:nowrap!important}
@media(max-width:1120px){body .topbar.unified-header{gap:8px!important}body .topbar.unified-header .main-nav{gap:2px!important}body .topbar.unified-header .button{padding-inline:16px!important}body .topbar.unified-header .provider-login{display:none!important}}
@media(max-width:860px){body .topbar.unified-header{border-radius:28px!important;min-height:68px!important;padding-left:16px!important}body .topbar.unified-header .main-nav{display:none!important}body .topbar.unified-header .provider-login,body .topbar.unified-header .unified-call{display:none!important}body .topbar.unified-header .unified-refer{margin-left:auto!important;min-height:46px!important;padding-inline:18px!important}}
@media(max-width:430px){body .topbar.unified-header .brand{font-size:.78rem!important}body .topbar.unified-header .unified-refer{font-size:.76rem!important;padding-inline:13px!important}}

/* Hydrotherapy hero: never split a word and preserve comfortable line spacing. */
body:has(.hero-visual img[src*="hydrotherapy"]) .hero h1{hyphens:none!important;line-height:1.02!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:620px){body:has(.hero-visual img[src*="hydrotherapy"]) .hero h1{font-size:clamp(2.55rem,12vw,3.25rem)!important;letter-spacing:-.06em!important;line-height:1.06!important}}

/* Referral pathway gateway. */
.referral-hub{display:block;padding:clamp(70px,9vw,128px) 0 100px}
.referral-hub+main{display:none}
.referral-hub .hub-intro{max-width:920px;margin:0 auto 48px;text-align:center}
.referral-hub .hub-intro h2{max-width:none;margin:22px auto 24px;font-size:clamp(3.4rem,7vw,6.8rem)}
.referral-hub .hub-intro .lead{max-width:760px;margin-inline:auto}
.referral-hub .pathway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.referral-hub .pathway-card{position:relative;min-width:0;min-height:280px;display:flex;flex-direction:column;padding:clamp(26px,3vw,38px);overflow:hidden;border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.92);box-shadow:0 20px 55px rgba(9,15,42,.08);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.referral-hub .pathway-card:first-child{grid-column:1/-1;min-height:260px;background:radial-gradient(circle at 88% 10%,rgba(18,174,229,.18),transparent 18rem),linear-gradient(135deg,#fff,#edf8f4)}
.referral-hub .pathway-card:hover,.referral-hub .pathway-card:focus-within{transform:translateY(-4px);border-color:rgba(18,174,229,.5);box-shadow:0 28px 65px rgba(9,15,42,.13)}
.referral-hub .path-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:26px;border-radius:14px;background:var(--sage);color:var(--teal);font-size:.78rem;font-weight:900}
.referral-hub .pathway-card h2{max-width:none;margin:0 0 12px;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1;letter-spacing:-.055em}
.referral-hub .pathway-card p{max-width:660px;margin-bottom:18px}
.referral-hub .path-services{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.referral-hub .path-services span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#f8fcfa;color:var(--teal);font-size:.78rem;font-weight:850}
.referral-hub .path-link{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding:0 19px;border-radius:17px;background:var(--navy);color:#fff;font-weight:900}
.referral-hub .path-link:after{content:"\2192";color:var(--blue);font-size:1.25rem}
.referral-hub .pathway-card:first-child .path-link{max-width:330px;background:var(--blue)}
.referral-hub .pathway-card:first-child .path-link:after{color:#fff}
.referral-hub .hub-help{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:24px 28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.78)}
.referral-hub .hub-help p{margin:0}
.referral-hub .hub-help .button{flex:0 0 auto}
@media(max-width:760px){.referral-hub{padding-top:56px}.referral-hub .hub-intro{text-align:left}.referral-hub .hub-intro h2{font-size:clamp(3rem,15vw,4.8rem)}.referral-hub .pathway-grid{grid-template-columns:1fr}.referral-hub .pathway-card:first-child{grid-column:auto}.referral-hub .pathway-card{min-height:auto}.referral-hub .hub-help{align-items:flex-start;flex-direction:column}.referral-hub .hub-help .button{width:100%}}
