/* MWhite Clinic — unified v2 brand system.
 * Deliberately loaded AFTER site.css and mwhite-modern.css on both layouts.
 * Do not overwrite the complete immersive stylesheet from partial remote reads.
 */
:root {
  --mw-brand:#7ab5ef;
  --mw-accent:#207db9;
  --mw-dark:#24536f;
  --mw-ink:#243f58;
  --mw-text:#455d71;
  --mw-muted:#62798b;
  --mw-soft:#f1faff;
  --mw-border:#dcebf6;
  --mw-cream:#fff;
  --mw-display:"Helvetica Neue",Helvetica,Arial,-apple-system,BlinkMacSystemFont,sans-serif;
  --mw-unified-sky:#e9f7ff;
  --mw-unified-aqua:#7bd6eb;
}
html { scroll-padding-top:82px; }
body { background:#fff; color:var(--mw-text); }
.mw-display { font-family:var(--mw-display); letter-spacing:-.045em; line-height:1.09; font-weight:750; color:var(--mw-ink); }
.mw-kicker { color:#237cb5; font-weight:750; }
.mw-site-header { background:rgba(255,255,255,.97); border-bottom:1px solid #ebf2f7; }
.mw-nav-links a, .mw-mobile-menu nav a { color:#31536a; }
.mw-nav-links a:hover,.mw-mobile-menu nav a:hover { color:#166da8; }
.mw-nav-links .mw-nav-accent { background:#247fb9; color:#fff; border-radius:999px; border:1px solid #247fb9; }
.mw-nav-links .mw-nav-accent:hover { color:#fff; background:#136fa7; }
.mw-preview-bar { color:#24516b; background:#d9effd; letter-spacing:.09em; }
.mw-services-header,.mw-listing-intro {
  background:linear-gradient(118deg,#fff 5%,#effaff 67%,#f0fcfc);
  border-radius:0 0 28px 28px;
}
.mw-services-header { padding:clamp(48px,7vw,95px) 0; }
.mw-services-header .mw-display { font-size:clamp(2.7rem,5.6vw,5.4rem); max-width:15ch; }
.mw-services-header > .mw-container > p:not(.mw-kicker) { max-width:58ch; line-height:1.7; }
.mw-service-jumps { display:flex; gap:18px; flex-wrap:wrap; margin-top:25px; }
.mw-service-jumps a { display:inline-flex; align-items:center; background:#fff; border:1px solid #d0e7f6; border-radius:999px; padding:10px 20px; text-decoration:none; color:#206eaa; font-weight:700; }
.mw-service-jumps a:hover { background:#dcf4ff; transform:translateY(-2px); }
.mw-listing-intro { padding:clamp(54px,8vw,110px) clamp(24px,4vw,64px); margin-top:28px; margin-bottom:24px; }
.mw-listing-intro .mw-display { font-size:clamp(2.5rem,5.2vw,5rem); }
.mw-listing-intro > p { max-width:67ch; }
.mw-section-heading .mw-display { font-size:clamp(2rem,4vw,3.8rem); }
.mw-section,.mw-service-group { scroll-margin-top:96px; }
.mw-card,.mw-clinic-location,.mw-location-map-entry,.mw-branch-listing-item {
  border-radius:23px; border-color:#e1eff7; box-shadow:0 15px 50px rgba(39,99,141,.055);
}
.mw-service-catalog { padding-top:clamp(52px,6vw,92px); }
.mw-service-group-heading { display:block!important; width:100%; margin-bottom:38px; border-bottom:0; }
.mw-service-group-heading > div { display:flex; flex-direction:column; width:100%; }
.mw-service-group-heading .mw-kicker { order:0; margin-bottom:14px; }
.mw-service-group-heading .mw-display {
  order:1; font-size:clamp(2.6rem,5.1vw,5rem); margin:0 0 25px; max-width:none;
}
.mw-service-group-heading > p { max-width:65ch; margin:0 0 22px; text-align:left; color:#55718a; font-size:1.02rem; }
.mw-service-group-heading .mw-service-category-photo {
  order:2; display:block; width:100%!important; max-width:none!important;
  height:clamp(250px,33vw,455px)!important;
  margin:0!important; border-radius:26px; overflow:hidden;
  background:linear-gradient(120deg,#d9effb,#ecfafb);
  box-shadow:0 16px 48px rgba(31,102,143,.085);
}
.mw-service-group-heading .mw-service-category-photo img {
  display:block; width:100%!important; height:100%!important; object-fit:cover;
  object-position:center; max-width:none;
}
.mw-service-grid { gap:25px; }
.mw-service-grid .mw-card { border:1px solid #e1eef7; border-radius:22px; }
.mw-service-grid .mw-card .mw-card-content { background:#fff; }
.mw-service-group-wellness { border-top:1px solid #e6eff6; padding-top:clamp(65px,8vw,120px); }
.mw-footer { background:linear-gradient(160deg,#f4fbff 0%,#e8f7ff 59%,#edfafa 100%)!important; color:#315169!important; border-top:1px solid #d3eafa; }
.mw-footer-shell { padding-top:clamp(52px,6vw,84px); }
.mw-footer-cta {
  display:flex; gap:30px; align-items:center; justify-content:space-between;
  padding:clamp(28px,4vw,52px);
  background:#fff; border:1px solid #d6ebf8;
  border-radius:28px; box-shadow:0 16px 55px rgba(60,125,160,.08);
  margin-bottom:clamp(44px,6vw,85px);
}
.mw-footer-cta > div:first-child { max-width:640px; }
.mw-footer-cta h2 { color:#214760; font-family:var(--mw-sans); font-weight:760; letter-spacing:-.043em; line-height:1.12; font-size:clamp(2rem,3.1vw,3.4rem); margin:12px 0 15px; }
.mw-footer-cta p:not(.mw-kicker) { color:#526e80; font-size:1rem; line-height:1.7; }
.mw-footer-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }
.mw-footer-primary,.mw-footer-secondary {
  display:inline-flex; justify-content:center; align-items:center; gap:8px;
  text-decoration:none!important; font-size:.94rem; font-weight:740;
  border-radius:999px; white-space:nowrap; padding:15px 23px;
}
.mw-footer-primary { background:#207db9; color:#fff!important; border:1px solid #207db9; }
.mw-footer-primary:hover { background:#125f97; }
.mw-footer-secondary { color:#206b9f!important; border:1px solid #b8dcec; background:#f5fbff; }
.mw-footer-secondary:hover { background:#e1f4ff; }
.mw-footer-grid { gap:clamp(28px,4vw,65px); border-bottom:1px solid #cfe3f0; padding-bottom:48px; }
.mw-footer-brand > a { display:inline-flex; }
.mw-footer-brand img { width:206px; height:auto; max-width:100%; }
.mw-footer-brand p,.mw-footer-links a { color:#4b687d!important; }
.mw-footer-brand p { max-width:30ch; }
.mw-footer-branch-note { color:#257caf!important; font-size:.88rem; font-weight:650; }
.mw-footer-links h2 { color:#257bab!important; font-size:.8rem; letter-spacing:.13em; }
.mw-footer-links a:hover { color:#1269a5!important; text-decoration:underline; }
.mw-footer-links .mw-footer-phone { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-top:8px; }
.mw-footer-phone span { font-size:.82rem; color:#58768a; }
.mw-footer-phone strong { font-size:.99rem; color:#186b9d; }
.mw-footer-wordmark { color:rgba(50,148,198,.09)!important; line-height:1; }
.mw-footer-bottom { color:#52748b!important; border-top-color:#d3e9f5; }
.mw-footer-bottom a { color:#2878ac!important; }
.mw-footer a:focus-visible { outline:3px solid #1b7ab6; outline-offset:3px; }
@media (max-width:900px) {
  .mw-footer-cta { flex-direction:column; align-items:flex-start; }
  .mw-footer-actions { justify-content:flex-start; }
}
@media (max-width:700px) {
  .mw-services-header { padding:40px 0 48px; }
  .mw-services-header .mw-display { font-size:clamp(2.45rem,9vw,3.5rem); }
  .mw-service-group-heading .mw-service-category-photo { height:230px!important; border-radius:18px; }
  .mw-service-group-heading .mw-display { font-size:clamp(2.4rem,8vw,3.5rem); }
  .mw-footer-cta { padding:26px 22px; border-radius:19px; }
  .mw-footer-actions { width:100%; }
  .mw-footer-primary,.mw-footer-secondary { white-space:normal; flex:1 1 auto; }
  .mw-footer-grid { gap:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .mw-service-jumps a { transition:none!important; transform:none!important; }
}


/* Contact and location detail pages must not inherit a fixed-width desktop grid. */
.mw-clinic-location-list {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px; width:100%; max-width:100%;
}
.mw-clinic-location-list > *,
.mw-clinic-location-list .mw-clinic-location,
.mw-clinic-location-list .mw-google-map,
.mw-clinic-location-list .mw-google-map-frame {
  min-width:0; max-width:100%; box-sizing:border-box;
}
.mw-clinic-location-list .mw-clinic-location { overflow-wrap:anywhere; }
.mw-clinic-location-list iframe { display:block; max-width:100%; }
@media(max-width:700px) {
  .mw-clinic-location-list { grid-template-columns:minmax(0,1fr)!important; gap:22px; }
  .mw-clinic-location-list > * { width:100%; min-width:0; }
  .mw-clinic-location-list .mw-google-map { width:100%; }
  .mw-clinic-location-list .mw-google-map-frame { width:100%; }
}

/* P01-K2V: contact branch grid must not retain desktop minimum column widths on mobile. */
@media (max-width:700px) {
 .mw-clinic-location-list { display:grid; grid-template-columns:minmax(0,1fr); width:100%; max-width:100%; gap:20px; }
 .mw-clinic-location-list > *, .mw-clinic-location-list .mw-clinic-location { min-width:0; width:100%; max-width:100%; }
 .mw-clinic-location-list .mw-google-map, .mw-clinic-location-list .mw-google-map-frame { max-width:100%; min-width:0; }
 .mw-clinic-location-list iframe { display:block; max-width:100%; }
 .mw-clinic-location-list .mw-clinic-meta,.mw-clinic-location-list h3 { overflow-wrap:anywhere; }
}

/* P01-K2W-L: shared branch card alignment, including homepage and Contact page. */
@media(min-width:701px) {
 .mw-clinic-location-list > .mw-clinic-location { display:flex;flex-direction:column;align-self:stretch;min-height:100%;box-sizing:border-box; }
 .mw-clinic-location-list > .mw-clinic-location > .mw-google-map { margin-top:auto; }
 .mw-clinic-location-list > .mw-clinic-location > .mw-clinic-meta:first-of-type { min-height:3.2em; }
}

/* P01-K2W-L: the Beranda uses .mw-location-map-grid, not .mw-clinic-location-list. */
@media(min-width:701px){
 .mw-location-map-grid { align-items:stretch; }
 .mw-location-map-grid > .mw-clinic-location { display:flex;flex-direction:column;align-self:stretch;height:100%;box-sizing:border-box; }
 .mw-location-map-grid > .mw-clinic-location > .mw-clinic-meta:first-of-type { min-height:3.2em; }
 .mw-location-map-grid > .mw-clinic-location > .mw-google-map { margin-top:auto; }
}
