:root {
  color-scheme: light;
  --navy: #173b53;
  --navy-deep: #102d40;
  --teal: #39745d;
  --teal-light: #e8f0eb;
  --accent: #2f6784;
  --paper: #ffffff;
  --stone: #f3f6f5;
  --ink: #243741;
  --muted: #56676f;
  --line: #d7e0e3;
  --white: #ffffff;
  --font-body: Arial, Helvetica, sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --site-width: 1840px;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; min-width: 0; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--teal); }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 3px solid #176b8c; outline-offset: 3px; }
::selection { color: var(--navy-deep); background: #dce9e3; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: var(--white); background: var(--navy); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - clamp(32px, 4vw, 80px)), var(--site-width)); margin-inline: auto; }
.eyebrow { margin: 0 0 14px; color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: .11em; line-height: 1.45; text-transform: uppercase; }
.eyebrow--light { color: var(--teal); }
.display-title { margin: 0; color: var(--navy); font: 600 clamp(2.15rem, 3.4vw, 3.4rem)/1.16 var(--font-display); letter-spacing: -.025em; }
.display-title em { color: var(--teal); font-style: normal; }
.lead { color: var(--navy); font: 400 1.2rem/1.6 var(--font-body); }
.section { padding-block: clamp(46px, 4.4vw, 68px); }
.section--stone, .section--navy { background: var(--stone); }
.section--navy { color: var(--ink); }
.section--navy .display-title { color: var(--navy); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 38px; margin-bottom: 30px; }
.section-head > p { max-width: 480px; margin: 0 0 3px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.body-copy { max-width: 68ch; color: var(--muted); font-size: 15px; line-height: 1.8; }
.text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 42px; border-bottom: 1px solid var(--teal); color: var(--navy); font-size: 14px; font-weight: 700; }
.text-link:hover { color: var(--teal); }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 12px 18px; border: 1px solid transparent; border-radius: 2px; font: 700 14px/1.25 var(--font-body); transition: background-color .16s ease, color .16s ease, border-color .16s ease; }
.button--navy { color: var(--white); background: var(--navy); }
.button--navy:hover { color: var(--white); background: var(--teal); }
.button--outline { border-color: var(--navy); color: var(--navy); background: transparent; }
.button--outline:hover { color: var(--white); background: var(--navy); }

/* Contact strip and primary navigation */
.utility { min-height: 36px; color: #edf2f3; background: var(--navy-deep); font-size: 12px; }
.utility__inner { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 18px; }
.utility__status { display: flex; align-items: center; gap: 9px; }
.utility__dot { width: 7px; height: 7px; border-radius: 50%; background: #87b29a; }
.utility__contacts { display: flex; align-items: center; gap: 10px; }
.utility a { color: inherit; }
.utility a:hover { color: var(--white); text-decoration: underline; }
.site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid var(--line); background: var(--white); }
.nav-wrap { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.brand-logo { width: 67px; height: 44px; flex: 0 0 auto; object-fit: contain; background: var(--white); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.25; }
.brand-copy strong { color: var(--navy); font: 700 14px var(--font-body); letter-spacing: .1em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; letter-spacing: .1em; }
.primary-nav { display: flex; align-items: center; justify-content: end; gap: clamp(12px, 1.6vw, 23px); }
.primary-nav a { padding-block: 8px; border-bottom: 2px solid transparent; color: #394d56; font-size: 13px; font-weight: 700; white-space: nowrap; }
.primary-nav a:hover, .primary-nav a[aria-current="page"]:not(.nav-cta) { border-bottom-color: var(--teal); color: var(--navy); }
.primary-nav .nav-cta { padding: 11px 15px; border: 1px solid var(--navy); color: var(--white); background: var(--navy); }
.primary-nav .nav-cta:hover, .primary-nav .nav-cta[aria-current="page"] { border-color: var(--teal); color: var(--white); background: var(--teal); }
.menu-toggle { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid var(--line); background: var(--white); cursor: pointer; }
.menu-toggle span { width: 20px; height: 2px; background: var(--navy); transition: transform .16s ease, opacity .16s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }

/* Homepage */
.home-hero { position: relative; min-height: 560px; overflow: hidden; background: var(--navy-deep); }
.home-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.home-hero__shade { position: absolute; z-index: 1; inset: 0; display: block; background: linear-gradient(90deg, rgb(16 45 64 / 91%) 0%, rgb(16 45 64 / 80%) 38%, rgb(16 45 64 / 40%) 68%, rgb(16 45 64 / 12%) 100%); }
.home-hero__inner { position: relative; z-index: 2; display: flex; width: min(calc(100% - clamp(32px, 4vw, 80px)), var(--site-width)); min-height: 560px; align-items: center; margin-inline: auto; padding-block: 52px; }
.home-hero__copy { width: 54%; max-width: 740px; }
.home-hero h1 { max-width: 680px; margin: 0; color: var(--white); font: 600 clamp(2.8rem, 4.4vw, 4.5rem)/1.08 var(--font-display); letter-spacing: -.035em; }
.home-hero h1 em { color: var(--teal); font-style: normal; }
.home-hero__summary { max-width: 520px; margin: 20px 0 25px; color: #f0f4f3; font-size: 18px; line-height: 1.65; }
.home-hero .eyebrow { color: #c6dfcf; }
.home-hero .button--navy { border-color: var(--white); color: var(--navy-deep); background: var(--white); }
.home-hero .button--navy:hover { border-color: #e7efeb; color: var(--navy-deep); background: #e7efeb; }
.home-hero .button--outline { border-color: rgb(255 255 255 / 75%); color: var(--white); background: transparent; }
.home-hero .button--outline:hover { color: var(--navy-deep); background: var(--white); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; }
.home-facts { width: 100%; border-bottom: 1px solid var(--line); background: var(--white); }
.home-facts__inner { display: grid; width: min(calc(100% - clamp(32px, 4vw, 80px)), var(--site-width)); grid-template-columns: repeat(4, minmax(0, 1fr)); margin-inline: auto; }
.home-facts__item { display: flex; min-height: 94px; align-items: center; gap: 13px; padding: 15px 22px; border-right: 1px solid var(--line); }
.home-facts__item:first-child { padding-left: 0; }
.home-facts__item:last-child { border-right: 0; }
.home-facts strong { color: var(--navy); font: 600 25px/1.2 var(--font-display); white-space: nowrap; }
.home-facts small { font: inherit; font-size: .65em; }
.home-facts span { max-width: 150px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.home-intro, .story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(38px, 7vw, 94px); align-items: start; }
.home-intro__copy > p, .story-grid__copy > p { max-width: 68ch; color: var(--muted); font-size: 16px; line-height: 1.8; }
.home-intro__copy .lead { color: var(--navy); }
.home-pathways { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #cbd5d8; border-left: 1px solid #cbd5d8; background: var(--white); }
.pathway { min-height: 204px; padding: 23px 21px; border-right: 1px solid #cbd5d8; border-bottom: 1px solid #cbd5d8; background: var(--white); }
.pathway__number { color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pathway h3 { margin: 16px 0 8px; color: var(--navy); font: 600 21px/1.25 var(--font-display); }
.pathway p { margin: 0 0 14px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.pathway a { display: inline-flex; min-height: 36px; align-items: center; color: var(--navy); font-size: 13px; font-weight: 700; }
.home-community { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(38px, 7vw, 92px); align-items: center; }
.home-community__photo { min-height: 370px; }
.home-community__photo img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.home-community__copy p { max-width: 58ch; color: var(--muted); font-size: 16px; line-height: 1.8; }

/* Shared page introduction and breadcrumb */
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 0 0 20px; color: var(--muted); font-size: 13px; }
.breadcrumb a { text-decoration: underline; text-decoration-color: #aab8be; text-underline-offset: 3px; }
.breadcrumb span[aria-current="page"] { color: var(--ink); }
.page-intro { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); min-height: 390px; background: var(--stone); }
.page-intro__copy { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: 42px 4vw 42px 4vw; }
.page-intro__copy > p:not(.eyebrow):not(.breadcrumb) { max-width: 58ch; margin: 18px 0 0; color: #4d6068; font-size: 16px; line-height: 1.75; }
.page-intro__media { position: relative; min-height: 390px; overflow: hidden; background: #e8edeb; }
.page-intro__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-intro__caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 10px 16px; color: var(--white); background: #173b53; font-size: 12px; }
.page-intro--navy, .page-intro--plain { color: var(--ink); background: #edf3f4; }
.page-intro--navy .display-title, .page-intro--plain .display-title { color: var(--navy); }
.page-intro--navy .page-intro__copy > p:not(.eyebrow):not(.breadcrumb), .page-intro--plain .page-intro__copy > p:not(.eyebrow):not(.breadcrumb) { color: #4d6068; }
.page-intro--plain { grid-template-columns: 1fr; min-height: 0; }
.page-intro--plain .page-intro__copy { min-height: 280px; padding-block: 40px; }
.page-intro--plain .display-title { max-width: 850px; }
.page-intro--plain .page-intro__copy > p:not(.eyebrow):not(.breadcrumb) { max-width: 720px; }
.page-intro--team { grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr); min-height: 320px; }
.page-intro--team .page-intro__media { min-height: 320px; }
.page-intro--facility { min-height: 390px; }
.page-intro--facility .page-intro__media { min-height: 390px; }
.page-intro--facility .page-intro__media img { object-position: center bottom; }

/* About */
.story-grid__aside { position: relative; min-height: 420px; }
.story-grid__aside img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mission-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mission { padding: 27px 32px 28px 0; }
.mission + .mission { padding-left: 32px; border-left: 1px solid var(--line); }
.mission small { color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.mission p { max-width: 54ch; color: #344d58; font: 400 19px/1.55 var(--font-display); }
.values-grid { display: grid; grid-template-columns: 1.4fr repeat(5, 1fr); gap: 18px; }
.values-grid--spaced { margin-top: 28px; }
.value { min-height: 92px; padding-left: 14px; border-left: 1px solid var(--line); }
.value b { display: block; margin-bottom: 9px; color: var(--teal); font: 700 11px var(--font-body); }
.value strong { color: #29434e; font: 700 14px/1.5 var(--font-body); }
.history-band { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; align-items: start; }
.history-band__year { color: var(--teal); font: 600 clamp(48px, 6vw, 76px)/1 var(--font-display); }
.history-band__copy { color: #3e535d; font-size: 16px; line-height: 1.8; }
.history-band__copy strong { color: var(--navy); }
.quality-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 76px); align-items: start; }
.quality-layout .body-copy { margin-top: 17px; }
.quality-list { padding-top: 5px; }
.quality-list h2 { margin: 0 0 14px; color: var(--navy); font: 600 20px/1.35 var(--font-display); }
.quality-list ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.quality-list li { padding: 11px 0; border-bottom: 1px solid var(--line); color: #40545c; font-size: 14px; }
.quality-list li::before { margin-right: 8px; color: var(--teal); content: "•"; }
.quality-list p { margin: 14px 0 0; color: var(--muted); font-size: 13px; }

/* Services */
.service-groups { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cbd5d8; border-left: 1px solid #cbd5d8; background: var(--white); }
.service-group { min-height: 270px; padding: 24px clamp(20px, 2.4vw, 32px); border-right: 1px solid #cbd5d8; border-bottom: 1px solid #cbd5d8; background: var(--white); }
.service-group__index { color: var(--teal); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.service-group h2 { margin: 14px 0 8px; color: var(--navy); font: 600 23px/1.25 var(--font-display); }
.service-group p { min-height: 46px; margin: 0 0 13px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.service-group ul { margin: 0; padding: 0; list-style: none; }
.service-group li { padding: 7px 0; border-top: 1px solid #e3e9ea; color: #40545c; font-size: 14px; line-height: 1.45; }
.service-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding: 17px 0; border-block: 1px solid #bdcbd0; }
.service-note p { margin: 0; color: #40545c; font-size: 14px; }
.service-note strong { color: var(--navy); }
.service-note a { flex: 0 0 auto; color: var(--navy); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Staff */
.people-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.people-grid--doctors { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 26px; }
.person { display: grid; min-width: 0; grid-template-columns: 180px minmax(0, 1fr); align-items: stretch; overflow: hidden; border: 1px solid var(--line); background: var(--white); }
.people-grid--doctors .person { grid-template-columns: 220px minmax(0, 1fr); }
.person img { width: 100%; height: 228px; object-fit: cover; object-position: center 27%; }
.people-grid--doctors .person img { height: 258px; }
.person--francis img { object-position: center 24%; }
.person--fred img { object-position: 68% 25%; }
.person--susan img { object-position: center 24%; }
.person--timothy img { object-position: center 22%; }
.person--matron img { object-position: center 20%; }
.person--nursing img { object-position: center 28%; }
.person::after { display: none; }
.person__caption { position: static; align-self: center; padding: 18px 18px 20px; color: var(--navy); background: var(--white); }
.person__caption small { color: var(--teal); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: none; }
.person__caption h2 { margin: 4px 0 0; color: var(--navy); font: 600 20px/1.35 var(--font-display); }
.person__bio { margin: 11px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.person--wide { grid-column: auto; }
.team-roles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 22px; margin-top: 28px; border-top: 1px solid var(--line); }
.team-roles p { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); color: #40545c; font-size: 15px; }

/* Facilities */
.facility-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(2, 205px); gap: 12px; }
.facility-gallery figure { position: relative; overflow: hidden; margin: 0; background: #e4e9e7; }
.facility-gallery figure:first-child { grid-column: span 3; grid-row: span 2; }
.facility-gallery img { width: 100%; height: 100%; object-fit: cover; }
.facility-gallery figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 9px 12px; color: var(--white); background: #173b53; font-size: 12px; }
.facility-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 30px; border-block: 1px solid var(--line); }
.facility-fact { padding: 19px 18px; border-right: 1px solid var(--line); }
.facility-fact:first-child { padding-left: 0; }
.facility-fact:last-child { border: 0; }
.facility-fact strong { display: block; color: var(--navy); font: 600 27px/1.2 var(--font-display); }
.facility-fact span { color: var(--muted); font-size: 14px; }
.facility-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 22px; margin: 23px 0 0; padding: 0; list-style: none; }
.facility-list li { padding: 11px 0; border-bottom: 1px solid var(--line); color: #40545c; font-size: 14px; }
.facility-list li::before { margin-right: 9px; color: var(--teal); content: "•"; }

/* Insurance and community */
.insurance-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(38px, 6vw, 78px); align-items: start; }
.insurance-copy p { max-width: 60ch; color: var(--muted); font-size: 16px; line-height: 1.8; }
.insurance-list { border-top: 1px solid var(--line); }
.insurance-row { display: grid; grid-template-columns: 30px 1fr auto; gap: 13px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.insurance-row__icon { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #c7d9ce; color: var(--teal); background: var(--teal-light); font-size: 14px; }
.insurance-row__icon--pending { border-color: #d9e0e1; color: var(--muted); background: var(--stone); }
.insurance-row__text { display: flex; flex-direction: column; }
.insurance-row__text strong { color: #294750; font: 700 15px var(--font-body); }
.insurance-row__text small { margin-top: 4px; color: var(--muted); font-size: 13px; }
.insurance-row__status { color: #32644f; font-size: 11px; font-weight: 700; letter-spacing: .05em; white-space: nowrap; }
.insurance-row__status--pending { color: #596a70; }
.notice { margin-top: 20px; padding: 15px 18px; border-left: 3px solid var(--teal); background: var(--stone); color: #4d6068; font-size: 14px; line-height: 1.7; }
.community-story { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(38px, 6vw, 78px); align-items: center; }
.community-story__image { min-height: 390px; }
.community-story__image img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.community-story__copy p { color: var(--muted); font-size: 16px; line-height: 1.8; }
.outreach-list { display: grid; grid-template-columns: 1fr 1fr; margin-top: 18px; border-top: 1px solid var(--line); }
.outreach-list span { padding: 11px 8px 11px 0; border-bottom: 1px solid var(--line); color: #36545c; font-size: 14px; }
.outreach-list span::before { margin-right: 8px; color: var(--teal); content: "•"; }
.community-partners { padding: 18px 0; border-block: 1px solid var(--line); color: #435961; font-size: 15px; line-height: 1.9; }
.community-partners strong { color: var(--navy); }

/* Contact */
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-panel { padding: clamp(24px, 3.5vw, 42px); border: 1px solid var(--line); background: var(--stone); }
.contact-panel--navy { color: var(--ink); background: var(--white); }
.contact-panel h2 { margin: 0 0 17px; color: var(--navy); font: 600 25px/1.3 var(--font-display); }
.contact-panel address { color: #4d6068; font-size: 16px; font-style: normal; line-height: 1.8; }
.contact-detail-list { display: flex; flex-direction: column; margin-top: 12px; }
.contact-detail-list a { padding: 12px 0; border-top: 1px solid var(--line); color: var(--navy); font-size: 15px; font-weight: 700; }
.contact-detail-list a:hover { color: var(--teal); }
.contact-note { margin-top: 15px; color: var(--muted); font-size: 14px; }
.contact-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* Footer */
.site-footer { padding: 46px 0 18px; color: var(--white); background: var(--navy-deep); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr 1.15fr 1.2fr; gap: clamp(22px, 4vw, 55px); padding-bottom: 30px; }
.brand--footer .brand-copy strong { color: var(--white); }
.brand--footer .brand-copy small { color: #d0dadd; }
.footer-about { max-width: 300px; margin: 14px 0 0; color: #d0dadd; font-size: 14px; line-height: 1.7; }
.footer-col h2 { margin: 3px 0 12px; color: var(--white); font: 600 18px var(--font-display); }
.footer-col a, .footer-col p { display: block; margin: 0 0 8px; color: #d2dcde; font-size: 13px; line-height: 1.7; }
.footer-col a:hover { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.footer-col p { overflow-wrap: anywhere; }
.footer-bottom { display: flex; justify-content: space-between; gap: 18px; padding-top: 13px; border-top: 1px solid #ffffff36; color: #c0cdd0; font-size: 12px; }
.footer-disclaimer { margin: 10px 0 0; color: #c0cdd0; font-size: 12px; }

/* Page-specific photo compositions */
.page-intro__copy { position: relative; z-index: 1; }
.page-intro__copy .display-title { max-width: 13ch; font-size: clamp(2.8rem, 4vw, 4.25rem); line-height: 1.06; }
.page-intro--plain .page-intro__copy .display-title { max-width: 17ch; }
.page-intro__media img { object-position: center; }
.page-intro--community .page-intro__media img { object-position: center 45%; }
.page-intro--media .page-intro__media img { object-position: center 40%; }
.page-intro--reverse { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); }
.page-intro--reverse .page-intro__copy { grid-column: 2; grid-row: 1; padding-right: max(32px, calc((100vw - var(--site-width)) / 2)); padding-left: 5vw; }
.page-intro--reverse .page-intro__media { grid-column: 1; grid-row: 1; }
.page-intro--backdrop { position: relative; display: block; min-height: 440px; overflow: hidden; background: var(--navy-deep); }
.page-intro--backdrop::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgb(16 45 64 / 94%) 0%, rgb(16 45 64 / 78%) 37%, rgb(16 45 64 / 34%) 67%, rgb(16 45 64 / 5%) 100%); content: ""; }
.page-intro--backdrop .page-intro__media { position: absolute; inset: 0; min-height: 0; }
.page-intro--backdrop .page-intro__media img { object-position: center 38%; }
.page-intro--backdrop .page-intro__copy { z-index: 2; width: min(58vw, 860px); min-height: 440px; padding: 44px 5vw 44px max(32px, calc((100vw - var(--site-width)) / 2)); color: var(--white); }
.page-intro--backdrop .display-title { color: var(--white); }
.page-intro--backdrop .page-intro__copy > p:not(.eyebrow):not(.breadcrumb) { color: #f1f4f2; }
.page-intro--backdrop .eyebrow { color: #b9d6c4; }
.page-intro--backdrop .breadcrumb, .page-intro--backdrop .breadcrumb span[aria-current="page"] { color: #eef3ef; }
.page-intro__caption { padding: 10px 16px; background: rgb(16 45 64 / 84%); }
.community-story--copy { grid-template-columns: .9fr 1.1fr; align-items: center; }
.community-story--copy .community-story__copy p:last-child { max-width: 64ch; }
.community-story--copy .outreach-list { margin-top: 0; }
.team-role-feature { display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); gap: clamp(26px, 4vw, 54px); align-items: stretch; margin-top: 28px; }
.team-role-feature__image { min-height: 360px; overflow: hidden; background: var(--stone); }
.team-role-feature__image img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center 35%; }
.team-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 0 26px; margin-top: 0; }
.facility-gallery figure { min-width: 0; }
.facility-gallery figure:last-child { grid-column: span 2; }
.facility-gallery img { object-position: center; }
.facility-gallery figcaption { background: rgb(16 45 64 / 86%); }
.facility-facts { margin-top: 24px; }
.contact-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-panel { border-top: 2px solid var(--line); }
.contact-panel--navy { border-top-color: var(--teal); }
.insurance-layout, .quality-layout, .community-story { align-items: center; }
.section-head { margin-bottom: 28px; }
.site-footer { padding-top: 42px; }

@media (min-width: 1600px) {
  .home-hero { min-height: 580px; }
  .home-hero__inner { min-height: 580px; }
}
@media (min-width: 1201px) and (max-width: 1599px) {
  .people-grid:not(.people-grid--doctors) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .people-grid:not(.people-grid--doctors) .person:last-child:nth-child(3n + 1) { grid-column: 2; }
}
@media (max-width: 1200px) {
  .nav-wrap { min-height: 72px; }
  .primary-nav { gap: 12px; }
  .primary-nav a { font-size: 12px; }
  .brand-copy strong { font-size: 13px; }
  .brand-logo { width: 61px; height: 40px; }
  .values-grid { grid-template-columns: repeat(3, 1fr); }
  .values-grid > :first-child { grid-column: span 3; }
  .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .people-grid--doctors .person { grid-template-columns: 185px minmax(0, 1fr); }
  .people-grid--doctors .person img { height: 255px; }
  .person { grid-template-columns: 145px minmax(0, 1fr); }
  .person img { height: 215px; }
}
@media (max-width: 980px) {
  .menu-toggle { display: flex; }
  .primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; max-height: calc(100vh - 94px); overflow-y: auto; align-items: stretch; flex-direction: column; gap: 0; padding: 10px 24px 20px; border-bottom: 1px solid var(--line); background: var(--white); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 12px 2px; border-bottom: 1px solid var(--line); font-size: 15px; }
  .primary-nav a[aria-current="page"]:not(.nav-cta) { border-bottom-color: var(--teal); }
  .primary-nav .nav-cta { margin-top: 12px; padding: 13px 15px; border: 0; text-align: center; }
  .home-hero__copy { width: 50%; }
  .page-intro { min-height: 370px; }
  .page-intro__media { min-height: 370px; }
  .page-intro__copy { padding-block: 34px; }
  .home-facts__inner { width: min(calc(100% - 48px), var(--site-width)); }
  .community-story--copy { gap: 28px; }
  .team-role-feature { grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 24px; }
  .team-role-feature__image { min-height: 320px; }
  .home-intro, .story-grid, .team-feature, .insurance-layout, .quality-layout { gap: 38px; }
  .service-groups { grid-template-columns: repeat(2, 1fr); }
  .service-group { min-height: 270px; }
  .facility-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, 175px); }
  .facility-gallery figure:first-child { grid-column: span 2; grid-row: auto; }
  .facility-gallery figure:last-child { grid-column: span 3; }
  .facility-list { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 72px; }
  body { font-size: 16px; }
  .container { width: calc(100% - 36px); }
  .utility__inner { justify-content: center; min-height: 36px; }
  .utility__status, .utility__email { display: none; }
  .utility__contacts { justify-content: center; gap: 8px; font-size: 12px; }
  .nav-wrap { min-height: 68px; gap: 14px; }
  .brand-logo { width: 56px; height: 37px; }
  .brand-copy strong { font-size: 12px; }
  .brand-copy small { font-size: 9px; }
  .primary-nav { padding-inline: 18px; }
  .home-hero { min-height: 0; }
  .home-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-position: 58% center; }
  .home-hero__shade { background: linear-gradient(90deg, rgb(16 45 64 / 91%) 0%, rgb(16 45 64 / 78%) 58%, rgb(16 45 64 / 42%) 100%); }
  .home-hero__inner { min-height: 460px; padding-block: 38px 42px; }
  .home-hero__copy { width: 100%; max-width: 580px; }
  .home-hero h1 { max-width: 560px; font-size: clamp(2.5rem, 9vw, 3.35rem); line-height: 1.08; }
  .home-hero__summary { margin-block: 15px 20px; font-size: 17px; }
  .button { min-height: 48px; padding-inline: 14px; font-size: 14px; }
  .home-facts__inner { width: calc(100% - 36px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-facts__item, .home-facts__item:first-child { min-height: 76px; padding: 11px 8px; border-right: 1px solid var(--line); }
  .home-facts__item:nth-child(2n) { border-right: 0; }
  .home-facts__item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .home-facts strong { font-size: 21px; }
  .home-facts span { font-size: 12px; }
  .section { padding-block: 42px; }
  .display-title { font-size: clamp(2rem, 8vw, 2.65rem); }
  .section-head { display: block; margin-bottom: 24px; }
  .section-head > p { margin-top: 12px; font-size: 15px; }
  .home-intro, .story-grid, .team-feature, .insurance-layout, .community-story, .quality-layout { grid-template-columns: 1fr; gap: 22px; }
  .community-story--copy { grid-template-columns: 1fr; }
  .home-intro__copy > p, .story-grid__copy > p, .home-community__copy p, .community-story__copy p, .insurance-copy p { font-size: 16px; }
  .home-pathways { grid-template-columns: 1fr; }
  .pathway { min-height: 0; padding: 19px 17px; }
  .pathway h3 { margin-top: 9px; }
  .home-community { grid-template-columns: 1fr; gap: 22px; }
  .home-community__photo { min-height: 250px; }
  .home-community__photo img { min-height: 250px; }
  .page-intro { grid-template-columns: 1fr; min-height: 0; }
  .page-intro__copy { padding: 35px 18px 32px; }
  .page-intro--reverse .page-intro__copy, .page-intro--reverse .page-intro__media { grid-column: 1; grid-row: auto; }
  .page-intro__copy > p:not(.eyebrow):not(.breadcrumb) { margin-top: 14px; font-size: 16px; }
  .page-intro__media { min-height: 260px; }
  .page-intro--facility .page-intro__media { min-height: 220px; }
  .page-intro--team .page-intro__media { min-height: 230px; }
  .page-intro--plain .page-intro__copy { min-height: 0; padding-block: 36px; }
  .page-intro--backdrop { min-height: 0; }
  .page-intro--backdrop::after { display: none; }
  .page-intro--backdrop .page-intro__copy { width: 100%; min-height: 0; padding: 35px 18px 32px; background: var(--navy-deep); }
  .page-intro--backdrop .page-intro__media { position: relative; min-height: 250px; }
  .breadcrumb { margin-bottom: 15px; font-size: 13px; }
  .story-grid__aside { min-height: 290px; }
  .mission-grid { grid-template-columns: 1fr; }
  .mission { padding: 20px 0; }
  .mission + .mission { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .mission p { margin-bottom: 0; font-size: 18px; }
  .quality-list ul { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .values-grid > :first-child { grid-column: span 2; }
  .value { min-height: 76px; padding-left: 10px; }
  .value strong { font-size: 13px; }
  .history-band { grid-template-columns: 1fr; gap: 16px; }
  .history-band__year { font-size: 54px; }
  .history-band__copy { font-size: 15px; }
  .service-groups { grid-template-columns: 1fr; }
  .service-group { min-height: 0; padding: 20px 17px; }
  .service-group p { min-height: 0; font-size: 15px; }
  .service-group li { font-size: 15px; }
  .service-note { align-items: flex-start; flex-direction: column; gap: 10px; }
  .people-grid, .people-grid--doctors { grid-template-columns: 1fr; gap: 12px; }
  .people-grid--doctors { margin-bottom: 18px; }
  .person, .people-grid--doctors .person { grid-template-columns: minmax(118px, 38%) minmax(0, 1fr); }
  .person img, .people-grid--doctors .person img { height: 205px; }
  .person__caption { padding: 12px 13px 14px; }
  .person__caption h2 { font-size: 17px; }
  .person__caption small { font-size: 11px; }
  .person__bio { margin-top: 8px; font-size: 13px; line-height: 1.55; }
  .team-roles { grid-template-columns: repeat(2, 1fr); gap: 0 14px; }
  .team-role-feature { grid-template-columns: 1fr; gap: 18px; margin-top: 20px; }
  .team-role-feature__image { min-height: 230px; }
  .facility-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 190px repeat(3, 135px); gap: 9px; }
  .facility-gallery figure:first-child, .facility-gallery figure:last-child { grid-column: span 2; grid-row: auto; }
  .facility-gallery figure:last-child { display: block; }
  .facility-gallery figcaption { padding: 8px 9px; font-size: 11px; }
  .facility-facts { grid-template-columns: repeat(2, 1fr); margin-top: 22px; }
  .facility-fact, .facility-fact:first-child { padding: 14px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .facility-fact:nth-child(2n) { border-right: 0; }
  .facility-fact:nth-last-child(-n+2) { border-bottom: 0; }
  .facility-fact strong { font-size: 23px; }
  .facility-list { grid-template-columns: 1fr; gap: 0; }
  .insurance-row { grid-template-columns: 28px 1fr; gap: 10px; }
  .insurance-row__status { grid-column: 2; }
  .notice { font-size: 14px; }
  .community-story__image { min-height: 280px; }
  .community-story__image img { min-height: 280px; }
  .outreach-list { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; gap: 12px; }
  .contact-panel { padding: 22px 18px; }
  .contact-panel h2 { font-size: 23px; }
  .contact-cta { gap: 8px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .footer-grid > :first-child, .footer-grid > :last-child { grid-column: span 2; }
  .footer-col a, .footer-col p { overflow-wrap: anywhere; font-size: 13px; }
  .footer-bottom { display: block; line-height: 1.9; }
  .footer-bottom span { display: block; }
}
@media (max-width: 380px) {
  .container, .home-hero__inner { width: calc(100% - 30px); }
  .home-facts__inner { width: calc(100% - 30px); }
  .utility__contacts { gap: 6px; font-size: 11px; }
  .brand { gap: 7px; }
  .brand-logo { width: 50px; }
  .brand-copy strong { font-size: 11px; }
  .brand-copy small { font-size: 8px; letter-spacing: .07em; }
  .home-hero__actions { align-items: stretch; flex-direction: column; }
  .home-hero__actions .button { width: 100%; }
  .home-facts__item { gap: 8px; }
  .home-facts strong { font-size: 19px; }
  .home-facts span { font-size: 11px; }
  .people-grid { gap: 9px; }
  .person, .people-grid--doctors .person { grid-template-columns: minmax(105px, 36%) minmax(0, 1fr); }
  .person img, .people-grid--doctors .person img { height: 195px; }
  .person__caption { padding: 9px; }
  .person__caption h2 { font-size: 15px; }
  .facility-gallery { grid-template-rows: 170px repeat(3, 120px); }
  .contact-cta { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
