@font-face {
  font-family: Rubik; src: url("../fonts/rubik-Regular.woff2") format("woff2"), url("../fonts/rubik-Regular.woff") format("woff");
  font-weight: 400 599; font-style: normal; font-display: swap;
}
@font-face {
  font-family: Rubik; src: url("../fonts/rubik-Bold.woff2") format("woff2"), url("../fonts/rubik-Bold.woff") format("woff");
  font-weight: 600 900; font-style: normal; font-display: swap;
}
:root {
  --pink: #b71877;
  --pink-dark: #92135f;
  --ink: #292533;
  --muted: #615c68;
  --line: #e7dce4;
  --paper: #fff;
  --cream: #faf8f8;
  --clinic-dark: #202431;
  --max: 1190px;
  --space: clamp(47px, 6vw, 83px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 118px; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); }
body:not(.gyn-page) { font: 1rem/1.55 Rubik, Arial, sans-serif; }
h1, h2, h3, p, figure { margin: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden], [data-item-removed] { display: none !important; }
:where(main, header, footer) :is(p, h1, h2, h3, h4, a, dt, dd, strong, small):empty { display: none; }
body.editing:not(.editor-on) :where(main, header, footer) :is(p, h1, h2, h3, h4, a, dt, dd, strong, small):has(> [data-edit-key]:empty:only-child) { display: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--pink); outline-offset: 4px;
}
.container { width: min(var(--max), calc(100% - 56px)); margin-inline: auto; }
.sr-only, .skip-link:not(:focus) {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link { position: fixed; z-index: 1200; top: 8px; left: 8px; padding: 12px; color: #fff; background: #2a2330; }
.section { padding-block: var(--space); }
body:not(.gyn-page) h1 { font-size: clamp(2.125rem, calc(4.1vw * var(--type-scale, 1)), 3.625rem); line-height: 1.08; letter-spacing: -.043em; }
body:not(.gyn-page) h2 { font-size: clamp(1.625rem, calc(3vw * var(--type-scale, 1)), 2.5625rem); line-height: 1.16; letter-spacing: -.035em; }
body:not(.gyn-page) h3 { font-size: clamp(1.0625rem, calc(1.65vw * var(--type-scale, 1)), 1.375rem); line-height: 1.25; letter-spacing: -.018em; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; border: 1px solid transparent; border-radius: 14px; padding: 11px 21px;
  font-size: 0.9375rem; font-weight: 700; line-height: 1.22; text-align: center;
  transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: white; background: var(--pink); box-shadow: 0 10px 23px #a3166b25; }
.btn-primary:hover { background: var(--pink-dark); }
.btn-outline { color: var(--ink); border-color: #d8c7d2; background: #fff; }
.btn-outline:hover { border-color: var(--pink); color: var(--pink-dark); }
.btn-small { min-height: 42px; padding: 8px 15px; font-size: 0.875rem; }
.btn svg, .text-link svg { width: 18px; height: 18px; flex: 0 0 18px; }
.text-link { color: var(--pink-dark); font-weight: 700; display: inline-flex; align-items: center; gap: 7px; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.phone-link { transition: color .2s; white-space: nowrap; }
.phone-link:hover { color: var(--pink); text-decoration: underline; text-underline-offset: 4px; }

.global-header, .global-footer { font-family: Rubik, Arial, sans-serif; }
.global-header {
  position: sticky; top: 0; z-index: 55; background: #faf9f9;
  border-bottom: 1px solid #e4dee2;
}
.global-top { background: #272629; color: #f3edf1; }
.global-top__inner {
  min-height: 35px; display: flex; gap: clamp(15px, 2.5vw, 36px); align-items: center;
  font-size: 0.75rem; line-height: 1.3;
}
.global-top a:hover { color: #f1a6d1; }
.global-top__search { margin-left: auto; display: grid; place-items: center; width: 31px; height: 31px; }
.global-top__search svg { width: 18px; height: 18px; }
.global-header__inner {
  display: flex; align-items: center; justify-content: space-between; gap: clamp(12px, 2.1vw, 28px);
  min-height: 77px;
}
.global-brand { flex: 0 0 auto; }
.global-brand img { width: clamp(135px, 15vw, 185px); height: auto; max-height: 61px; object-fit: contain; }
.global-nav { display: flex; align-items: center; gap: clamp(13px, 2.25vw, 32px); font-size: 0.875rem; }
.global-nav a:hover, .global-nav a[aria-current] { color: var(--pink-dark); }
.global-header__actions { display: flex; gap: clamp(10px, 1.7vw, 23px); align-items: center; }
.global-phone { font-size: 0.875rem; font-weight: 700; }
.global-book { min-height: 44px; border-radius: 24px; padding: 10px 20px; box-shadow: none; font-size: 0.8125rem; white-space: nowrap; }
.global-menu {
  display: none; place-items: center; width: 43px; height: 43px; border-radius: 12px;
  border: 1px solid var(--line); background: white; color: var(--ink);
}
.global-menu svg { width: 23px; height: 23px; }
.global-vision {
  display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; padding: 0;
  border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink);
}
.global-vision svg { width: 20px; height: 20px; }
.global-vision:hover { border-color: var(--pink); color: var(--pink-dark); }
.global-vision[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.global-footer { background: #29272b; color: #f1edf1; padding-block: 35px 24px; }
.global-footer__top { display: grid; grid-template-columns: 1fr .66fr 1fr; gap: 26px; font-size: 0.875rem; }
.global-footer__top > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.global-footer__numbers a { margin-inline-start: 7px; }
.global-footer a:hover { color: #f1a6d1; }
.global-footer__bottom {
  margin-top: 25px; padding-top: 18px; border-top: 1px solid #ffffff25;
  text-align: center; color: #dfd6dc; font-size: 0.8125rem; line-height: 1.6;
}
.global-footer__bottom p:first-child { font-size: 0.9375rem; text-transform: uppercase; letter-spacing: .02em; }
.global-footer__bottom p + p { margin-top: 4px; }

.home-page { background: #efeeee; color: #2c292e; }
.home-page .global-header { background: #f4f3f3; }
.home-page .global-book { border-radius: 24px; }
.home-hero { padding: 18px 0 35px; }
.home-hero h2 { text-align: center; margin: 0 auto 16px; font-size: clamp(1.8125rem, calc(3.55vw * var(--type-scale, 1)), 2.9375rem) !important; }
.home-slider { position: relative; }
.home-slide {
  position: relative; isolation: isolate; display: grid; align-items: stretch; grid-template-columns: 1fr 1fr;
  min-height: 328px; background: #fff; border-radius: 5px; overflow: hidden;
}
.home-slide__copy { position: relative; z-index: 1; padding: clamp(26px, 4vw, 55px); align-self: center; }
.home-slide__copy h3 { margin-bottom: 13px; max-width: 510px; }
.home-slide__copy p { margin-bottom: 21px; color: #52454f; max-width: 420px; font-size: clamp(0.9375rem, calc(1.65vw * var(--type-scale, 1)), 1.375rem); }
.home-slide__copy .btn { border-radius: 22px; min-height: 43px; font-size: 0.875rem; }
.home-slide__visual { position: absolute; inset: 0 0 0 41%; }
.home-slide__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.home-slide__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #fff, #fff0 44%); pointer-events: none; }
.home-slider__tabs {
  position: relative; z-index: 2; width: calc(100% - 40px); margin: -14px auto 0; display: grid;
  grid-template-columns: repeat(5, 1fr); background: #faf9f9; border: 1px solid #eee7ec;
  border-radius: 4px; box-shadow: 0 6px 16px #2c162b0b; overflow: hidden;
}
.home-slider__tabs button {
  min-height: 51px; padding: 8px; border: 0; border-bottom: 3px solid transparent; background: transparent;
  color: #423740; text-align: center; line-height: 1.25; font-size: 0.8125rem;
}
.home-slider__tabs button + button { border-inline-start: 1px solid #eee7ec; }
.home-slider__tabs button:hover { background: #f9edf5; }
.home-slider__tabs button[aria-pressed="true"] { color: var(--pink-dark); background: #fcf1f7; border-bottom-color: var(--pink); font-weight: 700; }
.home-section { padding: clamp(29px, 5vw, 66px) 0; }
.home-section h2 { text-align: center; margin-bottom: 24px; font-size: clamp(1.5625rem, calc(2.75vw * var(--type-scale, 1)), 2.25rem) !important; }
.home-body { position: relative; isolation: isolate; overflow: hidden; padding-top: 25px; }
.home-body::before, .home-body::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%; background: #ffffff6b;
  width: min(55vw, 640px); aspect-ratio: 1;
}
.home-body::before { top: 6%; left: 2%; }
.home-body::after { top: -31%; right: 5%; }
.body-map { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; max-width: 1050px; margin-inline: auto; }
.body-map__figure {
  width: 100%; min-width: 0; height: clamp(340px, 32vw, 435px); position: relative;
  display: flex; justify-content: center; align-items: center;
}
.body-map__figure img { width: auto; height: 93%; object-fit: contain; filter: drop-shadow(0 8px 15px #83768225); }
.body-marker { position: absolute; top: var(--y); left: var(--x); display: flex; align-items: center; gap: 8px; z-index: 1; transform: translate(-5px, -50%); }
.body-marker--left { flex-direction: row-reverse; transform: translate(calc(-100% + 5px), -50%); }
.body-marker__dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 4px #ba227a2d; }
.body-marker__label {
  color: #554a53; background: #fffdfd; border: 1px solid #eadce5; border-radius: 20px;
  padding: 5px 11px; font-size: 0.75rem; line-height: 1.25; white-space: nowrap;
}
.body-marker:hover .body-marker__label { color: #fff; background: var(--pink); border-color: var(--pink); }
.home-search {
  width: min(100%, 620px); margin: 0 auto 18px; display: flex; align-items: center; gap: 11px;
  padding: 0 17px; background: #fff; border: 1px solid #e3dce2; border-radius: 30px;
}
.home-search:focus-within { border-color: var(--pink); box-shadow: 0 0 0 3px #b718771f; }
.home-search svg { flex: 0 0 19px; height: 19px; color: var(--pink); }
.home-search input { border: 0; outline: 0; background: transparent; width: 100%; min-width: 0; min-height: 49px; padding: 8px 0; color: var(--ink); }
.home-search input:focus-visible { outline: none; }
.home-directions { padding-top: 32px; }
.home-directions__empty { text-align: center; color: var(--muted); padding: 18px 0; }
.home-directions__tabs {
  width: fit-content; max-width: 100%; margin: 0 auto 25px; display: flex; flex-wrap: wrap; gap: 5px;
  background: #fff; border: 1px solid #e8e0e5; padding: 4px; border-radius: 24px;
}
.home-directions__tabs button {
  border: 0; background: transparent; color: #483a44; border-radius: 23px;
  padding: 8px 16px; font-size: 0.8125rem; line-height: 1.3;
}
.home-directions__tabs button[aria-pressed="true"] { background: var(--pink); color: #fff; }
.direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.direction-card {
  min-height: 185px; display: flex; flex-direction: column; align-items: flex-start; gap: 13px;
  padding: 22px; background: #fff; border: 1px solid #ebe3e8; border-radius: 6px;
  transition: border-color .2s, box-shadow .2s;
}
.direction-card:hover { border-color: #d7a2c0; box-shadow: 0 8px 24px #551d4310; }
.direction-card__heading { display: flex; align-items: center; gap: 13px; }
.direction-card__heading img { width: 40px; height: 40px; object-fit: contain; flex: 0 0 40px; }
.direction-card p { font-size: 0.9375rem; color: #605661; }
.direction-card > .text-link { margin-top: auto; font-size: 0.875rem; }
.home-features, .service-visit { background: var(--clinic-dark); color: #fff; }
.home-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-feature { border: 1px solid #ffffff24; border-radius: 16px; background: #2b2f3c; overflow: hidden; }
.home-feature img { width: 100%; height: auto; aspect-ratio: 1.9; object-fit: cover; }
.home-feature h3 { padding: 16px 18px 0; }
.home-feature p { padding: 7px 18px 19px; font-size: 0.9375rem; color: #c9cbd3; }
.home-about__inner {
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px;
  background: #fff; border-radius: 7px; overflow: hidden;
}
.home-about__inner > div:first-child { padding: 32px 0 32px 32px; }
.home-about h2 { text-align: left; margin-bottom: 12px; }
.home-about p { color: var(--muted); margin-bottom: 20px; }
.home-about__facts { display: grid; gap: 13px; margin: 0 0 22px; }
.home-about__facts > div { border-left: 2px solid #e8a8ca; padding-left: 12px; }
.home-about__facts dt { font-weight: 750; }
.home-about__facts dt a { color: var(--pink-dark); }
.home-about__facts dd { margin: 2px 0 0; color: var(--muted); font-size: 0.9375rem; }
.home-about__photos { display: grid; align-self: stretch; grid-template-rows: repeat(2, minmax(0, 1fr)); min-height: 360px; gap: 4px; contain: size; }
.home-about__photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 21px; }
.contact-card { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; background: #fff; border-radius: 6px; padding: 19px 23px; }
.contact-card .phone-link { color: var(--pink-dark); font-weight: 700; }
.contact-card p { color: var(--muted); }

.clinic-location { background: #f7f1f5; }
.clinic-reputation { display: grid; gap: clamp(14px, 2vw, 24px); }
.clinic-reputation__side { display: flex; flex-direction: column; gap: clamp(14px, 2vw, 24px); min-width: 0; }
.clinic-reputation__side:not(:has(> :not([data-item-removed]))) { display: none; }
.clinic-reviews, .clinic-award, .clinic-reception { border: 1px solid #eddae6; border-radius: 21px; background: #fff; }
.clinic-reviews, .clinic-award { padding: clamp(16px, 2.25vw, 27px); min-width: 0; }
.clinic-award {
  display: flex; align-items: center; gap: clamp(14px, 2vw, 24px);
}
.clinic-award img { flex: 0 0 auto; width: clamp(66px, 7vw, 92px); height: auto; }
body .clinic-award h2 { margin: 4px 0 9px; font-size: clamp(1.4375rem, calc(2.7vw * var(--type-scale, 1)), 2.125rem); }
.clinic-award p { color: var(--muted); font-size: 0.9375rem; }
.clinic-award .clinic-award__source { color: var(--pink-dark); font-size: 0.8125rem; font-weight: 750; }
.clinic-award .text-link { margin-top: 11px; font-size: 0.875rem; }
.clinic-reviews { display: flex; flex-direction: column; }
.clinic-reviews h2 { margin-bottom: 15px; }
.clinic-reviews iframe, .clinic-route__map iframe { display: block; width: 100%; border: 1px solid #e8dce4; border-radius: 13px; background: #fff; }
.clinic-reviews iframe { flex: 1 0 395px; height: 395px; }
.clinic-reception { flex: 1 0 auto; width: 100%; height: auto; aspect-ratio: 1000 / 647; object-fit: cover; object-position: 64% center; }
@media (min-width: 841px) {
  .clinic-reputation:has(> .clinic-reviews:not([data-item-removed])):has(.clinic-reputation__side > :not([data-item-removed])) {
    grid-template-columns: minmax(0, 1.17fr) minmax(0, .83fr);
  }
}
.clinic-widget-credit, .clinic-map-credits { color: var(--muted); font-size: 0.75rem; }
.clinic-widget-credit { display: inline-block; margin-top: 7px; }
.clinic-route {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center;
  gap: clamp(18px, 3vw, 36px); margin-top: clamp(32px, 6vw, 65px); padding: clamp(15px, 3vw, 32px);
  border: 1px solid #eddae6; border-radius: 23px; background: #fff;
}
.editing .clinic-route { grid-template-columns: minmax(0, 1fr); }
.clinic-route h2 { margin-bottom: 8px; }
.clinic-route__contacts { display: grid; gap: 5px; list-style: none; padding: 0; margin: 0 0 14px; color: var(--muted); }
.clinic-route__contacts li { display: flex; align-items: flex-start; gap: 8px; }
.clinic-route__contacts svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 3px; color: var(--pink); }
.clinic-route__contacts .phone-link { color: var(--pink-dark); font-weight: 750; }
.clinic-route__details .btn { min-height: 40px; padding: 8px 13px; }
.clinic-route__photo { margin: 18px 0 0; max-width: 560px; }
.clinic-route__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: 265px; object-fit: cover; object-position: center 40%; border-radius: 12px; }
.clinic-route__photo figcaption { color: var(--muted); margin-top: 6px; font-size: 0.8125rem; }
.clinic-route__map { min-width: 0; }
.clinic-route__map iframe { height: auto; aspect-ratio: 1; }
.clinic-map-credits { display: flex; flex-wrap: wrap; gap: 4px 13px; margin-top: 7px; }
.clinic-map-credits a:hover, .clinic-widget-credit:hover { color: var(--pink-dark); }

.service-hero { overflow: hidden; background: radial-gradient(ellipse at 77% 44%, #f6e6ee 0, #faf8f8 42%); }
.hero--fibers { position: relative; isolation: isolate; }
.hero--fibers > .container { position: relative; z-index: 1; }
.hero-fibers {
  position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .34;
  mask-image: linear-gradient(90deg, transparent 5%, #0006 27%, #000 58%, #000 89%, transparent);
}
@media (max-width: 650px) {
  .hero-fibers { opacity: .24; mask-image: linear-gradient(180deg, transparent 5%, #0008 28%, #000 56%, transparent 100%); }
}
@media (prefers-reduced-motion: reduce) { .hero-fibers { display: none; } }
.service-hero__grid {
  min-height: clamp(535px, 76svh, 680px); display: grid; grid-template-columns: 1.13fr .87fr;
  align-items: center; gap: 38px; padding-block: 37px 49px;
}
.service-hero__copy { min-width: 0; }
.breadcrumb { display: inline-block; font-size: 0.875rem; color: #695766; margin-bottom: 23px; }
.breadcrumb:hover { color: var(--pink-dark); }
.breadcrumb > span[aria-hidden] { margin: 0 5px; color: #a27b94; }
.service-hero__copy h1 { max-width: 680px; text-wrap: balance; overflow-wrap: break-word; }
.service-hero__intro { margin: 20px 0 23px; max-width: 550px; color: #5c5360; font-size: clamp(1rem, calc(1.6vw * var(--type-scale, 1)), 1.25rem); }
.service-actions { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.service-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 23px; color: #5d515b; font-size: 0.875rem; }
.service-meta > span { display: inline-flex; gap: 7px; align-items: center; }
.service-meta svg { width: 19px; height: 19px; color: var(--pink); flex: 0 0 19px; }
.service-hero__visual {
  position: relative; isolation: isolate; width: min(100%, 470px); aspect-ratio: 1 / 1.03;
  min-height: 390px; margin-inline: auto; display: flex; justify-content: center; align-items: center;
}
.service-hero__orb {
  position: absolute; inset: 4% 5% 7%; z-index: -1; border-radius: 49% 49% 16% 16% / 43% 43% 12% 12%;
  background: linear-gradient(150deg, #f4dce9, #f2ebf7 63%, #eeeaf3); transform: rotate(-5deg); box-shadow: inset 0 0 0 1px #fff9;
}
.service-hero__image { position: absolute; inset: 0; display: grid; place-items: center; }
.service-hero__image img { width: 100%; height: 100%; object-fit: contain; }
.service-hero__visual--portrait .service-hero__image {
  inset: 5% 11% 10%; overflow: hidden; border: 1px solid #fff; background: #fbf9fa;
  border-radius: 49% 49% 28px 28px / 41% 41% 28px 28px;
  box-shadow: 0 22px 54px #4b2b4e1a;
}
.service-hero__visual--portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.service-hero__visual--facility .service-hero__image {
  inset: 9% 0 12%; overflow: hidden; border: 1px solid #fff; border-radius: 27px; box-shadow: 0 22px 54px #4b2b4e1a;
}
.service-hero__visual--facility img { object-fit: cover; object-position: 62% center; }
.service-hero__visual figcaption {
  position: absolute; bottom: 8%; left: 7%; right: 7%; display: grid; gap: 2px;
  width: fit-content; max-width: calc(100% - 40px); padding: 11px 16px; border: 1px solid #fff;
  border-radius: 15px; background: #fffc; backdrop-filter: blur(8px); box-shadow: 0 12px 28px #57395417;
}
.service-hero__visual figcaption strong { font-size: clamp(0.9375rem, calc(2vw * var(--type-scale, 1)), 1.25rem); }
.service-hero__visual figcaption > span { font-size: 0.8125rem; color: #594b58; }
.service-reasons { background: white; }
.service-care { background: #faf5f8; }
.service-care--illustrated { background: #fff; border-block: 1px solid #efe4eb; }
.service-care__layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(18px, 4vw, 50px); }
.service-care__media { overflow: hidden; border-radius: 24px; background: #f3edf1; }
.service-care__media img { display: block; width: 100%; height: auto; aspect-ratio: 1.38; object-fit: cover; }
.service-care__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.service-care h2, .service-reasons h2, .service-doctors h2, .service-prices h2, .service-faq h2 { margin-bottom: 24px; }
.service-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.service-card {
  background: linear-gradient(#fff, #fff7fb); border: 1px solid #ecd6e2; border-radius: 21px; padding: 20px;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.service-card:hover { transform: translateY(-3px); border-color: #d599bc; box-shadow: 0 14px 34px #40133210; }
.service-card__icon {
  width: 39px; height: 39px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 13px;
  background: #fae9f2; color: var(--pink-dark);
}
.service-card__icon svg { width: 21px; height: 21px; }
.service-card p { margin-top: 8px; color: var(--muted); font-size: 0.9375rem; }
.service-visit__title { margin-bottom: clamp(17px, 2.3vw, 28px); }
.service-visit__grid {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: stretch; gap: clamp(16px, 3.6vw, 46px);
}
.service-visit__media { position: relative; min-width: 0; min-height: clamp(235px, 27vw, 350px); border-radius: 18px; overflow: hidden; }
.service-visit__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-visit__drawing {
  display: grid; place-items: center; min-height: 160px;
  background: linear-gradient(130deg, #f3deed, #faedf4);
}
.service-visit__media:has(> img[data-item-removed]) { display: none; }
.service-visit__grid:has(> .service-visit__media[data-item-removed]),
.service-visit__grid:has(> .service-visit__media > img[data-item-removed]) { grid-template-columns: minmax(0, 1fr); }
.service-visit__drawing svg { width: 63px; height: 63px; color: #a63573; z-index: 1; }
.service-visit__drawing span { position: absolute; width: 120px; aspect-ratio: 1; border: 1px solid #fff; border-radius: 50%; }
.service-visit__drawing span:last-child { width: 170px; }
.service-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.service-steps li { display: flex; gap: 14px; align-items: flex-start; padding: 15px 17px; background: #ffffff0b; border: 1px solid #ffffff24; border-radius: 16px; }
.service-step__index { color: #f3acd8; font-size: 0.875rem; font-weight: 700; padding-top: 2px; }
.service-steps h3 { font-size: 1.0625rem !important; }
.service-steps p { margin-top: 4px; color: #c9cbd3; font-size: 0.9375rem; }
.service-doctors { background: #fff; }
.service-doctors__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.service-doctor {
  display: flex; align-items: flex-start; gap: 15px; padding: 20px; border: 1px solid #e8dce4; border-radius: 21px; background: #fdfbfc;
}
.service-doctor:only-child { grid-column: 1 / -1; width: min(100%, 690px); }
.service-doctor__avatar {
  width: 136px; height: 136px; flex: 0 0 136px;
  border-radius: 16px; overflow: hidden; background: #f2e6ef;
}
.service-doctor__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 36%; }
.service-doctor__content { min-width: 0; }
.service-doctor h3 { font-size: 1.1875rem !important; margin-bottom: 5px; overflow-wrap: break-word; }
.service-doctor p { color: var(--muted); font-size: 0.9375rem; margin-bottom: 11px; }
.service-doctor .service-doctor__specialty { color: var(--pink-dark); font-weight: 700; margin-bottom: 5px; }
.service-doctor .service-doctor__experience { color: #513747; margin-bottom: 9px; font-size: 0.8125rem; font-weight: 700; }
.service-doctor .btn { min-height: 38px; padding: 7px 11px; border-radius: 10px; font-size: 0.8125rem; }
.service-doctor .text-link { font-size: 0.8125rem; }
.service-prices { background: #f8f4f7; }
.price-box { border-radius: 22px; background: #fff; border: 1px solid #e8dce4; padding: clamp(16px, 2.5vw, 28px); }
.price-filter {
  width: min(100%, 520px); display: flex; align-items: center; gap: 11px; margin-bottom: 15px;
  padding: 0 13px; border: 1px solid #decbd7; border-radius: 13px; background: #fcfafb;
}
.price-filter svg { width: 18px; height: 18px; color: var(--pink-dark); flex: 0 0 18px; }
.price-filter input { width: 100%; min-width: 0; min-height: 44px; border: 0; background: transparent; }
.service-price-table { width: 100%; border-collapse: collapse; }
.service-price-table th, .service-price-table td { padding: 13px 8px; text-align: left; border-bottom: 1px solid #eee5eb; font-size: 0.9375rem; }
.service-price-table th[scope="row"] { font-weight: 400; }
.service-price-table td, .service-price-table thead th:last-child { text-align: right; min-width: 85px; }
.service-price-table td { color: var(--pink-dark); font-weight: 700; }
.price-note, .price-empty { margin-top: 11px; color: var(--muted); font-size: 0.875rem; }
.service-prepare { background: #fff; padding-bottom: 0; }
.service-prepare__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: start; border: 1px solid #ead9e5; border-radius: 21px; background: #fcf5fa; padding: clamp(16px, 3vw, 32px); }
.service-prepare h2 { font-size: clamp(1.4375rem, calc(3vw * var(--type-scale, 1)), 2.1875rem); }
.service-prepare ul { list-style: none; display: grid; gap: 10px; padding: 0; margin: 0; }
.service-prepare li { display: flex; gap: 8px; align-items: flex-start; color: var(--muted); }
.service-prepare svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--pink-dark); margin-top: 2px; }
.service-faq { background: #fff; }
.service-faq__list { display: grid; gap: 8px; }
.service-faq details { border-radius: 15px; background: #fbf8fa; border: 1px solid #e8dce4; }
.service-faq summary { padding: 15px 18px; font-weight: 700; cursor: pointer; }
.service-faq details p { margin: 0 18px 17px; color: var(--muted); }
.service-final { background: #f9f6f8; }
.service-final__box {
  display: flex; justify-content: space-between; align-items: center; gap: 25px;
  padding: clamp(22px, 4vw, 52px); border-radius: 28px; color: #fff; background: linear-gradient(115deg, #2d2935, #4b2d46);
}
.service-final h2 { margin-bottom: 10px; }
.service-final p { color: #f1e1eb; }
.service-final__box .btn-outline { color: #fff; background: transparent; }
.service-final__box .btn-outline:hover { background: #fff; color: var(--pink-dark); }
.not-found { min-height: 55vh; display: flex; flex-direction: column; align-items: flex-start; gap: 19px; }
.gyn-page .doctor-photo img[src$="/doctor-placeholder.svg"] + .fallback { display: grid; pointer-events: none; }
.gyn-page .doctor-photo .fallback { display: none; }
.gyn-page .hero h1 { overflow-wrap: anywhere; }
.gyn-page .price-search__result { min-height: 24px; }
.gyn-page .conversion-actions .btn-outline { border-color: #ddd0dc; }
.gyn-page .doctor-main .fallback { pointer-events: none; }

@media (max-width: 1000px) {
  .global-nav { gap: 13px; }
  .global-header__inner { gap: 12px; }
  .global-book { padding-inline: 13px; }
  .global-phone { font-size: 0.8125rem; }
  .service-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-slide { min-height: 303px; }
}
@media (max-width: 940px) {
  html { scroll-padding-top: 81px; }
  .global-top { display: none; }
  .global-header__inner { min-height: 66px; }
  .global-menu { display: grid; }
  .global-nav {
    display: none; position: absolute; top: calc(100% - 1px); left: 0; right: 0; padding: 10px 18px;
    flex-direction: column; align-items: stretch; gap: 2px; background: #fff; border-block: 1px solid #e4dee2; box-shadow: 0 14px 22px #2b203319;
  }
  .global-nav.is-open { display: flex; }
  .global-nav a { padding: 11px 6px; }
}
@media (max-width: 840px) {
  .container { width: min(var(--max), calc(100% - 36px)); }
  .global-footer__top { grid-template-columns: 1fr 1fr; }
  .service-hero__grid { gap: 19px; min-height: 505px; }
  .service-hero__visual { min-height: 290px; }
  .service-hero__copy h1 { font-size: clamp(2rem, calc(5vw * var(--type-scale, 1)), 2.6875rem) !important; }
  .service-visit__grid { gap: 22px; }
  .body-map { gap: 10px; }
  .body-marker__label { font-size: 0.6875rem; padding: 4px 7px; }
  .direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 590px) {
  .container { width: calc(100% - 28px); }
  .global-brand img { width: 124px; }
  .global-header__inner, .global-header__actions { gap: 7px; }
  .global-book { display: none; }
  .global-footer__top { grid-template-columns: 1fr; gap: 15px; }
  .global-footer__numbers a { margin-left: 0; display: block; }
  .global-footer__bottom p:first-child { font-size: 0.8125rem; }
  .home-hero { padding-top: 15px; }
  .home-slide { min-height: 0; display: flex; flex-direction: column; }
  .home-slide__copy { align-self: stretch; padding: 22px; }
  .home-slide__copy h3 { font-size: 1.5625rem !important; }
  .home-slide__visual { position: relative; inset: auto; height: 176px; }
  .home-slide__visual img { object-fit: cover; }
  .home-slide__visual::after { background: linear-gradient(#fff, #fff0 48%); }
  .home-slider__tabs { width: 100%; margin: 7px auto 0; display: flex; flex-wrap: wrap; }
  .home-slider__tabs button { flex: 1 0 32%; min-height: 40px; font-size: 0.75rem; }
  .home-body { padding-top: 5px; }
  .body-map { grid-template-columns: 1fr; }
  .body-map__figure { height: 325px; }
  .body-marker__label { font-size: 0.6875rem; }
  .home-search input { font-size: 1rem; }
  .home-directions__tabs { justify-content: center; }
  .home-directions__tabs button { padding: 6px 10px; }
  .direction-grid { gap: 8px; }
  .direction-card { padding: 14px 11px; gap: 7px; min-height: 165px; }
  .direction-card__heading { gap: 7px; }
  .direction-card__heading img { width: 26px; height: 26px; flex-basis: 26px; }
  .direction-card__heading h3 { font-size: 0.9375rem !important; overflow-wrap: anywhere; }
  .direction-card p, .direction-card > .text-link { font-size: 0.8125rem; }
  .home-features__grid { grid-template-columns: 1fr; gap: 11px; }
  .home-about__inner { grid-template-columns: 1fr; gap: 0; }
  .home-about__inner > div:first-child { padding: 23px; }
  .home-about__photos { grid-template: auto / repeat(2, minmax(0, 1fr)); min-height: 0; contain: none; }
  .home-about__photos img { height: auto; aspect-ratio: 1.43; }
  .contact-grid { grid-template-columns: 1fr; gap: 8px; }
  .clinic-route { grid-template-columns: minmax(0, 1fr); }
  .clinic-award, .clinic-reviews, .clinic-reception, .clinic-route { border-radius: 17px; }
  .service-hero__grid { grid-template-columns: 1fr; gap: 12px; padding-block: 28px; }
  .service-hero__visual { width: min(100%, 352px); aspect-ratio: 1.24; min-height: 0; }
  .service-hero__visual--portrait { aspect-ratio: 1.1; }
  .service-hero__visual figcaption { bottom: 6%; padding: 8px 10px; }
  .breadcrumb { margin-bottom: 11px; }
  .service-hero__intro { margin: 13px 0 17px; }
  .service-meta { margin-top: 16px; }
  .service-cards { gap: 8px; }
  .service-card { padding: 13px; border-radius: 15px; }
  .service-card p { font-size: 0.875rem; }
  .service-visit__grid, .service-doctors__grid { grid-template-columns: 1fr; }
  .service-care__layout, .service-care__grid, .service-prepare__inner { grid-template-columns: 1fr; }
  .service-visit__media { min-height: 0; aspect-ratio: 3 / 2; }
  .service-visit__drawing { display: none; }
  .service-doctor { padding: 14px; gap: 11px; }
  .service-doctor__avatar { width: 96px; height: 96px; flex-basis: 96px; }
  .service-final__box { display: block; border-radius: 19px; }
  .service-final__box .service-actions { margin-top: 15px; }
}
@media (max-width: 365px) {
  .global-phone { font-size: 0.6875rem; }
  .global-brand img { width: 96px; }
  .global-menu, .global-vision { width: 36px; }
  .global-header__actions { gap: 7px; }
  .body-marker__label { font-size: 0.625rem; padding-inline: 5px; }
  .direction-grid, .service-cards { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.widget-fallback {
  position: fixed; right: 21px; bottom: max(19px, env(safe-area-inset-bottom)); z-index: 60;
  width: 51px; height: 51px; display: grid; place-items: center;
  border: 1px solid #ffffffa0; border-radius: 50%; color: #fff; background: var(--pink);
  box-shadow: 0 10px 27px #56133d45;
}
.widget-fallback:hover { background: var(--pink-dark); }
.widget-fallback svg { width: 24px; height: 24px; }
.medflex-round-widget .medflex-round-widget__button {
  top: auto !important;
  left: auto !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  scale: .85;
  transform-origin: right bottom;
}
@media (max-width: 840px) {
  .medflex-round-widget .medflex-round-widget__button {
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    scale: .8;
  }
}
.gyn-arrow-down { display: inline-flex; }

.analytics-pixel { position: absolute; left: -9999px; }
:is(p,h2,h3,h4,a,dt,dd,small,strong):has(> [data-site-text][data-item-removed]:only-child) { display: none; }
:is(.symptom-icon,.service-doctor__avatar,.doctor-photo,.home-slide__visual,.benefits-media,.service-care__media):has(> img[data-item-removed]) { display: none; }
.service-care__layout:has(> .service-care__media > img[data-item-removed]) { grid-template-columns: minmax(0, 1fr); }

.home-intro {
  background: radial-gradient(ellipse at 78% 35%, #f2dce9 0, #f9edf3 42%, #fbf8fa 75%);
  border-bottom: 1px solid #ecdee7;
}
.home-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  align-items: center;
  gap: clamp(24px, 5.1vw, 72px);
  min-height: min(630px, 76svh);
  padding-block: clamp(42px, 7vw, 88px);
}
.home-intro__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 18px;
  color: var(--pink-dark);
  font-size: 0.875rem;
  font-weight: 700;
}
.home-intro__eyebrow svg, .home-intro__facts svg, .home-intro__visual figcaption svg { width: 18px; height: 18px; flex: 0 0 18px; }
.home-intro h1 { max-width: 650px; font-size: clamp(2.625rem, calc(5.5vw * var(--type-scale, 1)), 4.625rem); line-height: .99; letter-spacing: -.055em; text-wrap: balance; }
.home-intro__lead { max-width: 520px; margin: 20px 0 24px; color: #5d5260; font-size: clamp(1.0625rem, calc(1.65vw * var(--type-scale, 1)), 1.375rem); }
.home-intro__facts { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 25px; padding: 0; list-style: none; }
.home-intro__facts li { display: inline-flex; align-items: center; gap: 5px; color: #594954; font-size: 0.8125rem; }
.home-intro__facts strong, .home-intro__facts svg { color: var(--pink-dark); font-weight: 700; }
.home-intro__visual {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 5px solid #fff;
  border-radius: clamp(23px, 4vw, 44px);
  background: #e9d7e5;
  box-shadow: 0 22px 60px #59355128;
}
.home-intro__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 43% 44%; }
.home-intro__visual figcaption {
  position: absolute;
  left: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 12px;
  background: #fff;
  color: #49283d;
  font-size: 0.875rem;
  box-shadow: 0 9px 24px #402c3a24;
}
.home-intro__visual figcaption svg { color: var(--pink-dark); }
.home-hero { padding-top: 37px; }

.clinic-story { background: #f8f6f6; padding: clamp(35px, 6vw, 82px) 0; overflow: hidden; }
.clinic-story__layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: clamp(20px, 4.1vw, 54px); align-items: center; }
.clinic-story__copy h2 { max-width: 645px; font-size: clamp(1.875rem, calc(3.4vw * var(--type-scale, 1)), 2.6875rem); line-height: 1.08; letter-spacing: -.044em; text-wrap: balance; }
.clinic-story__intro { max-width: 560px; margin: 18px 0 24px; color: #616675; font-size: 1rem; line-height: 1.6; }
.clinic-story__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.clinic-story__fact { display: flex; gap: 12px; align-items: flex-start; padding: 15px 12px; background: #fff; border: 1px solid #e9e3e8; border-radius: 18px; }
.clinic-story__number, .clinic-story__symbol { flex: 0 0 48px; display: grid; place-items: center; min-height: 48px; border-radius: 13px; background: #f8edf4; color: var(--pink-dark); font-size: 1.1875rem; font-weight: 700; }
.clinic-story__symbol { font-size: 1.5rem; }
.clinic-story__fact strong { display: block; font-size: 0.9375rem; line-height: 1.3; }
.clinic-story__fact p { color: #626576; font-size: 0.875rem; line-height: 1.5; margin-top: 6px; }
.clinic-story__visual { min-width: 0; }
.clinic-story__video-shell { position: relative; overflow: hidden; isolation: isolate; aspect-ratio: 1.12; background: #e8e3e5; border-radius: 28px; box-shadow: 0 16px 44px #3920311c; }
.clinic-story__video, .clinic-story__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.clinic-story__video { position: absolute; inset: 0; opacity: 0; }
.clinic-story__video.is-ready { opacity: 1; }
.clinic-story__video-shell[role="button"] { cursor: pointer; }
.clinic-story__video-shell:focus-visible { outline: 2px solid var(--pink); outline-offset: 4px; }
.clinic-story__location { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; color: #697080; font-size: 0.8125rem; margin-top: 14px; }
.clinic-story__location svg { width: 16px; height: 16px; color: var(--pink-dark); }
.clinic-story__location>a { margin-left: auto; color: var(--pink-dark); font-size: 0.8125rem; font-weight: 700; }
.service-prepare { padding-bottom: clamp(35px, 6vw, 72px); }
.clinic-location--map { padding-top: 0; }
.clinic-location--map .clinic-route { margin-top: 0; }
.service-cards, .service-care__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
}
.service-doctors__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr)); }
.embed-editor-placeholder { min-height: 105px; display: grid; place-items: center; border: 1px dashed #cdaabd; border-radius: 14px; background: #f7edf3; color: #6c3454; font-size: 0.875rem; }

.service-doctors__grid--portraits { column-gap: clamp(13px, 1.7vw, 22px); }
.service-doctor--portrait {
  display: grid; align-items: start; grid-template-columns: clamp(105px, 14vw, 183px) minmax(0, 1fr);
  gap: clamp(12px, 1.6vw, 22px);
}
.service-doctor--portrait .service-doctor__avatar { width: 100%; height: auto; aspect-ratio: 5 / 7; background: #fff; }
.service-doctor--portrait .service-doctor__avatar img { object-position: center; }
.service-doctor--portrait .service-doctor__content { display: flex; flex-direction: column; align-self: stretch; }
.service-doctor--portrait .service-actions { margin-top: auto; }
@media (min-width: 940px) {
  @supports (grid-template-rows: subgrid) {
    .service-doctors__grid--portraits { row-gap: 0; }
    .service-doctor--portrait { grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
    .service-doctor--portrait .service-doctor__avatar { grid-row: 1 / -1; }
    .service-doctor--portrait .service-doctor__content {
      display: grid; grid-column: 2; grid-row: 1 / -1; grid-template-rows: subgrid; align-items: start;
    }
    .service-doctor--portrait h3 { grid-row: 1; }
    .service-doctor--portrait .service-doctor__specialty { grid-row: 2; }
    .service-doctor--portrait .service-doctor__experience { grid-row: 3; }
    .service-doctor--portrait .service-doctor__description { grid-row: 4; }
    .service-doctor--portrait .service-actions { grid-row: 5; align-self: end; }
  }
}
@media (max-width: 939px) {
  .service-doctors__grid--portraits { grid-template-columns: minmax(0, 1fr); }
  .service-doctor--portrait { grid-template-columns: clamp(96px, 29vw, 183px) minmax(0, 1fr); }
}
.doctor-bio-button { color: var(--pink-dark); background: #fff; }
.doctor-dialog {
  width: min(100% - 26px, 650px);
  max-height: min(88dvh, 720px);
  overflow: auto;
  margin: auto;
  padding: clamp(21px, 4.8vw, 36px);
  border: 1px solid #efdde8;
  border-radius: 26px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 27px 90px #32223555;
}
.doctor-dialog::backdrop { background: #2118299c; }
.doctor-dialog__head { display: flex; align-items: start; justify-content: space-between; gap: 13px; }
.doctor-dialog__head h2 { font-size: clamp(1.625rem, calc(4.6vw * var(--type-scale, 1)), 2.375rem); }
.doctor-dialog__role { color: var(--pink-dark); font-weight: 700; font-size: 0.875rem; margin-bottom: 7px; }
.doctor-dialog__close { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 0; border-radius: 50%; background: #f5eaf1; color: #72234f; font-size: 1.5rem; line-height: 1; }
.doctor-dialog__summary { margin-top: 13px; color: var(--muted); }
.doctor-dialog__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 137px), 1fr)); gap: 9px; margin: 22px 0; }
.doctor-dialog__stats > div {
  display: grid; align-content: start; gap: 6px; padding: 14px 10px; text-align: center;
  border: 1px solid #eedee8; border-radius: 13px; background: #fdf7fb;
}
.doctor-dialog__stats dd { grid-row: 1; margin: 0; color: var(--pink-dark); font-size: 1.3125rem; line-height: 1.25; font-weight: 700; }
.doctor-dialog__stats dt { grid-row: 2; margin: 0; color: #534d58; font-size: 0.8125rem; line-height: 1.35; text-wrap: balance; }
.doctor-dialog__education { margin-bottom: 18px; }
.doctor-dialog__education h3 { margin-bottom: 8px; }
.doctor-dialog__education ul { padding: 0; margin: 0; list-style: none; }
.doctor-dialog__education li { display: grid; grid-template-columns: 45px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid #f0e7ed; font-size: 0.875rem; }
.doctor-dialog__education strong { color: var(--pink-dark); }
@media (max-width: 520px) {
  .doctor-dialog__stats { grid-template-columns: minmax(0, 1fr); }
  .doctor-dialog__stats > div {
    grid-template-columns: minmax(92px, .85fr) minmax(0, 1.15fr); align-items: center; gap: 12px;
    padding: 10px 13px; text-align: left;
  }
  .doctor-dialog__stats dt { grid-row: 1; grid-column: 2; text-wrap: wrap; }
  .doctor-dialog__stats dd { grid-column: 1; }
}

@media (max-width: 830px) {
  .home-intro__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .home-intro__visual { width: min(100%, 590px); }
  .home-intro__visual img { aspect-ratio: 16 / 10; }
  .clinic-story__layout { grid-template-columns: minmax(0, 1fr); }
  .clinic-story__video-shell { max-width: 690px; aspect-ratio: 16 / 10; }
}
@media (max-width: 510px) {
  .home-intro__grid { gap: 20px; padding-block: 29px 25px; }
  .home-intro h1 { font-size: clamp(2.375rem, calc(11vw * var(--type-scale, 1)), 3.375rem); }
  .home-intro__lead { margin: 13px 0 17px; }
  .home-intro__eyebrow { margin-bottom: 10px; }
  .home-intro__facts { margin-top: 15px; }
  .home-intro__visual img { aspect-ratio: 2 / 1; }
  .home-intro__visual figcaption { bottom: 8px; left: 8px; padding: 5px 8px; font-size: 0.75rem; }
  .home-hero { padding-top: 22px; }
  .clinic-story__facts { grid-template-columns: minmax(0, 1fr); }
  .clinic-story__fact { padding: 12px; }
}

:is(.tag,.doctor-role,.experience-badge):has(> [data-site-text][data-item-removed]:only-child) { display: none; }
.home-intro__grid:has(> .home-intro__visual[data-item-removed]),
.home-intro__grid:has(> .home-intro__visual > img[data-item-removed]),
.service-hero__grid:has(> .service-hero__visual[data-item-removed]),
.hero-grid:has(> .hero-visual[data-item-removed]),
.clinic-story__layout:has(> .clinic-story__visual[data-item-removed]),
.clinic-route:not(:has(> .clinic-route__map, > .embed-editor-placeholder)) { grid-template-columns: minmax(0, 1fr); }
.home-intro__visual:has(> img[data-item-removed]) { display: none; }

/* Site text uses rem so the reading preference and browser font settings can scale it. */
html[data-vision-mode] {
  font-size: 125%;
  --type-scale: 1.25;
  --ink: #171219;
  --muted: #38313a;
  --pink: #85004f;
  --pink-dark: #6b003e;
  --line: #766c76;
  --cream: #fff;
  --clinic-dark: #16171f;
  --dark: #16171f;
  scroll-behavior: auto;
}
html[data-vision-mode] body { color: var(--ink); background: #fff; }
html[data-vision-mode] .global-header { background: #fff; border-bottom-color: var(--line); }
html[data-vision-mode] .hero-fibers { display: none; }
html[data-vision-mode] :is(.global-top, .global-nav, main, .clinic-location, .global-footer) a:not(.btn) {
  text-decoration: underline; text-underline-offset: .18em;
}
html[data-vision-mode] :is(a, button, input, select, summary, [tabindex]):focus-visible {
  outline: 3px solid #171219; outline-offset: 3px; box-shadow: 0 0 0 3px #fff;
}
html[data-vision-mode] :is(.service-hero__intro, .hero-copy .hero-usp, .service-doctor p, .doctor-dialog__stats dt) {
  color: var(--ink);
}
@media (min-width: 941px) and (max-width: 1140px) {
  html[data-vision-mode] { scroll-padding-top: 165px; }
  html[data-vision-mode] .global-header__inner { flex-wrap: wrap; padding-block: 8px; row-gap: 7px; }
  html[data-vision-mode] .global-nav { order: 1; flex: 1 0 100%; justify-content: center; padding-bottom: 5px; }
}
@media (max-width: 455px) {
  html[data-vision-mode] { scroll-padding-top: 114px; }
  html[data-vision-mode] .global-header__inner { min-height: 0; padding-block: 8px; }
  html[data-vision-mode] .global-header__actions {
    display: grid; grid-template-columns: repeat(2, auto); justify-items: end; gap: 4px 7px;
  }
  html[data-vision-mode] .global-phone { grid-column: 1 / -1; }
}

/* Clinic price list and optional analytics preferences */
.clinic-prices { padding-block: clamp(34px, 5.5vw, 72px); }
.clinic-prices__intro { max-width: 760px; display: grid; gap: 12px; margin-bottom: 28px; }
.clinic-prices__intro > p:not(.clinic-prices__eyebrow) { color: var(--muted); }
.clinic-prices__eyebrow { color: var(--pink-dark); font-size: .875rem; font-weight: 700; }
.clinic-prices__toolbar {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .53fr); gap: 14px;
  padding: clamp(14px, 2.4vw, 25px); background: #f7edf3; border: 1px solid var(--line); border-radius: 18px;
}
.clinic-prices__toolbar label { display: block; margin-bottom: 5px; font-size: .875rem; font-weight: 600; }
.clinic-prices__toolbar :is(input, select) {
  display: block; width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px;
  border-radius: 10px; border: 1px solid #cbb9c6; color: var(--ink); background: var(--paper);
}
.clinic-prices__status { color: var(--muted); margin: 18px 0 10px; font-size: .875rem; }
.clinic-prices__groups { display: grid; gap: 8px; }
.clinic-price-group { border-radius: 13px; background: var(--paper); border: 1px solid var(--line); }
.clinic-price-group summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px;
  min-height: 52px; padding: 11px 17px; font-weight: 700;
}
.clinic-price-group summary::-webkit-details-marker { display: none; }
.clinic-price-group summary::after { content: "+"; color: var(--pink-dark); font-size: 1.25em; line-height: 1; }
.clinic-price-group[open] summary::after { content: "−"; }
.clinic-price-group summary:hover { color: var(--pink-dark); }
.clinic-price-group__count {
  margin-left: auto; padding: 2px 8px; border-radius: 999px; background: #f7edf3;
  color: var(--pink-dark); font-size: .75em; font-variant-numeric: tabular-nums;
}
.clinic-price-group__list { padding-inline: 17px; }
.clinic-price-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: clamp(8px, 2.8vw, 32px);
  padding: 10px 0; border-top: 1px solid var(--line); font-size: .9375rem;
}
.clinic-price-row small { display: block; color: var(--muted); font-size: .78em; overflow-wrap: anywhere; }
.clinic-price-row strong { color: var(--pink-dark); white-space: nowrap; font-variant-numeric: tabular-nums; }
.clinic-prices__contact { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-top: 25px; }

.tracking-link { padding: 0; border: 0; background: none; color: inherit; text-decoration: underline; text-underline-offset: 3px; text-align: left; }
.tracking-notice {
  position: fixed; z-index: 60; left: max(12px, env(safe-area-inset-left)); bottom: max(12px, env(safe-area-inset-bottom));
  width: min(390px, calc(100% - 24px)); padding: 14px 16px;
  border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 8px 30px #29253325;
  background: var(--paper); color: var(--ink); font: .875rem/1.45 Rubik, Arial, sans-serif;
}
body .tracking-notice h2 { margin-bottom: 4px; padding-right: 32px; font-size: 1.0625rem; letter-spacing: 0; }
.tracking-notice__close {
  position: absolute; top: 4px; right: 4px; width: 36px; height: 36px;
  border: 0; border-radius: 8px; background: transparent; color: inherit;
  font: 22px/1 Arial, sans-serif; cursor: pointer;
}
.tracking-notice__close:hover { background: var(--line); }
.tracking-notice__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
@media (max-width: 580px) {
  .clinic-prices__toolbar { grid-template-columns: minmax(0, 1fr); }
  .clinic-price-group summary { padding-inline: 12px; }
  .clinic-price-group__list { padding-inline: 12px; }
  .tracking-notice { bottom: max(72px, calc(64px + env(safe-area-inset-bottom))); }
}

.clinic-full-price-link { margin-top: 12px; }

.clinic-embed-load { margin: 12px; }

/* Readable legal documents within the clinic site */
.clinic-document { width: min(840px, calc(100% - 40px)); }
.clinic-document h1 { margin-block: 12px 24px; overflow-wrap: anywhere; }
body .clinic-document h2 { font-size: clamp(1.2rem, 3vw, 1.55rem); margin-block: 24px 8px; letter-spacing: -.015em; }
.clinic-document article p + p { margin-top: 10px; }
.clinic-document a, .tracking-notice__policy a { color: var(--pink-dark); text-decoration: underline; text-underline-offset: .15em; }
.clinic-document-path, .clinic-document-related { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.clinic-document-path { font-size: .875rem; }
.clinic-document-related { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 15px; }
.clinic-document-table { overflow-x: auto; margin-block: 14px; }
.clinic-document table { width: 100%; border-collapse: collapse; text-align: left; }
.clinic-document th, .clinic-document td { border: 1px solid var(--line); padding: 8px; vertical-align: top; }
.clinic-document caption { text-align: left; padding-bottom: 6px; font-weight: 700; }
.clinic-document th { background: #f7edf3; }
.clinic-document-facts { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(0, 2fr); gap: 7px 16px; }
.clinic-document-facts dt { font-weight: 700; }
.clinic-document-facts dd { margin: 0; }
.tracking-notice__policy { margin-top: 6px; }
@media (max-width: 520px) {
  .clinic-document-facts { grid-template-columns: 1fr; }
  .clinic-document-facts dd { margin-bottom: 6px; }
}
@media print {
  body:has(.clinic-document) :is(.global-header, .global-footer, .tracking-notice, .widget-fallback, .clinic-document-path, .clinic-document-related) { display: none !important; }
  .clinic-document { width: 100%; padding-block: 0; }
  .clinic-document h2 { break-after: avoid; }
}

.global-brand:has(.clinic-brand-name) { display: flex; align-items: center; gap: 9px; }
.global-brand:has(.clinic-brand-name) img { width: 42px; height: 42px; border-radius: 10px; flex: 0 0 42px; }
.clinic-brand-name { font-size: clamp(12px, 1.26vw, 16px); line-height: 1.1; font-weight: 700; max-width: 126px; }
.clinic-social { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-block: 18px; }
.clinic-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; }
.clinic-social img { display: block; width: 32px; height: 32px; object-fit: contain; }
.clinic-social a:hover, .clinic-social a:focus-visible { background: #f7e9f2; }
.doctor-dialog--video video { display: block; width: 100%; max-height: 70vh; background: #141418; border-radius: 12px; }
