/* Hygieia website styles; Bootstrap handles layout and components. */
:root {
  --bs-font-sans-serif: "Segoe UI", Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-primary: #0d6efd; --bs-primary-rgb: 13,110,253;
  --bs-success: #328c2b; --bs-success-rgb: 50,140,43;
  --bs-body-color: #000; --bs-body-color-rgb: 0,0,0;
  --bs-link-color: #0d6efd; --bs-link-color-rgb: 13,110,253;
  --bs-border-color: #dfedf5;
  --bs-heading-color: #062c87;
  --d2-strip-blue: #2d5dab;
}
html { scroll-behavior: smooth; }
body *, body *::before, body *::after { box-shadow: none !important; text-shadow: none !important; }
h1,h2,h3,h4,h5,h6 { color: var(--bs-heading-color); }
section, #stories, #faqs { scroll-margin-top: 1.5rem; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid #062c87; outline-offset: 3px; }
.d2-top-strip, .d2-footer-strip { background: linear-gradient(110deg,var(--d2-strip-blue),#204f9f); }
.d2-top-strip, .d2-top-strip .btn { font-size: .8125rem; }
.d2-top-news { min-width: 0; font-size: .8rem; }
.d2-top-news-window { min-width: 0; overflow: hidden; white-space: nowrap; }
.d2-top-news-track { display: flex; width: max-content; animation: d2-top-news-scroll 48s linear infinite; }
.d2-top-news-group { display: flex; align-items: center; flex: 0 0 auto; gap: clamp(1.5rem,3vw,3.5rem); padding-right: clamp(1.5rem,3vw,3.5rem); }
.d2-top-news-group li { flex: 0 0 auto; }
.d2-top-news-group a { display: inline-flex; align-items: center; gap: .5rem; color: #fff; text-decoration: none; }
.d2-top-news-group a:hover, .d2-top-news-group a:focus-visible { color: #d9eaff; text-decoration: underline; }
.d2-top-news-group .bi { color: #b9e878; font-size: .75rem; }
.d2-top-news-window:hover .d2-top-news-track, .d2-top-news-window:focus-within .d2-top-news-track { animation-play-state: paused; }
@keyframes d2-top-news-scroll { to { transform: translateX(-50%); } }
.d2-latest-updates-card .d2-news-card-message { color: #274465; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) { .d2-top-news-track { animation: none; } }
.d2-top-strip a:focus-visible, .d2-top-strip button:focus-visible, .d2-footer-strip button:focus-visible { outline-color: #fff; }
.d2-alternate-news { font-size: .95rem; }
.d2-alternate-brand-row { color: #062c87; font-size: .875rem; }
.d2-alternate-brand-row a, .d2-alternate-brand-row .btn-link { color: #062c87; }
.d2-alternate-slogan { max-width: 18rem; }
.d2-alternate-menu .navbar { --bs-navbar-color: #fff; --bs-navbar-hover-color: #d8eaff; --bs-navbar-active-color: #fff; }
.d2-alternate-menu .nav-link { padding-block: .85rem; }
.d2-alternate-menu .navbar .nav-link.active { border-bottom: 3px solid #a8d8ff; }
.d2-alternate-menu .navbar-toggler:focus-visible { outline-color: #fff; }
.d2-top-strip [aria-label="Social media"] .btn:hover { opacity: .8; }
.d2-application { background: linear-gradient(120deg,#edf7ff 0%,#dceefa 55%,#e9f6f2 100%); }
.d2-application-step-number { width: 3rem; height: 3rem; }
.d2-application #how-to-apply { scroll-margin-top: 1.5rem; }
/* Four numbered application cards based on the supplied reference; no section tint. */
.d2-application-flow { --d2-step-accent: #087c32; --d2-step-tint: #e8f6ed; }
.d2-application-flow > li:nth-child(2) { --d2-step-accent: #278c62; --d2-step-tint: #e8f6f0; }
.d2-application-flow > li:nth-child(3) { --d2-step-accent: #0b9299; --d2-step-tint: #e6f6f6; }
.d2-application-flow > li:nth-child(4) { --d2-step-accent: #618822; --d2-step-tint: #f0f6e6; }
.d2-application-card { overflow: clip; border-color: #deebe4; background: linear-gradient(135deg,#fff 45%,var(--d2-step-tint) 100%); transition: transform .2s ease, border-color .2s ease; }
.d2-application-card::before { content: ""; position: absolute; top: 0; left: 1.5rem; right: 1.5rem; height: 4px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg,var(--d2-step-accent),#9ecc47); }
.d2-application-card::after { content: ""; position: absolute; width: 8rem; height: 8rem; bottom: -3rem; right: -3rem; border: 1.25rem solid #ffffff99; border-radius: 50%; background: var(--d2-step-tint); pointer-events: none; }
.d2-application-card > * { position: relative; z-index: 1; }
.d2-application-icon { width: 4.5rem; height: 4.5rem; border: 6px solid #fff; outline: 1px solid #deebe4; color: var(--d2-step-accent); background: var(--d2-step-tint); }
.d2-application-card h3 { color: #005c23; line-height: 1.4; }
.d2-application-card h3::after { content: ""; display: block; width: 2.5rem; height: 3px; margin-top: .65rem; border-radius: 3px; background: var(--d2-step-accent); }
.d2-application-heading h3::after { margin-inline: auto; }
.d2-application-card p { color: #425466; }
.d2-application-card .btn { --bs-btn-color: var(--d2-step-accent); --bs-btn-hover-color: #005c23; --bs-btn-active-color: #005c23; }
@media (hover: hover) and (pointer: fine) {
  .d2-application-card:hover { transform: translateY(-3px); border-color: var(--d2-step-accent); }
}
/* The top strip paints its own blue background; this gradient fills only the main menu row. */
/* Admissions-help comparison layouts, isolated from the other homepages. */
.d2-help-bold { background: linear-gradient(120deg,#173c7d,var(--d2-strip-blue)); border-left: 4px solid var(--bs-danger); color: #fff; }
.d2-help-label { background: #ffffff1a; border: 1px solid #ffffff40; font-size: .875rem; }
.d2-help-art { font-size: 13rem; line-height: 1; right: 1rem; bottom: -2rem; color: #ffffff0d; transform: rotate(-12deg); pointer-events: none; }
.d2-help-note { border-top: 1px solid #ffffff33; font-size: .9375rem; line-height: 1.6; }
.d2-help-call:hover { text-decoration: underline !important; }
.d2-help-eligibility .d2-help-note { border-color: #deebe4; color: #425466; }
.d2-help-eligibility .d2-help-call { color: #005c23; }
.d2-admission-reference.d2-help-eligibility h3 { color: #000; }
.d2-help-eligibility-contact { border-color: #deebe4 !important; background: #ffffffcc; }
.d2-admission-card.d2-admission-reference.d2-help-eligibility { transition: none; }
.d2-admission-card.d2-admission-reference.d2-help-eligibility:hover { transform: none; }
.d2-help-eligibility .d2-help-contact { border: 1px solid #deebe4; background: #fffdf6; color: #005c23; transition: none; }
.d2-help-eligibility .d2-help-contact .bi,
.d2-help-eligibility .d2-help-contact-value { color: #005c23; }
.d2-help-eligibility .d2-help-contact:hover { background: #fffdf6; }
.d2-help-eligibility-point { border-color: #deebe4 !important; background: #fff; color: #005c23; }
.d2-help-light { background: linear-gradient(120deg,#f1f7ff,#fbfdff); border-left: 4px solid var(--bs-primary) !important; }
.d2-help-icon { width: 3.5rem; height: 3.5rem; color: var(--bs-primary); background: #e1edfc; }
.d2-help-contact { background: #f4f8fd; transition: background-color .2s ease; overflow-wrap: anywhere; }
.d2-help-contact > span { min-width: 0; }
.d2-help-contact > .bi { flex-shrink: 0; }
.d2-help-image { display: block; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border: 1px solid #dbe9f8; }
.d2-three-card.d2-help-latest { transition: none; }
.d2-three-card.d2-help-latest:hover { transform: none; border-color: #dbe9f8; background-color: #f2f8ff; }
.d2-help-latest .d2-help-contact { transition: none; }
.d2-help-latest .d2-help-contact:hover { background: #f4f8fd; }
.d2-help-info { border: 0 !important; border-top: 4px solid var(--bs-info) !important; }
.d2-help-info .d2-help-contact { transition: none; }
.d2-help-info .d2-help-contact:hover { background: #fff; }
.d2-help-contact:hover { background: #e7f1fc; }
@media (prefers-reduced-motion: reduce) {
  .d2-help-contact { transition: none; }
}
#home { background: linear-gradient(to left,#e8f7fd 0%,#fff 100%); }
.d2-logo { width: 65px; height: 62px; object-fit: contain; }
.d2-brand { font-size: 1.22rem; color: #062c87; line-height: 1.03; letter-spacing: -.02em; }
.d2-brand > span { font-size: .77rem; letter-spacing: .065em; }
.d2-brand > span:last-child { color: #000; font-size: .8rem; letter-spacing: 0; }
.navbar { --bs-navbar-color: #062c87; --bs-navbar-hover-color: #0d6efd; --bs-navbar-active-color: #062c87; }
.navbar .nav-link { font-size: .875rem; font-weight: 600; white-space: nowrap; }
.navbar .nav-link.active { border-bottom: 2px solid #0d6efd; }
.btn { --bs-btn-border-radius: .6rem; font-size: .875rem; }
.btn-primary { --bs-btn-bg: #0d6efd; --bs-btn-border-color: #0d6efd; --bs-btn-hover-bg: #0b5ed7; --bs-btn-hover-border-color: #0a58ca; --bs-btn-active-bg: #0a58ca; --bs-btn-active-border-color: #0a53be; }
.btn-success { --bs-btn-bg: #438f2d; --bs-btn-border-color: #438f2d; --bs-btn-hover-bg: #317522; --bs-btn-hover-border-color: #317522; --bs-btn-active-bg: #27671d; --bs-btn-active-border-color: #27671d; }
.btn-outline-success { --bs-btn-color: #328c2b; --bs-btn-border-color: #328c2b; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #328c2b; --bs-btn-hover-border-color: #328c2b; }
.btn-outline-success.bg-white:hover { background: #328c2b !important; }
.d2-hero { background: #e8f7fd; min-height: 23rem; }
.d2-hero #heroTitle { font-size: clamp(2.45rem,4.2vw,3.55rem); line-height: 1.12; letter-spacing: -.01em; }
.d2-hero .py-lg-5 { padding-block: 2rem !important; }
/* Leaf-free sky artwork; botanical accents remain separate SVG layers. */
.d2-hero-art { position: absolute; inset: 0; background: #e8f7fd url('../images/hero-sky.webp') center / cover no-repeat; opacity: .25; }
/* A clinical-learning setting sits beneath the sky. */
.d2-hero-clinical { position: absolute; inset: 0 0 0 32%; background: url('../images/hero-background-light-blue.webp') center / cover no-repeat; opacity: .95; mask-image: linear-gradient(90deg,transparent 0%,#000 20%,#000 85%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 28%,#000 100%); mask-composite: intersect; }
/* Soft blue tint keeps the copy readable without hiding the sky and clouds. */
.d2-hero-fade { position: absolute; inset: 0; background: linear-gradient(180deg,#e8f7fd 0%,#e8f7fd 5%,#e8f7fd00 24%),linear-gradient(0deg,#e8f7fd 0%,#e8f7fdde 6%,#e8f7fd00 23%),linear-gradient(90deg,#e9f8fdcc 0%,#e9f8fdb3 30%,#e9f8fd4d 50%,#e9f8fd00 67%,#e8f7fd4d 87%,#e8f7fd 94%,#e8f7fd 100%); }
/* White at the logo-side top corner dissolves into the existing blue hero. */
.d2-hero-fade::before { content: ""; position: absolute; inset: 0 0 auto; height: 24%; background: linear-gradient(90deg,#fff 0%,#ffffff00 60%); mask-image: linear-gradient(#000,transparent); pointer-events: none; }
.d2-hero-leaves { position: absolute; top: 50%; left: -.25rem; width: clamp(2.75rem,4.5vw,4.75rem); height: 75%; max-height: 22rem; object-fit: fill; opacity: .4; transform: translateY(-50%); pointer-events: none; }
/* Unequal branches frame the content naturally without scattering leaves across it. */
.d2-hero-leaves.d2-hero-leaves-right { top: 60%; left: auto; right: -.25rem; width: clamp(2rem,3.2vw,3.25rem); height: 50%; max-height: 15rem; opacity: .3; transform: translateY(-50%) scaleX(-1); }
.d2-hero .small { font-size: .65rem; }
.d2-handwritten { font-family: inherit; color: #083184; font-size: 1.35rem; line-height: 1.23; font-style: italic; transform: rotate(-5deg); }
.d2-hero-portrait { min-height: 24.375rem; }
/* Match the original homepage's closer portrait without increasing the hero height. */
.d2-hero-nurse { position: absolute; top: 0; left: -6.2%; width: 112.4%; height: 112.4%; object-fit: contain; object-position: center top; clip-path: inset(0 0 11.032% 0); }
.d2-hero-tag { position: absolute; bottom: 1.25rem; left: 50%; width: max-content; min-height: 4rem; color: var(--bs-primary); transform: translateX(-50%) rotate(-4deg); }
.d2-hero-tag .small { font-size: .75rem; line-height: 1.2; }
.d2-hero-inquiry { position: relative; width: 80%; margin-inline: auto; scroll-margin-top: 1.5rem; border-color: #dae8ed; }
.d2-hero-inquiry .small { font-size: .72rem; }
.d2-hero-inquiry .form-control { font-size: .875rem; }
.d2-hero-inquiry textarea { resize: vertical; }
/* Continue the hero's bottom blue into a gentle fade to the white page below. */
.d2-hero-transition { background: linear-gradient(180deg,#e8f7fd 0%,#fff 8rem); }
.d2-admission-card { border-top: 4px solid var(--d2-strip-blue); transition: background-color .2s ease, transform .2s ease; }
.d2-admission-card:hover { background-color: #f5faff; transform: translateY(-3px); }
.d2-admission-card .btn { font-size: 1rem; }
.d2-admission-art { display: block; aspect-ratio: 2 / 1; height: auto; object-fit: contain; background: #fff; flex-shrink: 0; }
/* Screenshot-inspired admissions variants, isolated from the other homepage. */
.d2-admission-card.d2-admission-reference { overflow: clip; border: 1px solid #deebe4; background: #fff; color: #152b3c; transition: transform .2s ease, border-color .2s ease; }
.d2-admission-reference h3 { color: #005c23; }
.d2-admission-reference .d2-icon-circle { width: 3.5rem; height: 3.5rem; background: #eaf3ed; color: #006b24; font-size: 1.65rem; }
.d2-admission-reference .btn { --bs-btn-color: #005c23; --bs-btn-bg: #fff1d6; --bs-btn-border-color: #fff1d6; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #006324; --bs-btn-hover-border-color: #006324; --bs-btn-active-color: #fff; --bs-btn-active-bg: #004f1c; --bs-btn-active-border-color: #004f1c; }
.d2-admission-white::after { content: ""; position: absolute; inset: auto 0 0; height: 6px; background: #fff1d6; pointer-events: none; }
.d2-admission-card.d2-admission-cream { background: linear-gradient(125deg,#fffdf6,#fff1d6); border-color: transparent; }
.d2-admission-cream .d2-icon-circle { background: #fff; }
.d2-admission-cream .btn { --bs-btn-bg: #fff; --bs-btn-border-color: #deebe4; }
.d2-admission-card.d2-admission-green { background: linear-gradient(125deg,#006b1e,#005519); border-color: transparent; color: #fff; }
.d2-admission-green h3 { color: #fff; }
.d2-admission-green .d2-icon-circle { background: #ffffff29; color: #fff1d6; }
.d2-admission-green::after { content: ""; position: absolute; width: 9rem; height: 9rem; bottom: -3.5rem; right: -3.5rem; border-radius: 50%; background: #ffffff12; pointer-events: none; }
.d2-admission-green .btn { --bs-btn-hover-color: #005c23; --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: #fff; }
.d2-three-card { border: 1px solid #dbe9f8; border-top: 4px solid var(--bs-primary); background: #fff; transition: transform .2s ease, border-color .2s ease, background-color .2s ease; }
.d2-three-card-soft { background: #f2f8ff; }
.d2-three-card-art { display: block; aspect-ratio: 2 / 1; height: auto; object-fit: cover; background: #fff; }
[aria-label="Admissions quick links"] .d2-three-card-art,
[aria-label="Admissions quick links"] .d2-admission-option-art { aspect-ratio: auto; height: auto; object-fit: contain; object-position: center; }
.d2-three-card-icon { width: 3.5rem; height: 3.5rem; background: #e2f0ff; color: var(--bs-primary); font-size: 1.5rem; }
.d2-news-ticker { max-width: none; border: 0; background: transparent; color: #274465; }
.d2-latest-updates-card .card-body { min-height: 100%; }
.d2-news-ticker-window { height: 17rem; overflow: hidden; }
.d2-news-ticker-track { animation: d2-news-scroll 18s linear infinite; }
.d2-news-ticker-track li { height: 3.4rem; padding: 0 1.5rem; display: flex; align-items: center; justify-content: flex-start; gap: .65rem; border-bottom: 1px solid #dbe9f8; font-size: .9rem; font-weight: 400; white-space: nowrap; }
.d2-news-arrow { color: var(--bs-primary); font-size: .9rem; line-height: 1; flex: 0 0 auto; }
.d2-news-link { min-width: 0; overflow: hidden; color: #274465; text-decoration: none; text-overflow: ellipsis; }
.d2-news-link:hover, .d2-news-link:focus-visible { color: var(--bs-primary); text-decoration: underline; }
.d2-updates-hero { background: linear-gradient(135deg,#e5f2ff 0%,#f7fbff 65%,#fff 100%); border-top: 1px solid #dbe9f8; }
.d2-update-card { scroll-margin-top: 1.5rem; border: 1px solid #dbe9f8; border-top: 4px solid var(--bs-primary); background: #fff; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.d2-update-card:target { border-color: var(--bs-primary); background: #f5faff; }
.d2-update-label { color: #4f6f91; font-size: .78rem; letter-spacing: .08em; }
@media (hover: hover) and (pointer: fine) {
  .d2-update-card:hover { transform: translateY(-3px); border-color: #9fc5f3; }
}
.d2-news-ticker:hover .d2-news-ticker-track { animation-play-state: paused; }
@keyframes d2-news-scroll {
  from { transform: translateY(0); }
  to { transform: translateY(-17rem); }
}
@media (hover: hover) and (pointer: fine) {
  body:not(.d2-inner-page) .d2-three-card:hover { transform: translateY(-3px); border-color: #9fc5f3; background: #f8fbff; }
}
/* Additional card-4.png comparison row; existing admissions cards stay intact. */
.d2-admission-options { --d2-option-accent: #087c32; --d2-option-tint: #e6f6eb; --d2-option-border: #cfe9d8; }
.d2-admission-options > .col:nth-child(2) { --d2-option-accent: #138b8b; --d2-option-tint: #e2f5f4; --d2-option-border: #c9e9e7; }
.d2-admission-options > .col:nth-child(3) { --d2-option-accent: #52781b; --d2-option-tint: #eff6df; --d2-option-border: #dce9c6; }
.d2-admission-options > .col:nth-child(4) { --d2-option-accent: #0b5e35; --d2-option-tint: #e4f2e9; --d2-option-border: #cfe5d9; }
.d2-admission-option { overflow: clip; border-color: var(--d2-option-border); background: linear-gradient(180deg,var(--d2-option-tint),#fff 45%); transition: transform .2s ease, border-color .2s ease; }
.d2-admission-option-art { display: block; aspect-ratio: 2 / 1; height: auto; object-fit: cover; background: #fff; flex-shrink: 0; }
.d2-admission-option .card-body { flex: 1 1 auto; }
.d2-admission-option::after { content: ""; position: absolute; top: -3.5rem; right: -3rem; width: 9rem; height: 9rem; border: 1.25rem solid #ffffff80; border-radius: 50%; pointer-events: none; }
.d2-admission-option > * { position: relative; z-index: 1; }
.d2-admission-option-icon { width: 4.5rem; height: 4.5rem; border: 6px solid #fff; background: var(--d2-option-accent); color: #fff; flex-shrink: 0; }
.d2-admission-option h3 { color: #005c23; line-height: 1.4; }
.d2-admission-option h3::after { content: ""; display: block; width: 2.5rem; height: 3px; margin-top: .65rem; margin-inline: auto; border-radius: 3px; background: var(--d2-option-accent); }
.d2-admission-option p { color: #425466; line-height: 1.7; }
.d2-admission-option .btn { --bs-btn-color: var(--d2-option-accent); --bs-btn-bg: var(--d2-option-tint); --bs-btn-border-color: var(--d2-option-tint); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--d2-option-accent); --bs-btn-hover-border-color: var(--d2-option-accent); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--d2-option-accent); --bs-btn-active-border-color: var(--d2-option-accent); font-size: 1rem; }
@media (hover: hover) and (pointer: fine) {
  .d2-admission-option:hover { transform: translateY(-3px); border-color: var(--d2-option-accent); }
}
.d2-admission-card.d2-admission-reference:hover { transform: none; }
.d2-admission-reference.rounded-0, .d2-admission-option.rounded-0 { border-top: 4px solid var(--bs-danger); }
@media (hover: hover) and (pointer: fine) {
  .d2-admission-card.d2-admission-reference:hover { transform: translateY(-3px); }
}
.d2-stat { background: linear-gradient(120deg,#f0fafc,#eff7fc); }
.d2-icon-circle { width: 3.9rem; height: 3.9rem; background: #daf4f1; color: #008679; font-size: 2rem; }
.d2-icon-small { width: 3rem; height: 3rem; font-size: 1.8rem; }
.d2-stat .h3 { color: var(--bs-primary); font-size: 1.75rem; }
.d2-stat h2 { font-size: 1rem; }
.d2-caption { font-size: .9375rem; line-height: 1.5; }
.d2-section { padding-block: 2.5rem; }
.d2-section-title { font-size: clamp(1.75rem,2.5vw,2rem); letter-spacing: -.015em; line-height: 1.25; }
.small { font-size: 1rem; line-height: 1.6; }
.card { --bs-card-border-color: #dfedf5; --bs-card-border-radius: .55rem; }
#why .d2-section-title { font-size: clamp(2rem,2.8vw,2.25rem); }
#why > .container > p { font-size: 1.125rem; }
.d2-benefit { background-color: #f5fbfd; transition: transform .2s ease, border-color .2s ease, background-color .2s ease; }
.d2-benefit-title { font-size: 1.25rem; line-height: 1.4; }
.d2-benefit .small { font-size: 1.0625rem; line-height: 1.65; }
@media (hover: hover) and (pointer: fine) {
  .d2-benefit:hover { transform: translateY(-4px); border-color: var(--d2-strip-blue); background-color: #e7f3ff; }
}
.d2-quote { background: linear-gradient(110deg,#e4f8fe,#e8f4fa); }
/* Split Why Choose layout on the homepage. */
#why > .container > .mb-4 > p { font-size: 1.125rem; line-height: 1.7; max-width: 62rem; }
.d2-why-intro { background: linear-gradient(145deg,var(--d2-strip-blue),#173d80); color: #fff; }
.d2-why-intro::after { content: ""; position: absolute; right: -5rem; bottom: -5rem; width: 17rem; height: 17rem; border: 2.5rem solid #ffffff0a; border-radius: 50%; pointer-events: none; }
.d2-why-intro > * { position: relative; z-index: 1; }
.d2-why-intro-icon { width: 4.5rem; height: 4.5rem; background: #ffffff1a; border: 1px solid #ffffff40; }
.d2-why-intro .btn { color: var(--bs-primary); }
.d2-why-icon { width: 3.25rem; height: 3.25rem; background: #eaf2fd; color: var(--d2-strip-blue); flex-shrink: 0; }
.d2-why-feature { border-color: #e2eaf4; background: transparent; }
.d2-why-feature p { color: #425466; font-size: 1.0625rem; line-height: 1.65; }
.d2-why-number { color: #58759f; font-size: .875rem; letter-spacing: .05em; }
.d2-quote img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.d2-quote blockquote { font-size: 1.625rem; line-height: 1.4; transform: none; }
.d2-program > img { display: block; height: auto; aspect-ratio: 3 / 2; object-fit: cover; flex-shrink: 0; }
.d2-program-title { font-size: 1.25rem; line-height: 1.35; }
.d2-program .btn { font-size: 1rem; }
/* Full-width photo cards based on card-3.png, isolated from the blue homepage. */
.d2-program-network { --d2-program-accent: #007652; --d2-program-soft: #b5dfd0; --d2-program-corner: #d0eee2; overflow: clip; border-color: transparent; background: linear-gradient(130deg,#f1fbf7,#e3f6ed); transition: transform .2s ease, border-color .2s ease; }
.d2-program-network.d2-program-sky { --d2-program-accent: #087083; --d2-program-soft: #b4dae2; --d2-program-corner: #d0e9ed; background: linear-gradient(130deg,#f1fafc,#e0f2f5); }
.d2-program-network.d2-program-plain { --d2-program-accent: #006b29; --d2-program-corner: #eff6f1; background: #fff; border-color: #deebe4; }
.d2-program-network::after { content: ""; position: absolute; width: 8rem; height: 8rem; bottom: -3rem; right: -3rem; border-radius: 50%; background: var(--d2-program-corner); pointer-events: none; }
.d2-program-network .d2-program-title { color: var(--d2-program-accent); font-weight: 600 !important; margin-bottom: 1rem; }
.d2-program-network p { color: #193348; }
.d2-program-network .btn { --bs-btn-color: var(--d2-program-accent); --bs-btn-bg: #fff; --bs-btn-border-color: var(--d2-program-soft); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--d2-program-accent); --bs-btn-hover-border-color: var(--d2-program-accent); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--d2-program-accent); --bs-btn-active-border-color: var(--d2-program-accent); }
.d2-program-plain .btn { --bs-btn-color: #fff; --bs-btn-bg: var(--d2-program-accent); --bs-btn-border-color: var(--d2-program-accent); --bs-btn-hover-bg: #00511e; --bs-btn-hover-border-color: #00511e; }
@media (hover: hover) and (pointer: fine) {
  .d2-program-network:hover { transform: translateY(-3px); border-color: var(--d2-program-soft); }
}
.d2-program.d2-program-network { border-top: 4px solid var(--bs-success); }
.d2-step { position: relative; padding-right: .4rem; }
/* Reference-style international guidance cards; other sections are unchanged. */
.d2-global-card { --d2-global-accent: #006b29; --d2-global-border: #deebe4; --d2-global-corner: #eff6f1; overflow: clip; background: #fff; border-color: var(--d2-global-border); transition: transform .2s ease, border-color .2s ease; }
.d2-global-photo { display: block; aspect-ratio: 2 / 1; height: auto; object-fit: cover; object-position: center top; }
.d2-global-heart { right: .75rem; bottom: .75rem; color: var(--d2-global-corner); font-size: 7rem; line-height: 1; transform: rotate(-12deg); pointer-events: none; }
.d2-global-card h3 { color: var(--d2-global-accent); font-weight: 600 !important; line-height: 1.35; }
.d2-global-card p { color: #193348; font-size: 1.0625rem; line-height: 1.7; }
.d2-global-card .btn:not(.btn-primary) { --bs-btn-color: #fff; --bs-btn-bg: var(--d2-global-accent); --bs-btn-border-color: var(--d2-global-accent); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #00511e; --bs-btn-hover-border-color: #00511e; --bs-btn-active-color: #fff; --bs-btn-active-bg: #004218; --bs-btn-active-border-color: #004218; font-size: 1rem; }
#international .d2-global-card, #studentStories .d2-global-card { --d2-global-corner: #e7f1fc; --d2-global-border: #edf2f7; border-top: 4px solid var(--bs-primary); }
#international .d2-global-heart, #studentStories .d2-global-heart { font-size: 4rem; opacity: .45; }
#international .d2-global-card h3, #studentStories .d2-global-card h3 { color: var(--bs-heading-color); }
#international .btn, #studentStories .btn { font-size: 1rem; }
.d2-purpose-art::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(180deg,#ffffff00 0%,#ffffffb3 65%,#fff 100%); z-index: 2; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .d2-global-card:hover { transform: translateY(-3px); border-color: var(--d2-global-border); }
}
@media (prefers-reduced-motion: reduce) {
  .d2-news-ticker-track { animation: none; }
  .d2-global-card { transition: none; }
  .d2-global-card:hover { transform: none; }
}
.d2-step-number { width: 2.75rem; height: 2.75rem; background: #def5f9; color: #00858c; font-size: 1.85rem; }
.d2-step:nth-child(even) .d2-step-number { color: #328c2b; }
.d2-step-arrow { position: absolute; top: 1.1rem; right: -.65rem; color: #8aa8cd; }
.d2-experience { background: #f3faff; transition: transform .2s ease, background-color .2s ease; }
@media (hover: hover) and (pointer: fine) {
  .d2-experience:hover { transform: translateY(-3px); background-color: #eaf5fc; }
}
@media (prefers-reduced-motion: reduce) {
  .d2-experience { transition: none; }
  .d2-experience:hover { transform: none; }
}
.d2-experience > img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.d2-experience-content { flex: 1; }
.d2-experience-content h2, .d2-experience-content h3 { font-size: 1.25rem; line-height: 1.35; }
.d2-experience-content .btn { font-size: 1rem; }
.d2-about-highlight { background: #fff; }
.d2-welcome-split { background: #fff; padding-block: clamp(3rem,4vw,5rem); }
.d2-welcome-split > .container { z-index: 1; }
.d2-welcome-split::before, .d2-welcome-split::after { content: ""; position: absolute; right: -8rem; width: 20rem; height: 20rem; border-radius: 50%; pointer-events: none; }
.d2-welcome-split::before { top: -10rem; border: 3.5rem solid #e6f4ff; }
.d2-welcome-split::after { content: none; }
.d2-welcome-photo-wrap::before { content: ""; position: absolute; inset: -1.25rem 60% -1.25rem -1.25rem; border-radius: 2.5rem; background: #e6f4ff; }
/* Display only the photograph region of the supplied reference, keeping its pixels unchanged. */
.d2-welcome-photo { display: block; position: relative; aspect-ratio: 886 / 608; height: auto; object-fit: cover; border-radius: 1.5rem; }
.d2-welcome-label { letter-spacing: .2em; color: #2dc774; }
.d2-welcome-label::after { content: ""; display: block; width: 3rem; height: 3px; background: #2dc774; margin-top: .85rem; }
.d2-welcome-split .d2-section-title { color: #0845ad; font-size: clamp(1.7rem,2.4vw,2.4rem); line-height: 1.2; }
.d2-welcome-copy { color: #103563; font-size: clamp(1.125rem,1.55vw,1.45rem); line-height: 1.55; }
.d2-why-heading::before { content: ""; display: block; width: 3rem; height: 5px; margin-bottom: 1.4rem; border-radius: 3px; background: var(--bs-success); }
.d2-about-highlight .d2-section-title { font-size: clamp(2rem,3.2vw,3rem); }
.d2-about-highlight [aria-label="Hygieia Institute strengths"] li { color: #09255d; min-height: 4.5rem; }
.d2-why-icon { width: 3.5rem; height: 3.5rem; background: #e8f2ff; color: #062c87; font-size: 1.6rem; }
.d2-why-label { flex: 1; align-self: stretch; display: flex; align-items: center; border-bottom: 1px solid #dce9fa; font-size: 1rem; line-height: 1.4; }
.d2-about-highlight li:last-child .d2-why-label { border-bottom: 0; }
.d2-about-feature { --d2-about-accent: var(--bs-primary); min-height: 9.5rem; border-color: #dceaf4 !important; border-top: 3px solid var(--d2-about-accent) !important; background: linear-gradient(145deg,#fff 20%,#f2f9ff 100%); transition: transform .2s ease, background-color .2s ease, border-color .2s ease; }
.d2-about-feature-icon { width: 3.75rem; height: 3.75rem; background: #e6f2ff; color: var(--d2-about-accent); font-size: 1.4rem; }
.d2-about-feature h3 { color: #163a63; line-height: 1.45; }
.d2-about-feature h3::after { content: ""; display: block; width: 2rem; margin: .65rem auto 0; border-top: 2px solid var(--d2-about-accent); opacity: .65; }
.d2-about-highlight .col:nth-child(2) .d2-about-feature { --d2-about-accent: #008f78; background: linear-gradient(145deg,#fff 20%,#effaf7 100%); }
.d2-about-highlight .col:nth-child(3) .d2-about-feature { --d2-about-accent: #4f72d8; }
.d2-about-highlight .col:nth-child(4) .d2-about-feature { --d2-about-accent: #dc3545; background: linear-gradient(145deg,#fff 20%,#fff5f6 100%); }
.d2-about-highlight .col:nth-child(5) .d2-about-feature { --d2-about-accent: #198754; background: linear-gradient(145deg,#fff 20%,#f1faf5 100%); }
@media (hover: hover) and (pointer: fine) {
  .d2-about-feature:hover { transform: translateY(-4px); border-color: var(--d2-about-accent) !important; }
}
.d2-about-visual { isolation: isolate; margin: 0; }
.d2-about-visual::before, .d2-about-visual::after { content: ""; position: absolute; z-index: -1; background: #e8f2ff; border-radius: 3rem; pointer-events: none; }
.d2-about-visual::before { inset: -1.5rem -1rem 45% 35%; }
.d2-about-visual::after { inset: 75% 45% -1rem -1rem; }
.d2-about-photo { position: relative; height: 100%; min-height: 36rem; object-fit: cover; object-position: 74% center; border-radius: 6rem 1.5rem 5rem 1.5rem; }
@media (max-width: 991.98px) { .d2-about-photo { height: auto; min-height: 0; aspect-ratio: 4 / 3; border-radius: 3rem 1rem; } }
.d2-stories { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.d2-story { flex: 0 0 calc(50% - .5rem); scroll-snap-align: start; }
.d2-story img { width: 80px; height: 80px; object-fit: cover; }
.d2-story blockquote { font-size: 1rem; }
.d2-stories:focus-visible { outline-offset: 4px; }
#storyControls .btn { width: 2.5rem; height: 2.5rem; padding: 0; }
.accordion { --bs-accordion-border-color: #dfedf5; --bs-accordion-border-radius: .45rem; --bs-accordion-btn-color: #062c87; --bs-accordion-active-color: #062c87; --bs-accordion-active-bg: #edf8fc; }
.accordion-button { font-size: 1rem; line-height: 1.5; padding: 1rem; }
.accordion-button::after { --bs-accordion-btn-icon-width: 1rem; }
.accordion-body { padding: 1rem; }
.d2-testimonial { border-color: #e7eef7; border-top: 4px solid var(--bs-primary); background: #fff; transition: transform .2s ease, background-color .2s ease; }
.d2-testimonial-quote { color: var(--bs-primary); font-size: 2.75rem; line-height: 1; }
.d2-testimonial blockquote { color: #33465b; line-height: 1.65; }
.d2-testimonial-avatar { width: 3rem; height: 3rem; background: #edf5fe; color: var(--bs-primary); }
@media (hover: hover) and (pointer: fine) { .d2-testimonial:hover { transform: translateY(-3px); background: #f8fbff; } }
.d2-contact-row .small { font-size: .875rem; line-height: 1.5; }
.d2-contact-row a { overflow-wrap: anywhere; }
.d2-cta { background: linear-gradient(100deg,#e7f7fd,#dff2fb 60%,#eaf7fc); }
.d2-cta > .container { position: relative; z-index: 1; }
.d2-cta > .container > .row { min-height: 11rem; }
.d2-cta-leaves { position: absolute; bottom: -.5rem; width: 5rem; height: 11rem; object-fit: contain; opacity: .5; pointer-events: none; }
.d2-cta-leaves-left { left: -.75rem; transform: rotate(-15deg); }
.d2-cta-leaves-middle { left: 21%; bottom: -2.5rem; height: 7rem; transform: rotate(-35deg); }
.d2-cta-leaves-right { right: 27%; width: 4rem; height: 9rem; bottom: -1.25rem; transform: rotate(15deg); }
.d2-cta-portrait { width: clamp(7rem,11vw,9rem); height: 10.5rem; }
.d2-cta-nurse { position: absolute; top: -.4rem; left: 0; display: block; width: 100%; height: auto; }
.d2-cta .d2-handwritten { font-size: clamp(1.05rem,1.6vw,1.35rem); }
.d2-cta-note { text-align: left; flex-shrink: 0; }
.d2-footer-logo { width: 55px; height: 52px; object-fit: contain; }
.d2-footer-brand { font-size: 1.0625rem; line-height: 1.15; color: var(--bs-primary); }
.d2-footer-brand > span { font-size: .6875rem; }
.d2-footer-brand > span:last-child { color: #000; font-size: .8125rem; }
.d2-footer-strip .btn { font-size: .875rem; }
.d2-site-footer { background: linear-gradient(110deg,#1856a1,#144781); font-size: .875rem; }
.d2-site-footer-logo { width: 75px; height: 75px; object-fit: contain; flex-shrink: 0; border-radius: 50%; }
.d2-site-footer .small { font-size: .75rem; }
.d2-footer-accent { color: #b9e878; }
.d2-footer-links { columns: 2; column-gap: 1rem; }
.d2-footer-links li { margin-bottom: .25rem; }
.d2-footer-links a { color: #fff; text-decoration: none; }
.d2-footer-links a::before { content: "·"; margin-right: .35rem; }
.d2-footer-links a:hover { text-decoration: underline; }
.d2-footer-social { color: #fff; background: #ffffff1f; }
.d2-footer-social:hover { color: #fff; background: #ffffff36; }
.d2-footer-motto { color: #cce1ff; font-size: 1.2rem; font-style: italic; line-height: 1.35; }
.d2-site-footer .d2-footer-strip { background: #103f78; border-top: 1px solid #ffffff1f; }
@media (min-width: 992px) { .d2-site-footer-column { border-left: 1px solid #ffffff29; min-height: 6rem; } }
@media (min-width: 1400px) { .container { max-width: 1200px; } }
@media (max-width: 1199.98px) {
  .d2-brand { font-size: 1.15rem; }
  .d2-step-arrow { display: none; }
}
@media (max-width: 991.98px) {
  .d2-cta-leaves-left, .d2-cta-leaves-right { width: 4.5rem; height: 7rem; opacity: .3; }
  .d2-cta-leaves-middle { display: none; }
  .d2-cta-leaves-right { right: -.5rem; transform: rotate(-25deg); }
  .d2-hero-leaves { top: 48%; width: 2.75rem; height: 16rem; }
  .d2-hero-leaves.d2-hero-leaves-right { top: 50%; width: 2rem; height: 11rem; }
  .d2-hero-art { background-size: auto 100%; }
  .d2-hero-clinical { inset: 33% 0 0; opacity: .75; mask-image: linear-gradient(90deg,transparent 0%,#000 20%,#000 80%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 30%,#000 85%,transparent 100%); }
  .d2-hero-fade { background: linear-gradient(180deg,#e8f7fd 0%,#e8f7fd 35%,#e8f7fd00 60%,#e8f7fd00 82%,#e8f7fd 100%),linear-gradient(90deg,#e8f7fd 0%,#e8f7fd00 20%,#e8f7fd00 80%,#e8f7fd 100%); }
}
@media (max-width: 575.98px) {
  .d2-hero-tag { bottom: 1rem; min-height: 3.5rem; padding: .65rem !important; gap: .6rem !important; }
  .d2-hero-tag .small { font-size: .6rem; }
  .d2-hero-tag > .bi { font-size: 1.25rem !important; }
  .d2-hero-leaves { top: 48%; width: 2.25rem; height: 15rem; }
  .d2-hero-leaves.d2-hero-leaves-right { width: 1.6rem; height: 10rem; }
  .d2-top-strip p { text-align: center; }
  .d2-top-strip, .d2-top-strip .btn { font-size: .75rem; }
  .d2-logo { width: 52px; height: 50px; }
  .d2-brand { font-size: 1rem; }
  .d2-brand > span { font-size: .6rem; }
  .d2-brand > span:last-child { font-size: .68rem; }
  .navbar-brand { max-width: calc(100% - 3.25rem); margin-right: .4rem; }
  .navbar-toggler { padding: .2rem .35rem; }
  .d2-hero #heroTitle { font-size: clamp(2.2rem,9vw,2.9rem); }
  .d2-hero-portrait { min-height: 21rem; }
  .d2-hero .small { font-size: .61rem; }
  .d2-hero-inquiry .small { font-size: .72rem; }
  .d2-section { padding-block: 2rem; }
  #programs > .container > .d-flex { flex-wrap: wrap; }
  .d2-story { flex-basis: 100%; }
  .d2-story > div { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .d2-testimonial { transition: none; }
  .d2-testimonial:hover { transform: none; }
  .d2-stories { scroll-behavior: auto; }
  .d2-admission-card { transition: none; }
  .d2-admission-card.d2-admission-reference { transition: none; }
  .d2-admission-card:hover { transform: none; }
  .d2-admission-card.d2-admission-reference:hover { transform: none; }
  .d2-benefit { transition: none; }
  .d2-benefit:hover { transform: none; }
  .d2-program-network { transition: none; }
  .d2-program-network:hover { transform: none; }
  .d2-application-card { transition: none; }
  .d2-application-card:hover { transform: none; }
  .d2-about-feature { transition: none; }
  .d2-about-feature:hover { transform: none; }
  .d2-admission-option { transition: none; }
  .d2-admission-option:hover { transform: none; }
}
.d2-reference-sections { scroll-margin-top: 1rem; }
/* Current homepage sections. */
.d2-reference-sections { color: #123563; }
.d2-reference-sections p { font-size: .9375rem; line-height: 1.5; }
.ref-vision { background: linear-gradient(120deg,#0759ba,#034995); color: #fff; }
.ref-purpose-icon { font-size: 6rem; color: #fff; flex-shrink: 0; }
.ref-mission, .ref-blue { background: #e6f4ff; }
.ref-mission h2, .ref-why-tile h3, .ref-team h3 { color: #123563; }
.ref-mission-list li { display: flex; align-items: center; gap: 1rem; margin-block: .85rem; font-size: .875rem; }
.ref-mission-list .bi { font-size: 1.6rem; color: #075dca; }
.ref-pink { background: #fff0f3; }
.ref-cream { background: #fff7eb; }
.ref-mint { background: #eaf7f1; }
.ref-value { transition: transform .2s ease; }
.ref-value > .bi { width: 4rem; height: 4rem; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.ref-value.ref-pink > .bi { color: #fa6471; background: #ffe0e7; }
.ref-value.ref-blue > .bi { color: #075dca; background: #cfe8ff; }
.ref-value.ref-cream > .bi { color: #ff9e1c; background: #ffebcc; }
.ref-value.ref-mint > .bi { color: #329e67; background: #d4eee0; }
.ref-value p { font-size: .95rem; line-height: 1.65; }
.ref-step-number { width: 4rem; height: 4rem; }
.ref-pink .ref-step-number { color: #d7475a; background: #ffe0e7; }
.ref-blue .ref-step-number { color: #075dca; background: #cfe8ff; }
.ref-cream .ref-step-number { color: #9b5900; background: #ffebcc; }
.ref-mint .ref-step-number { color: #24754c; background: #d4eee0; }
@media (hover: hover) and (pointer: fine) { body:not(.d2-inner-page) .ref-value:hover { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .ref-value { transition: none; } .ref-value:hover { transform: none; } }
.ref-why-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; grid-template-rows: repeat(2,minmax(155px,auto)); gap: .75rem; }
.ref-why-feature { grid-row: span 2; min-height: 340px; }
.ref-why-feature > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.ref-image-caption { position: absolute; inset: auto 0 0; padding: 4rem 1rem 1rem; color: #fff; background: linear-gradient(transparent,#092342e8); }
.ref-image-caption p { max-width: 80%; }
.ref-image-caption .btn { position: absolute; right: 1rem; bottom: 1rem; color: #075dca; }
.ref-why-tile { position: relative; }
.ref-why-tile p { margin-bottom: 0; font-size: .95rem; line-height: 1.65; }
.ref-why-tile h3 { font-size: 1.1rem; }
.ref-mosaic-photo { width: 100%; height: 100%; min-height: 155px; object-fit: cover; }
.ref-arrow { position: absolute; right: .75rem; bottom: .75rem; width: 2rem; height: 2rem; display: grid; place-items: center; background: #fff; border: 1px solid #d4e8ff; border-radius: 50%; color: #075dca; }
.ref-team { align-items: stretch; padding-top: .5rem; }
.ref-team > img { width: 48%; height: 240px; object-fit: cover; object-position: center 20%; flex-shrink: 0; border-radius: .65rem; position: relative; z-index: 1; }
.ref-team-copy { flex: 1; min-width: 0; background: #f2f6fc; border: 1px solid #e7eef8; border-radius: .65rem; margin-top: .75rem; }
.ref-team-label { background: #dceeff; padding: .65rem .85rem; border-radius: .5rem; margin-left: -2rem; position: relative; z-index: 2; min-height: 3rem; display: flex; align-items: center; }
#team .row > .col-lg-4:first-child .ref-team-label { background: #075dca; color: #fff; }
.ref-achievements { color: #fff; background: radial-gradient(circle at 100% 100%,#287bd9 0 10%,transparent 10.2%),radial-gradient(circle at 0 0,#2275d1 0 7%,transparent 7.2%),linear-gradient(100deg,#0756ae,#032d61); }
@media (max-width: 991.98px) {
  .ref-why-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .ref-why-feature { grid-row: span 2; }
  .ref-team > img { width: 35%; }
}
@media (max-width: 575.98px) {
  .ref-why-grid { grid-template-columns: 1fr; }
  .ref-why-feature { grid-row: auto; }
  .ref-mosaic-photo { height: 200px; }
  .ref-purpose-icon { font-size: 3.5rem; }
}
