/*
 * MWhite Clinic — modern editorial medical visual system (P01-K2N-O).
 * Inspired by contemporary clean medical sites, written independently;
 * no borrowed theme code, fonts, brand graphics or WordPress dependencies.
 * FIXED ANIMATION PRESETS:
 *  Type 1: .mw-hero-carousel (layered enter and slide crossfade)
 *  Type 2: .mw-card/.mw-feature (scroll reveal + gentle hover elevation)
 */
:root {
  --mw-modern-blue: #2868aa;
  --mw-modern-pale: #ecf6ff;
  --mw-modern-ink: #173452;
  --mw-modern-aqua: #7ab5ef;
  --mw-modern-shadow: 0 28px 65px rgba(27, 72, 115, .10);
  --mw-modern-display: "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}
body { color: #405570; background: #fdfefe; letter-spacing: -.005em; }
.mw-container { width: min(100% - 64px, 1220px); }
.mw-preview-bar {
  padding: 7px 16px; background: #173c64; color: #e6f4ff;
  font-size: .63rem; letter-spacing: .15em; font-weight: 700;
}
.mw-site-header {
  z-index: 50; position: relative; border-bottom: 0;
  background: rgba(255,255,255,.97); box-shadow: 0 5px 30px rgba(24,64,105,.035);
}
.mw-nav-shell { max-width: 1360px; padding: 19px 48px; gap: 22px; }
.mw-logo-image { width: min(210px, 25vw); height: auto; }
.mw-nav-links { gap: 11px 25px; flex-wrap: nowrap; }
.mw-nav-links a {
  color: #294360; text-decoration: none; white-space: nowrap;
  font-size: .85rem; font-weight: 600; transition: color .25s ease;
}
.mw-nav-links a[aria-current="page"] { color: var(--mw-modern-blue); }
.mw-nav-links .mw-nav-accent {
  border-radius: 999px; background: #2868aa; color: white;
  padding: 12px 21px; box-shadow: 0 8px 23px rgba(40,104,170,.18);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.mw-nav-links .mw-nav-accent:hover, .mw-nav-links .mw-nav-accent:focus-visible {
  color: white; background: #174e86; transform: translateY(-2px);
  box-shadow: 0 13px 26px rgba(40,104,170,.23);
}
.mw-mobile-menu { display: none; }
.mw-kicker {
  color: #3e86c6; letter-spacing: .15em;
  font-size: .76rem; font-weight: 700; text-transform: uppercase;
}
.mw-display {
  color: var(--mw-modern-ink); font-weight: 700; letter-spacing: -.048em; line-height: 1.11;
}
.mw-hero-carousel {
  margin: 20px auto 0; width: min(100% - 40px, 1400px);
  border-radius: 34px; overflow: hidden; box-shadow: var(--mw-modern-shadow);
  background: #edf7ff; isolation: isolate;
}
.mw-hero-carousel .mw-hero-slide {
  background: linear-gradient(125deg, #f3f9ff 0%, #fff 49%, #e3f2ff 100%);
  position: relative;
}
.mw-hero-slide::before {
  content:""; position:absolute; width: 480px; aspect-ratio:1;
  border-radius:50%; top: -240px; left: -190px;
  background: radial-gradient(circle, rgba(122,181,239,.15), transparent 67%);
  pointer-events:none;
}
.mw-hero-slide .mw-hero-inner {
  min-height: 590px; max-width: 1310px;
  display:grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(20px, 4.3vw, 64px); padding: 48px 55px 24px;
  align-items: center;
}
.mw-hero-copy { padding: 30px 0 46px; position: relative; z-index:2; }
.mw-hero-copy .mw-kicker {
  display: inline-flex; align-items:center; gap:10px;
  color: #397bae; padding:9px 14px; border:1px solid #d9eafa;
  border-radius:999px; background: rgba(255,255,255,.74);
}
.mw-hero-copy .mw-kicker::before {
  content:""; width:8px; height:8px; border-radius:50%; background:#7ab5ef;
  box-shadow:0 0 0 4px rgba(122,181,239,.17);
}
.mw-hero-carousel .mw-display {
  font-family:var(--mw-modern-display);
  font-size: clamp(3rem, 4.95vw, 5.2rem);
  font-weight: 700; letter-spacing:-.062em;
  line-height:1.035; max-width: 690px; margin: 23px 0 23px;
}
.mw-hero-carousel .mw-hero-lead {
  max-width: 510px; font-size: 1.02rem;
  line-height:1.78; color:#576d82;
}
.mw-actions { margin-top: 31px; gap: 12px; }
.mw-button {
  min-height: 53px; padding: 13px 24px; border-radius: 999px;
  box-shadow:0 12px 28px rgba(40,104,170,.17);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.mw-button:hover, .mw-button:focus-visible {
  transform:translateY(-3px); box-shadow:0 17px 32px rgba(40,104,170,.24);
}
.mw-button-outline {
  border-color: #c5deef; color:#2868aa; background:rgba(255,255,255,.84);
  box-shadow:none;
}
.mw-hero-footnote {
  display:flex; align-items:center; flex-wrap:wrap; gap:11px;
  margin-top: 42px; color:#70859a; font-size:.83rem; font-weight:600;
}
.mw-footnote-dot { width:8px; height:8px; border-radius:50%; background:#77b2e9; }
.mw-hero-footnote-divider { width:20px; height:1px; background:#a8bfd5; }
.mw-hero-photo {
  align-self:stretch; position:relative; margin:10px 0 28px; height:auto;
  min-height: 460px; overflow:visible; isolation:isolate;
}
.mw-hero-photo::before {
  content:""; position:absolute; z-index:-1; inset:18px -5px -9px 36px;
  border-radius:46% 46% 20% 22% / 34% 32% 20% 20%;
  background: linear-gradient(140deg, #c0def9, #eff8ff);
}
.mw-hero-photo > img, .mw-hero-photo-placeholder {
  width:100%; height:100%; max-height: 520px; display:block; object-fit:cover;
  object-position:center;
  border-radius: 46% 45% 18% 18% / 30% 30% 17% 18%;
  box-shadow:0 21px 45px rgba(22,74,128,.1);
}
.mw-hero-photo-placeholder img { width:100%; height:100%; object-fit:cover; }
.mw-hero-photo-badge {
  display:flex; align-items:center; gap:13px; position:absolute; z-index:3;
  right:-18px; bottom:38px; background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.95);
  box-shadow:0 18px 40px rgba(27,74,121,.14);
  border-radius:18px; padding:14px 18px; color:#1a4168;
  font-weight:700; font-size:.95rem; line-height:1.3;
}
.mw-hero-photo-badge small { display:block; margin-top:3px; font-size:.72rem; font-weight:500; color:#67809b; }
.mw-hero-photo-badge-symbol {
  display:grid; place-items:center; width:45px; height:45px;
  border-radius:14px; background:#e8f4ff; color:#2868aa; font-size:1.8rem;
}
.mw-carousel-controls {
  position:relative; margin-top:-15px; z-index:5; padding: 0 0 25px;
  display:flex; gap:25px; align-items:center;
}
.mw-carousel-arrow {
  width:43px; height:43px; border-radius:50%; border:1px solid #c6ddf1;
  background:white; color:#2767a9; cursor:pointer;
  transition:background .25s ease,transform .25s ease,border-color .25s ease;
}
.mw-carousel-arrow:hover { transform:translateY(-2px); background:#edf7ff; border-color:#8fbde7; }
.mw-carousel-status { font-weight:600; font-size:.85rem; color:#6a8298; }
.mw-carousel-dot { border-radius:50%; transition:transform .25s ease,background .25s ease; }
.mw-carousel-dot[aria-pressed="true"] { background:#2868aa; transform:scale(1.2); }
.mw-section { padding: clamp(70px, 8vw, 116px) 0; }
.mw-section-alt { background:#f7fbfe; }
.mw-section-bar { align-items:end; }
.mw-section-heading h2 {
  font-family:var(--mw-modern-display); font-weight:700; font-size:clamp(2.25rem,4vw,3.75rem);
  margin:12px 0 10px; letter-spacing:-.051em;
}
.mw-feature-grid,.mw-card-grid { gap:24px; margin-top:34px; }
.mw-feature,.mw-card,.mw-clinic-location {
  overflow:hidden; border:1px solid #e3edf7; background:white;
  border-radius:24px; box-shadow:0 6px 25px rgba(31,76,120,.035);
  transition: transform .38s cubic-bezier(.2,.8,.2,1),
              box-shadow .38s cubic-bezier(.2,.8,.2,1),border-color .3s ease;
}
.mw-feature:hover,.mw-card:hover,.mw-clinic-location:hover {
  transform:translateY(-7px);
  border-color:#c9dfef;
  box-shadow:0 22px 46px rgba(24,74,117,.10);
}
.mw-feature { padding:27px; }
.mw-feature-media { margin:-27px -27px 23px; aspect-ratio:1.52; border-radius:0; }
.mw-feature-media img,.mw-card-media img,.mw-location-media img {
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.mw-feature:hover .mw-feature-media img,
.mw-card:hover .mw-card-media img,
.mw-clinic-location:hover .mw-location-media img { transform:scale(1.055); }
.mw-feature h3,.mw-card h3 { font:700 1.30rem/1.4 var(--mw-sans); letter-spacing:-.035em; }
.mw-card-media { aspect-ratio: 1.35; }
.mw-card-content { padding:23px 25px 27px; }
.mw-feature-number,.mw-example-label { color:#3a82bf; font-size:.72rem; font-weight:700; letter-spacing:.12em; }
.mw-text-link { color:#2868aa; text-decoration:none; border-bottom:1px solid #9bc5e8; }
.mw-text-link:hover { border-color:#2868aa; }
.mw-card .mw-clinic-card-link { color:#173452; text-decoration:none; }
.mw-card .mw-clinic-card-link:hover { color:#2868aa; }
.mw-clinic-location { padding:28px; }
.mw-clinic-location h3 { font:700 1.35rem/1.4 var(--mw-sans); letter-spacing:-.035em; }
.mw-location-media { margin:-28px -28px 24px; }
.mw-listing-intro { padding:42px 0 28px; }
.mw-listing-intro .mw-display { font-family:var(--mw-modern-display); font-size:clamp(2.4rem,5vw,4.5rem); }
.mw-cta { background:linear-gradient(125deg,#173d66,#245c90); border-radius:30px; margin:0 20px 24px; overflow:hidden; }
.mw-cta .mw-display { font-family:var(--mw-modern-display); font-size:clamp(2.25rem,4vw,3.7rem); }
.mw-footer { background:#143451; color:#cfdef0; }
.mw-footer a { font-weight:600; text-decoration:none; }
.mw-clinic-detail { max-width:900px; }
.mw-detail-media { border-radius:26px; }
.mw-map-directions { transition:transform .25s ease; }
.mw-map-directions:hover { transform:translateX(3px); }

/* Preset 1: layered, short hero entrance. Navigation keeps existing carousel JS. */
@keyframes mwHeroType1Text { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes mwHeroType1Visual { from { opacity:.25; transform:translateX(34px) scale(.97); } to { opacity:1; transform:translateX(0) scale(1); } }
.mw-hero-slide:not([hidden]) .mw-hero-copy {
  animation:mwHeroType1Text .78s cubic-bezier(.2,.7,.2,1) both;
}
.mw-hero-slide:not([hidden]) .mw-hero-photo {
  animation:mwHeroType1Visual .9s cubic-bezier(.2,.7,.2,1) both;
}

/* Preset 2: card entrance via scroll progress; hover is separate and subtle. */
@keyframes mwCardType2 { from { opacity:.55; translate:0 24px; } to { opacity:1; translate:0 0; } }
@supports (animation-timeline: view()) {
  .mw-feature,.mw-card,.mw-clinic-location,.mw-branch-listing-item {
    animation-name:mwCardType2;
    animation-duration:1ms; /* duration resolved by scroll animation timeline */
    animation-fill-mode:both;
    animation-timeline:view(block);
    animation-range:entry 0% entry 45%;
  }
}

@media (max-width: 1150px) {
  .mw-nav-shell { padding-inline:30px; }
  .mw-nav-links { gap:14px; }
  .mw-nav-links a { font-size:.78rem; }
  .mw-hero-slide .mw-hero-inner { padding-inline:34px; }
}
@media (max-width: 920px) {
  .mw-nav-shell { min-height:77px; justify-content:space-between; position:relative; }
  .mw-logo-image { width:190px; }
  .mw-nav-links { display:none; }
  .mw-mobile-menu { display:block; }
  .mw-mobile-menu summary {
    display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none;
    padding:10px 16px; font-size:.9rem; font-weight:700; color:#2868aa;
    border-radius:999px; border:1px solid #d9e8f5;
  }
  .mw-mobile-menu summary::-webkit-details-marker { display:none; }
  .mw-mobile-menu nav {
    position:absolute; top:calc(100% - 5px); right:22px; left:22px;
    background:white; z-index:80; border-radius:18px;
    padding:13px; box-shadow:0 24px 55px rgba(29,64,101,.17);
    border:1px solid #dfeafa;
  }
  .mw-mobile-menu nav a { display:block; padding:11px 15px; color:#244663; text-decoration:none; font-weight:600; border-radius:11px; }
  .mw-mobile-menu nav a:hover,.mw-mobile-menu nav a:focus-visible { background:#f0f7fd; }
  .mw-mobile-menu nav .mw-mobile-admin { margin-top:6px; color:#2868aa; border-top:1px solid #e5eef7; border-radius:0; }
  .mw-hero-carousel { width:min(100% - 24px, 1400px); border-radius:25px; }
  .mw-hero-slide .mw-hero-inner { grid-template-columns:1fr 1fr; padding:30px 28px 14px; gap:20px; min-height:490px; }
  .mw-hero-carousel .mw-display { font-size:clamp(2.35rem, 5vw, 3.6rem); }
  .mw-hero-photo { min-height:350px; margin:12px 0; }
  .mw-hero-photo-badge { right:0; bottom:15px; }
  .mw-feature-grid,.mw-card-grid { gap:15px; }
}
@media (max-width: 700px) {
  .mw-container { width:min(100% - 34px, 1220px); }
  .mw-nav-shell { padding:15px 20px; }
  .mw-preview-bar { font-size:.55rem; }
  .mw-hero-carousel { margin-top:8px; border-radius:24px; }
  .mw-hero-slide .mw-hero-inner { grid-template-columns:1fr; gap:5px; min-height:0; padding:34px 26px 10px; }
  .mw-hero-copy { padding:0; }
  .mw-hero-carousel .mw-display { font-size:clamp(2.5rem,10vw,4.2rem); margin:18px 0 18px; }
  .mw-hero-carousel .mw-hero-lead { font-size:.95rem; line-height:1.65; }
  .mw-actions { margin-top:22px; gap:9px; }
  .mw-button { min-height:49px; font-size:.8rem; padding:10px 17px; }
  .mw-hero-footnote { margin-top:20px; font-size:.74rem; }
  .mw-hero-photo { height:285px; min-height:285px; max-height:285px; margin:10px 4px 12px; }
  .mw-hero-photo > img, .mw-hero-photo-placeholder { max-height:285px; object-position:center 20%; }
  .mw-hero-photo-badge { padding:8px 11px; border-radius:13px; right:-7px; bottom:4px; font-size:.76rem; }
  .mw-hero-photo-badge-symbol { width:34px; height:34px; font-size:1.2rem; border-radius:9px; }
  .mw-hero-photo-badge small { font-size:.62rem; }
  .mw-carousel-controls { margin-top:0; padding:5px 0 19px; }
  .mw-carousel-arrow { width:38px; height:38px; }
  .mw-section { padding:60px 0; }
  .mw-feature-grid,.mw-card-grid { grid-template-columns:1fr; gap:17px; }
  .mw-section-heading h2 { font-size:clamp(2.05rem,7vw,2.8rem); }
  .mw-feature,.mw-card,.mw-clinic-location { border-radius:20px; }
  .mw-feature-media { margin:-27px -27px 21px; }
  .mw-cta { border-radius:20px; margin:0 12px 14px; }
  .mw-footer-inner { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto !important; }
  .mw-hero-slide:not([hidden]) .mw-hero-copy,
  .mw-hero-slide:not([hidden]) .mw-hero-photo,
  .mw-feature,.mw-card,.mw-clinic-location,.mw-branch-listing-item {
    animation:none !important; opacity:1 !important; translate:none !important; transform:none;
  }
  .mw-button,.mw-nav-links a,.mw-nav-links .mw-nav-accent,
  .mw-feature,.mw-card,.mw-clinic-location,
  .mw-feature-media img,.mw-card-media img,.mw-location-media img,
  .mw-carousel-arrow,.mw-map-directions { transition:none !important; }
}


/* P01-K2N-P — Immersive photo-led homepage and breathable editorial rhythm.
 * The licensed CMS imagery remains the sole photograph source.
 * No new animation controls: Type 1 hero and Type 2 cards remain hard-coded.
 */
.mw-hero-carousel {
  width: min(calc(100% - 28px), 1640px);
  margin: 14px auto 0;
  border-radius: 24px;
  background: #14334e;
  box-shadow: 0 28px 80px rgba(17, 53, 84, .13);
}
.mw-hero-carousel .mw-hero-slide { background: #173e57; }
.mw-hero-slide::before { display: none; }
.mw-hero-slide .mw-hero-inner {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: clamp(650px, calc(100svh - 116px), 960px);
  padding: clamp(72px, 11vh, 120px) clamp(36px, 7.2vw, 125px) 110px;
}
.mw-hero-slide .mw-hero-inner::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(9, 34, 53, .89) 0%,
    rgba(10, 44, 64, .74) 30%,
    rgba(12, 54, 75, .30) 61%,
    rgba(12, 54, 75, .06) 100%);
}
.mw-hero-copy { position:relative; z-index: 2; width:min(650px, 62%); padding: 0; }
.mw-hero-copy .mw-kicker {
  color: #e5f5ff; border-color: rgba(255,255,255,.35);
  background: rgba(18, 77, 110, .40); backdrop-filter: blur(8px);
}
.mw-hero-carousel .mw-display {
  color: #fff;
  font-size: clamp(3.6rem, 6.5vw, 7.3rem);
  line-height: .99;
  max-width: 810px;
  text-shadow: 0 8px 36px rgba(5,35,56,.19);
  margin: 27px 0 25px;
  text-wrap: balance;
}
.mw-hero-carousel .mw-hero-lead { color:#ebf5f9; line-height:1.65; font-size:clamp(1rem,1.3vw,1.14rem); max-width:440px; }
.mw-hero-carousel .mw-button { background:#fff; color:#19517e; box-shadow:none; }
.mw-hero-carousel .mw-button:hover,.mw-hero-carousel .mw-button:focus-visible { background:#e9f7ff; }
.mw-hero-carousel .mw-button-outline { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.65); }
.mw-hero-carousel .mw-button-outline:hover,.mw-hero-carousel .mw-button-outline:focus-visible { background:rgba(255,255,255,.24); }
.mw-hero-footnote { color:#e0eff5; margin-top:38px; }
.mw-footnote-dot { background:#92d3fb; }
.mw-hero-footnote-divider { background:rgba(255,255,255,.5); }
.mw-hero-photo {
  position:absolute; z-index:0; inset:0; width:100%; height:100%;
  min-height:0; margin:0; overflow:hidden; border-radius:0;
}
.mw-hero-photo::before { display:none; }
.mw-hero-photo > img, .mw-hero-photo-placeholder {
  width:100%; height:100%; min-height:100%; max-height:none;
  border-radius:0; box-shadow:none; object-fit:cover;
  object-position: center 34%;
}
.mw-hero-photo-placeholder { position:relative; background:linear-gradient(125deg,#426e8c,#7ab5ef); }
.mw-hero-photo-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 34%; }
.mw-hero-photo-badge {
  right:clamp(24px,6vw,100px); bottom:108px;
  color:#173452; border-radius:15px;
}
.mw-carousel-controls {
  width:min(100% - 80px, 1380px);
  margin-top:-77px;
  padding:0 0 24px;
  justify-content:space-between;
  color:#fff;
}
.mw-carousel-navigation { display:flex; align-items:center; gap:11px; }
.mw-carousel-arrow { color:#fff; border-color:rgba(255,255,255,.54); background:rgba(15,64,95,.33); backdrop-filter:blur(6px); }
.mw-carousel-arrow:hover { color:#19517e; background:#fff; border-color:#fff; }
.mw-carousel-status { color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.28); }
.mw-carousel-dot { background:rgba(255,255,255,.6); }
.mw-carousel-dot[aria-pressed="true"] { background:#fff; }

.mw-section { padding-block:clamp(90px,10vw,150px); }
.mw-section-alt { background:#f2f9fd; }
.mw-section-bar { gap:36px; }
.mw-section-heading { max-width:740px; }
.mw-section-heading h2 { font-size:clamp(2.5rem,4.6vw,4.8rem); line-height:1.075; text-wrap:balance; }
.mw-feature-grid,.mw-card-grid { gap:25px; margin-top:47px; }
.mw-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mw-feature,.mw-card { border-radius:23px; }
.mw-feature-media { aspect-ratio: 1.2; }
.mw-card-media { aspect-ratio:1.13; }
.mw-card-content { padding:25px 28px 33px; }
.mw-clinic-location-list { gap:26px; }
.mw-clinic-location { border-radius:24px; }
.mw-clinic-location .mw-location-media { aspect-ratio:1.8; }
.mw-clinic-location .mw-location-media img { width:100%; height:100%; object-fit:cover; }

/* The first pause after the full-height hero makes the following cards breathe. */
.mw-home-intro {
  padding:clamp(95px,11vw,170px) 0 clamp(50px,6.5vw,95px);
  background:#fff;
}
.mw-home-intro-inner { text-align:center; max-width:870px; margin-inline:auto; }
.mw-home-intro .mw-display {
  font:700 clamp(2.85rem,6vw,6rem)/1.055 var(--mw-modern-display);
  letter-spacing:-.058em; margin:18px 0 25px; text-wrap:balance;
}
.mw-home-intro .mw-display em { color:var(--mw-modern-blue); font-style:normal; }
.mw-home-intro p:last-child { margin:0 auto; max-width:530px; font-size:1.08rem; line-height:1.8; }
.mw-home-services { padding-top:clamp(40px,5vw,85px); background:#fff; }
.mw-home-wordmark { overflow:hidden; padding:26px 0 54px; background:#fff; }
.mw-home-wordmark span {
  display:block; max-width:1700px; margin-inline:auto;
  font:700 clamp(5.3rem,14vw,16rem)/.85 var(--mw-modern-display);
  white-space:nowrap; letter-spacing:-.095em; color:#a8dff3;
  opacity:.7; transform:translateX(-.015em); user-select:none;
}
.mw-home-story { padding:30px 0 clamp(100px,11vw,160px); background:#fff; }
.mw-home-story-inner { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(45px,7vw,120px); align-items:center; }
.mw-home-story-media {
  min-height:610px; height: min(72vw, 730px); margin:0;
  overflow:hidden; border-radius:25px; background:linear-gradient(155deg,#dceff9,#7ab5ef);
}
.mw-home-story-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.mw-home-story-content { max-width:560px; }
.mw-home-story-content .mw-display {
  margin:20px 0 25px;
  font:700 clamp(2.65rem,4.5vw,4.9rem)/1.065 var(--mw-modern-display);
  letter-spacing:-.052em; text-wrap:balance;
}
.mw-home-story-content > p { max-width:490px; line-height:1.85; font-size:1.05rem; }
.mw-home-story-points { margin:34px 0 34px; padding:0; list-style:none; border-top:1px solid #d9e7ef; }
.mw-home-story-points li { display:flex; align-items:baseline; gap:17px; padding:18px 0; border-bottom:1px solid #d9e7ef; font-weight:650; color:#244663; }
.mw-home-story-points li::before { content:"✳"; color:#2788c5; font-size:1.1rem; }
.mw-home-banner {
  width:min(calc(100% - 28px),1640px);
  margin:0 auto;
  min-height:clamp(470px,65svh,730px);
  position:relative; display:flex; align-items:end;
  isolation:isolate; overflow:hidden; border-radius:25px;
  background:linear-gradient(120deg,#173d59,#6aaccb);
}
.mw-home-banner::after {
  content:""; pointer-events:none; position:absolute; z-index:1; inset:0;
  background:linear-gradient(90deg,rgba(9,40,57,.83),rgba(12,62,79,.36) 58%,rgba(9,47,72,.06));
}
.mw-home-banner-media { position:absolute; z-index:0; inset:0; margin:0; }
.mw-home-banner-media img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.mw-home-banner-content { position:relative; z-index:2; color:white; width:100%; padding:clamp(42px,7vw,110px); }
.mw-home-banner-content .mw-kicker { color:#d4efff; }
.mw-home-banner-content .mw-display {
  margin:15px 0 26px;
  max-width:800px; color:#fff; line-height:1.045;
  font-size:clamp(3rem,5.8vw,6.6rem);
  letter-spacing:-.055em;
  text-wrap:balance;
}
.mw-home-banner .mw-button { background:#fff; color:#1b567c; box-shadow:none; }
.mw-home-banner .mw-button:hover { background:#e8f8ff; }
.mw-home-banner + .mw-section { padding-top:clamp(95px,10vw,145px); }
@media (max-width:920px) {
  .mw-hero-slide .mw-hero-inner { min-height:clamp(640px,85svh,850px); padding:75px 42px 110px; display:flex; }
  .mw-hero-carousel .mw-display { font-size:clamp(3.8rem,7vw,6rem); }
  .mw-hero-copy { width:min(650px,78%); }
  .mw-hero-photo { height:100%; min-height:0; margin:0; }
  .mw-hero-photo-badge { right:30px; bottom:102px; }
  .mw-home-story-inner { gap:37px; }
  .mw-home-story-media { min-height:470px; height:590px; }
}
@media (max-width:700px) {
  .mw-container { width:min(100% - 36px,1220px); }
  .mw-hero-carousel,.mw-home-banner { width:calc(100% - 16px); border-radius:20px; }
  .mw-hero-slide .mw-hero-inner {
    min-height:clamp(660px,88svh,840px);
    display:flex; align-items:start; padding:72px 24px 105px;
  }
  .mw-hero-slide .mw-hero-inner::after {
    background:linear-gradient(180deg,rgba(8,38,58,.86) 0%,rgba(10,48,67,.66) 45%,rgba(10,50,70,.18) 80%,rgba(10,40,57,.34) 100%);
  }
  .mw-hero-copy { width:100%; padding:0; }
  .mw-hero-carousel .mw-display {
    font-size:clamp(3.15rem,11.8vw,4.9rem);
    max-width:100%; margin:20px 0 19px;
  }
  .mw-hero-carousel .mw-hero-lead { font-size:.98rem; line-height:1.6; max-width:360px; }
  .mw-hero-footnote { margin-top:25px; }
  .mw-hero-photo { position:absolute; height:100%; min-height:0; max-height:none; margin:0; }
  .mw-hero-photo > img,.mw-hero-photo-placeholder { max-height:none; object-position:57% center; }
  .mw-hero-photo-placeholder img { object-position:57% center; }
  .mw-hero-photo-badge { bottom:96px; right:17px; font-size:.72rem; }
  .mw-carousel-controls { width:calc(100% - 48px); margin-top:-72px; padding-bottom:21px; gap:8px; }
  .mw-carousel-status { font-size:.7rem; }
  .mw-carousel-arrow { width:38px; height:38px; }
  .mw-section { padding-block:75px; }
  .mw-section-bar { gap:15px; flex-wrap:wrap; }
  .mw-section-heading h2 { font-size:clamp(2.5rem,9vw,3.5rem); }
  .mw-feature-grid,.mw-card-grid { grid-template-columns:1fr; gap:18px; margin-top:32px; }
  .mw-home-intro { padding:83px 0 42px; }
  .mw-home-intro .mw-display { font-size:clamp(2.65rem,11vw,4rem); }
  .mw-home-intro p:last-child { font-size:1rem; }
  .mw-home-services { padding-top:48px; }
  .mw-home-wordmark { padding:14px 0 35px; }
  .mw-home-wordmark span { font-size:clamp(5rem,20vw,8rem); transform:translateX(-.02em); }
  .mw-home-story { padding:0 0 82px; }
  .mw-home-story-inner { grid-template-columns:1fr; gap:36px; }
  .mw-home-story-media { min-height:0; height:440px; border-radius:19px; }
  .mw-home-story-content .mw-display { font-size:clamp(2.6rem,9vw,3.6rem); }
  .mw-home-banner { min-height:535px; }
  .mw-home-banner-content { padding:37px 26px 45px; }
  .mw-home-banner-content .mw-display { font-size:clamp(2.6rem,10vw,4.3rem); }
}
/* Preserve animation accessibility after the fullscreen layout overrides. */
@media (prefers-reduced-motion:reduce) {
  .mw-hero-slide:not([hidden]) .mw-hero-copy,
  .mw-hero-slide:not([hidden]) .mw-hero-photo,
  .mw-feature,.mw-card,.mw-clinic-location { animation:none !important; transition:none !important; }
  .mw-home-story-media img,.mw-home-banner-media img { animation:none !important; transition:none !important; }
}

/* P01-K2N-Q — MWhite owner spotlight.
 * Use the verified CMS doctor profile, never an unrelated hero photo or invented portrait.
 */
.mw-hero-slide:has(.mw-brand-hero-spotlight) .mw-hero-photo-badge { display:none; }
.mw-brand-hero-spotlight {
  position:absolute;
  z-index:4;
  right:clamp(28px,5vw,90px);
  bottom:clamp(103px,12vh,143px);
  width:min(385px,36vw);
  display:flex;
  align-items:center;
  gap:15px;
  padding:13px 17px 13px 13px;
  background:rgba(255,255,255,.95);
  color:#153e60;
  border:1px solid rgba(255,255,255,.84);
  border-radius:20px;
  box-shadow:0 22px 65px rgba(7,39,65,.2);
  text-decoration:none;
  backdrop-filter:blur(15px);
  transition:transform .3s ease,box-shadow .3s ease;
}
.mw-brand-hero-spotlight:hover,.mw-brand-hero-spotlight:focus-visible {
  transform:translateY(-5px);
  box-shadow:0 29px 75px rgba(7,39,65,.3);
}
.mw-brand-hero-spotlight > img {
  flex:0 0 78px;
  width:78px;
  height:94px;
  border-radius:13px;
  object-fit:cover;
  object-position:center 20%;
}
.mw-brand-hero-spotlight-copy { display:grid; gap:5px; min-width:0; }
.mw-brand-hero-spotlight-copy small {
  font-size:.67rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
  color:#2868aa;
}
.mw-brand-hero-spotlight-copy strong {
  display:block;
  font:700 clamp(.95rem,1.15vw,1.14rem)/1.25 var(--mw-modern-display);
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.mw-brand-hero-spotlight-copy > span {
  color:#3273a7;
  font-size:.78rem;
  font-weight:700;
}
.mw-home-story-media img.mw-brand-story-portrait { object-position:center 20%; }
.mw-doctor-featured { border-color:#afd5ec; }
.mw-doctor-featured .mw-example-label { color:#226caa; }
@media(max-width:920px) {
  .mw-brand-hero-spotlight { width:min(310px,45vw); right:28px; bottom:104px; gap:10px; }
  .mw-brand-hero-spotlight > img { flex-basis:64px; width:64px; height:76px; }
}
@media(max-width:700px) {
  .mw-brand-hero-spotlight {
    width:auto;
    left:21px;
    right:21px;
    bottom:106px;
    padding:10px 12px;
    border-radius:15px;
  }
  .mw-brand-hero-spotlight > img { flex-basis:53px; width:53px; height:63px; border-radius:9px; }
  .mw-brand-hero-spotlight-copy strong { font-size:.89rem; }
  .mw-brand-hero-spotlight-copy small { font-size:.58rem; }
  .mw-brand-hero-spotlight-copy > span { font-size:.68rem; }
  .mw-hero-slide:has(.mw-brand-hero-spotlight) .mw-hero-footnote { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .mw-brand-hero-spotlight { transition:none !important; transform:none !important; }
}


/* P01-K2N-R — Refined editorial footer, spacing and hard visual invariants. */
.mw-home-banner { box-sizing:border-box; }
.mw-home-banner-media { width:100%; height:100%; }
.mw-home-banner-media img { display:block; width:100%; height:100%; object-fit:cover; }
.mw-home-banner-content { box-sizing:border-box; }
.mw-home-banner-content .mw-display { max-width:720px; }
.mw-home-story-media { position:relative; }
.mw-home-story-media img { display:block; }
.mw-footer {
  position:relative;
  margin:0;
  padding:clamp(64px,7.5vw,112px) clamp(18px,3vw,48px) 24px;
  background:#102e3f;
  color:#d9e8ed;
  border:0;
}
.mw-footer-shell {
  width:min(100%,1460px);
  margin:0 auto;
}
.mw-footer-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(160px,.65fr) minmax(160px,.75fr);
  gap:clamp(35px,7vw,115px);
  align-items:start;
}
.mw-footer-brand a {
  text-decoration:none;
  color:#fff;
  font-family:var(--mw-modern-display),sans-serif;
  letter-spacing:-.055em;
  font-size:clamp(2rem,3vw,3.4rem);
  line-height:1.1;
  font-weight:750;
}
.mw-footer-brand p {
  max-width:345px;
  color:#bdd4de;
  line-height:1.8;
  margin-top:18px;
}
.mw-footer-links h2 {
  color:#92c9df;
  margin:0 0 20px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font:700 .75rem/1.3 var(--mw-sans),sans-serif;
}
.mw-footer-links a {
  display:block;
  color:#e4f1f4;
  padding:6px 0;
  font-weight:550;
  font-size:.94rem;
  text-decoration:none;
  width:max-content;
  max-width:100%;
}
.mw-footer-links a:hover,.mw-footer-links a:focus-visible { color:#86d4f8; text-decoration:underline; }
.mw-footer-wordmark {
  overflow:hidden;
  display:block;
  padding-top:clamp(48px,6vw,90px);
  font:800 clamp(4.2rem,14vw,14rem)/.78 var(--mw-modern-display),sans-serif;
  letter-spacing:-.09em;
  color:rgba(151,210,233,.075);
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}
.mw-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  border-top:1px solid rgba(219,237,243,.17);
  padding-top:24px;
  color:#b3ccd6;
  font-size:.78rem;
}
.mw-footer-bottom a { color:#c4e5f1; }
@media(max-width:700px) {
  .mw-home-banner-content { padding:35px 28px 42px; }
  .mw-footer { padding:70px 24px 26px; }
  .mw-footer-grid { grid-template-columns:1fr 1fr; gap:34px 22px; }
  .mw-footer-brand { grid-column:1 / -1; }
  .mw-footer-brand p { margin-top:12px; }
  .mw-footer-links h2 { margin-bottom:12px; }
  .mw-footer-wordmark { font-size:clamp(4rem,20vw,8rem); padding-top:70px; }
}
@media(prefers-reduced-motion:reduce) {
  .mw-footer-links a { transition:none !important; }
}
