@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400;1,700&family=Montserrat:wght@300;400;500;700&display=swap");

@font-face {
  font-family: "Joyful Webfont";
  src: url("https://cdn.prod.website-files.com/65b2e92aedef35d0ade46f52/65b8d92e9654c69acb4cc7ef_joyful-webfont.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --brand-541: #003b71;
  --brand-541-50: #809db8;
  --brand-5185: #4c3041;
  --brand-5185-50: #a698a0;
  --brand-7475: #44797b;
  --brand-7475-50: #a2bcbd;
  --brand-7499: #f1e4b2;
  --brand-7499-50: #f8f2d9;
  --brand-1375: #ff9e18;
  --brand-1375-50: #ffcf8c;
  --brand-warm-red: #ff4438;
  --brand-warm-red-50: #ffa19c;
  --signature-deep-blue: #0b3b60;
  --ink: var(--brand-541);
  --ink-deep: var(--brand-541);
  --paper: var(--brand-7499-50);
  --paper-bright: #fff;
  --sun: var(--brand-1375);
  --sun-soft: var(--brand-7499);
  --clay: var(--brand-warm-red);
  --sage: var(--brand-7475);
  --line: rgb(0 59 113 / 24%);
  --muted: var(--brand-7475);
  --gold-ink: var(--signature-deep-blue);
  --on-dark: #fff;
  --on-dark-muted: var(--brand-7475-50);
  --font-headline: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-callout: "Joyful Webfont", "Montserrat", ui-sans-serif, sans-serif;
  --font-body: "Lora", Georgia, serif;
  --font-ui: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --serif: var(--font-body);
  --sans: var(--font-ui);
}

body {
  background: var(--paper-bright);
  color: var(--brand-541);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-headline);
  font-weight: 500;
  letter-spacing: -0.035em;
}

h1 {
  font-size: clamp(3.25rem, 5.8vw, 5.75rem);
  line-height: 0.98;
}

h2,
.route-intro h2,
.contact-details h2,
.recognition-intro h2,
.facility-experience h2,
.facility-gallery-heading h2 {
  font-size: clamp(2.92rem, 4vw, 4.15rem);
  line-height: 1.02;
}

h3,
.care-index h3,
.journey-steps h3,
.question-lines h3,
.guide-section article h3,
.stream-lines h3 {
  font-family: var(--font-headline);
  font-weight: 500;
  letter-spacing: -0.025em;
}

.surface-hero-copy h1,
.admissions-page .surface-hero-copy h1,
.safe-communication-page .surface-hero-copy h1 {
  font-family: var(--font-headline);
  font-size: clamp(3.15rem, 5.4vw, 5.35rem);
  font-weight: 500;
}

.admissions-page .question-ledger h2,
.admissions-page .process-band h2,
.admissions-page .surface-faq h2,
.admissions-page .surface-cta h2,
.safe-communication-page .question-ledger h2,
.safe-communication-page .directions-surface h2,
.safe-communication-page .surface-cta h2 {
  font-size: clamp(2.92rem, 3.6vw, 3.75rem);
}

.hero-note strong,
.tour-block strong,
.fact-stamp strong,
.guide-number,
.rating-line > strong {
  font-family: var(--font-callout);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.hero-note strong,
.tour-block strong {
  font-size: clamp(3.35rem, 5vw, 4.75rem);
  line-height: 0.9;
}

.fact-stamp strong {
  font-size: clamp(3rem, 4vw, 3.8rem);
  line-height: 0.94;
}

.guide-number {
  font-size: clamp(3.35rem, 5vw, 4.8rem);
}

.rating-line > strong {
  font-size: clamp(4rem, 6vw, 5.5rem);
}

.care-bar,
.site-header,
nav,
button,
.button,
.eyebrow,
.location-line,
.source-facts,
.source-lockup,
.rating-line,
.source-note,
.recognition-badge figcaption,
.care-index > article > span,
.care-index small,
.journey-steps span,
.leadership-slots span,
.tour-block span,
.resource-list span,
.resource-list em,
.happenings-line,
.footer-links,
.copyright,
.surface-status,
.question-lines article > span,
.process-band,
.publishing-flow,
.facility-ledger dt,
.direction-lines,
.source-register,
.answer-index span,
.download-register,
.editorial-note span,
.stream-lines article > span,
.stream-lines article > strong,
.answer-layer-links,
.experience-actions,
.tour-fallback,
.facility-gallery-note,
.gallery-lightbox,
.form-note,
.form-status,
label,
input,
select,
textarea {
  font-family: var(--font-ui);
}

.source-facts strong,
.process-band li > strong,
.publishing-flow li > strong,
.surface-faq summary,
.direction-lines strong,
.answer-index a,
.guide-section article h3,
.stream-lines h3,
.answer-layer-links strong,
.faq summary,
.resource-list strong,
.recognition-badge figcaption strong,
.certified-label,
.gallery-lightbox-footer p {
  font-family: var(--font-headline);
  font-weight: 500;
}

.eyebrow,
.location-line,
nav a,
.button,
.menu-button,
.footer-links strong,
.source-facts span,
.process-band li > span,
.publishing-flow li > span {
  font-weight: 700;
}

.source-note p,
.cms-caution,
.tour-fallback,
.facility-gallery-note,
.source-facts > p,
.form-note,
.form-status,
.copyright {
  font-size: 0.84rem;
  line-height: 1.5;
}

.care-bar,
.audience-route,
.faq,
.directions-surface,
.download-register,
.facility-experience,
.contact-hero,
.contact-details,
.final-cta,
.surface-cta {
  background: var(--brand-541);
  color: var(--on-dark);
}

.source-facts,
.journey,
.process-band,
.publishing-flow,
.answer-index,
footer,
.gallery-lightbox,
.gallery-lightbox-footer {
  background: var(--signature-deep-blue);
  color: var(--on-dark);
}

.community {
  background: var(--brand-7475);
  color: var(--on-dark);
}

.hero,
.surface-hero,
.facts-hero,
.story-hero,
.resources,
.surface-faq,
.source-register,
.facility-gallery,
.guide-section.reverse,
.event-contract,
.answer-layer,
.care-options {
  background: var(--brand-7499-50);
}

.signature-recognition,
.cms-proof,
.guide-note {
  background: rgb(241 228 178 / 50%);
}

.site-header {
  background: rgb(255 255 255 / 96%);
  border-color: var(--line);
}

.site-header [aria-current="page"] {
  text-decoration-color: var(--brand-warm-red);
}

.nav-cta,
.button.primary {
  background: var(--brand-541);
  border-color: var(--brand-541);
  color: #fff;
}

.button.sun,
.path-tabs button[aria-selected="true"],
.editorial-note {
  background: var(--brand-1375);
  color: var(--brand-541);
}

.button.quiet {
  color: var(--brand-541);
}

.hero-note,
.tour-block,
.fact-stamp {
  background: var(--brand-7499);
  border-top: 5px solid var(--brand-warm-red);
  color: var(--brand-541);
  box-shadow: 0 20px 54px rgb(0 59 113 / 18%);
}

.eyebrow,
.proof-lines strong,
.care-index small,
.care-index article > span,
.resource-list span,
.facility-ledger dt,
.question-lines article > span,
.stream-lines article > span,
.stream-lines article > strong,
.answer-layer-links span {
  color: var(--brand-7475);
}

.eyebrow.light,
.journey-steps span,
.source-facts span,
.process-band li > span,
.publishing-flow li > span,
.footer-links strong,
.tour-source-link,
.gallery-lightbox-count,
.direction-lines span,
.download-register em {
  color: var(--brand-1375);
}

.community .eyebrow.light {
  color: #fff;
}

.audience-route > a,
.journey-steps,
.journey-steps li,
.process-band ol,
.publishing-flow ol,
.process-band li,
.publishing-flow li,
.source-facts > div,
.source-facts > div:first-child,
.direction-lines,
.direction-lines a,
.download-register > div:last-child,
.download-register > div:last-child p,
.faq-list,
.faq details,
.community-links,
.community-links a,
.copyright {
  border-color: rgb(241 228 178 / 32%);
}

.journey-guide p:not(.eyebrow),
.journey-steps p,
.process-band li > p,
.publishing-flow li > p,
.experience-copy > p:not(.eyebrow),
.faq details p,
.direction-block p,
.source-facts > p,
.download-register span,
.footer-brand p,
.copyright {
  color: var(--on-dark-muted);
}

.audience-route > a:hover {
  background: var(--brand-1375);
  color: var(--brand-541);
}

.proof-stamp {
  border-color: var(--brand-warm-red);
  color: var(--signature-deep-blue);
}

.care-index,
.proof-lines,
.resource-list,
.happenings-line,
.question-lines,
.facility-ledger dl,
.source-register > div:last-child,
.answer-layer-links,
.stream-lines,
.verified-trust article,
.recognition-badges {
  border-color: var(--brand-541);
}

.care-index article,
.proof-lines div,
.resource-list a,
.happenings-line,
.question-lines article,
.facility-ledger dl > div,
.source-register > div:last-child p,
.guide-section,
.answer-layer-links a,
.stream-lines article,
.review-excerpts,
.review-excerpts blockquote,
.cms-proof,
.cms-proof dl,
.cms-proof dl div,
.recognition-badge,
.recognition-badges {
  border-color: var(--line);
}

.leadership-slots,
.facility-gallery-grid figure {
  background: var(--brand-7499);
}

.leadership-slots > div,
.leadership-slots > article {
  background: var(--brand-7499-50);
}

.leadership-slots > div::before,
.leadership-slots > article::before {
  background: repeating-linear-gradient(135deg, var(--brand-7475-50) 0 2px, transparent 2px 12px);
}

.signature-recognition {
  border-color: var(--line);
}

.recognition-badges {
  background: rgb(255 255 255 / 45%);
}

.stars {
  color: var(--brand-1375);
}

.guide-number {
  color: var(--brand-warm-red);
}

.guide-note {
  border-left: 4px solid var(--brand-7475);
  color: var(--brand-541);
}

.surface-cta,
.final-cta {
  border-top: 5px solid var(--brand-warm-red);
}

.surface-cta .button.primary,
.final-cta .button.primary,
.facility-experience .button.primary {
  background: var(--brand-1375);
  border-color: var(--brand-1375);
  color: var(--brand-541);
}

.surface-cta .button.primary:hover,
.final-cta .button.primary:hover,
.facility-experience .button.primary:hover {
  background: var(--brand-7499);
  border-color: var(--brand-7499);
  color: var(--brand-541);
}

.path-panel form {
  border-top-color: var(--brand-warm-red);
  box-shadow: 0 18px 50px rgb(0 59 113 / 12%);
}

.path-tabs {
  box-shadow: 0 12px 35px rgb(0 59 113 / 14%);
}

input,
select,
textarea {
  border-color: var(--brand-541-50);
  background: #fff;
  color: var(--brand-541);
}

.virtual-tour-frame,
.gallery-lightbox-stage {
  background: var(--brand-541);
}

.facility-gallery-grid figcaption,
figure figcaption {
  background: rgb(0 59 113 / 90%);
  color: #fff;
}

.gallery-lightbox::backdrop {
  background: rgb(11 59 96 / 92%);
}

.gallery-lightbox-footer,
.gallery-lightbox-controls button,
.gallery-lightbox-close span {
  border-color: rgb(241 228 178 / 38%);
}

.gallery-lightbox-controls button:hover,
.gallery-lightbox-controls button:focus-visible,
.gallery-lightbox-close:hover span {
  background: var(--brand-1375);
  border-color: var(--brand-1375);
  color: var(--brand-541);
}

:focus-visible {
  outline: 3px solid var(--brand-1375);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--brand-541);
}

@media (max-width: 820px) {
  h1,
  .surface-hero-copy h1,
  .admissions-page .surface-hero-copy h1,
  .safe-communication-page .surface-hero-copy h1 {
    font-size: clamp(3.05rem, 13vw, 4.25rem);
  }

  h2,
  .route-intro h2,
  .contact-details h2,
  .recognition-intro h2,
  .facility-experience h2,
  .facility-gallery-heading h2,
  .admissions-page .question-ledger h2,
  .admissions-page .process-band h2,
  .admissions-page .surface-faq h2,
  .admissions-page .surface-cta h2,
  .safe-communication-page .question-ledger h2,
  .safe-communication-page .directions-surface h2,
  .safe-communication-page .surface-cta h2 {
    font-size: clamp(2.92rem, 10vw, 3.35rem);
  }
}

@media (max-width: 520px) {
  .hero-note strong,
  .tour-block strong {
    font-size: 3.35rem;
  }

  .fact-stamp strong {
    font-size: 3.35rem;
  }
}

/* The current facility lockup includes the Signature HealthCARE endorsement. */
.site-header .brand {
  width: 190px;
}

.site-header .brand img,
.footer-brand img {
  aspect-ratio: 1974 / 698;
  object-fit: contain;
}

.footer-brand img {
  width: 280px;
}

@media (max-width: 820px) {
  .site-header .brand {
    width: 165px;
  }

  .footer-brand img {
    width: 240px;
  }
}
