/* Restored from the completed design iterations in this task, September 2026. */
:root { --shell: min(1480px, calc(100% - 8vw)); }
body { font-family: Manrope, system-ui, sans-serif; }
html,body { overflow-x: clip; }
body main :is(h1,h2,h3,.h2,.h3) { font-family: Manrope,system-ui,sans-serif !important; }
body[data-page="home"] .nav a { white-space: nowrap; }
body[data-page="home"].header-scrolled .hdr { background: rgba(41,6,14,.93); }
body main h1 { font-size: clamp(36px,4.2vw,56px); line-height: 1.1; }
body main h2 { font-size: clamp(28px,3vw,40px); line-height: 1.12; }
body main h3 { font-size: clamp(20px,1.8vw,26px); line-height: 1.22; }
body main :is(h1,h2,h3) :is(em,strong) { font-size: inherit; }
body[data-page="home"] { --home-hdr-h: 80px; }
body[data-page="home"] .hdr { position: fixed; top: 0; left: 0; width: 100%; z-index: 60; border: 0; color: #f7eeea; background: linear-gradient(180deg,rgba(41,6,14,.62),rgba(41,6,14,.32)); backdrop-filter: blur(16px); }
body[data-page="home"] .hdr__inner { min-height: var(--home-hdr-h); width: var(--shell); gap: 32px; }
body[data-page="home"] .brand { color: #fff; gap: 12px; }
.brand__logo { width: 60px; height: 60px; object-fit: contain; flex: none; }
body[data-page="home"] .hdr .brand__text b { color: #fff; font-size: 17px; }
body[data-page="home"] .hdr .brand__text small { color: rgba(247,236,233,.72); }
body[data-page="home"] .nav { margin: 0 auto 0 0; gap: 30px; color: #f7eeea; font: 500 15px/1.3 Manrope,sans-serif; }
.hdr__contacts { display: flex; flex-direction: column; gap: 4px; font-size: 12px; white-space: nowrap; }
.hdr__contacts a:first-child { font-size: 16px; font-weight: 600; }
body[data-page="home"] .hdr__call { min-height: 44px; padding: 0 24px; display: inline-flex; align-items: center; background: var(--gold); color: #300b16; font: 700 14px/1 Manrope,sans-serif; border-radius: 999px; }
body[data-page="home"] .hero { height: auto; padding-top: 0; overflow: hidden; background: #360511; }
body[data-page="home"] .hero::after { display: none; }
body[data-page="home"] .hero__inner { width: 100%; display: block; height: auto; padding: 0 0 60px; }
body[data-page="home"] .hero__copy { position: relative; z-index: 2; width: min(1480px,calc(100% - 13vw)); height: clamp(600px,41vw,740px); margin: 0 auto; padding-top: clamp(135px,9vw,160px); }
body[data-page="home"] .hero h1 { width: auto; max-width: none; color: #fff; font-size: clamp(36px,3.25vw,54px); line-height: 1.14; letter-spacing: -.045em; font-weight: 600; margin: 0; }
body[data-page="home"] .hero h1 em { color: #cf91a3; font-family: inherit; font-style: normal; font-weight: 400; }
body[data-page="home"] .hero__lead { max-width: 460px; margin-top: 24px; color: #f4ebec; font-size: clamp(18px,1.45vw,24px); line-height: 1.4; }
body[data-page="home"] .hero__actions { margin-top: 30px; gap: 12px; }
body[data-page="home"] .hero__actions .btn { width: auto; height: 50px; min-height: 0; padding: 0 24px; font-size: 14px; gap: 18px; background: #87062f; border-color: #b34263; }
body[data-page="home"] .hero__actions .btn--line { color: #fff; background: transparent; border-color: #f1dfe3; padding-inline: 20px; }
body[data-page="home"] .hero__scene { position: absolute; top: var(--home-hdr-h); right: 0; left: auto; width: 74%; height: calc(clamp(600px,41vw,740px) + 60px - var(--home-hdr-h)); margin: 0; overflow: hidden; z-index: 0; }
.reference-scene { width: 100%; height: 100%; background: linear-gradient(180deg,#360511,rgba(54,5,17,.6) 4%,transparent 10%),linear-gradient(90deg,#360511,rgba(54,5,17,.35) 5%,rgba(54,5,17,.06) 12%,transparent 22%),url('assets/images/hero-interior-reference.webp') right center / cover no-repeat; }
body[data-page="home"] .hero__facts { position: absolute; inset: auto 0 0; width: 100%; min-height: 120px; margin: 0; padding: 24px max(4vw,calc((100% - 1480px)/2)); display: grid; grid-template-columns: 1fr 1.15fr .85fr; align-items: center; gap: 0; background: linear-gradient(90deg,rgba(54,5,17,.18),rgba(54,5,17,.3) 50%,rgba(54,5,17,.62)); backdrop-filter: blur(2px); border: 0; border-block: 1px solid rgba(255,255,255,.18); border-radius: 0; }
body[data-page="home"] .hero__facts .fact { display: flex; flex-direction: row; align-items: center; gap: 24px; padding: 0 30px; min-width: 0; border: 0; text-align: left; }
body[data-page="home"] .hero__facts .fact:first-child { padding-left: 0; }
body[data-page="home"] .hero__facts .fact + .fact { border-left: 1px solid rgba(255,255,255,.35); }
body[data-page="home"] .hero__facts .fact__icon { margin: 0; display: grid; place-items: center; width: 66px; height: 66px; flex: none; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: #f7eeea; background: none; }
.fact__icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body[data-page="home"] .hero__facts .fact__text { display: block; margin: 0; min-width: 0; }
body[data-page="home"] .hero__facts b { color: #fff; font-size: 17px; font-weight: 500; line-height: 1.35; white-space: nowrap; }
body[data-page="home"] .hero__facts small { display: block; margin-top: 8px; color: rgba(255,255,255,.94); font-size: 13px; line-height: 1.4; }
.dirs__cabinet,.dirs__story,.dirs__note { display: none; }
/* Doctors: a quiet horizontal gallery with individual typographic portraits. */
body .team__grid { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px 2px 18px; }
.team__grid::-webkit-scrollbar { display: none; }
body .team__grid .doc { flex: 0 0 calc((100% - 60px)/3.2); min-width: 0; padding: 26px; border: 1px solid #eadbdc; border-radius: 20px; background: #fcf9f7; scroll-snap-align: start; position: relative; overflow: hidden; }
body .team__grid .doc > span { position: absolute; top: 24px; right: 24px; color: #ad8993; font-weight: 500; }
body .team__grid .doc__mono { width: 100%; height: 150px; margin: 0 0 24px; border: 0; border-bottom: 1px solid #e8d8db; border-radius: 0; color: #85062e; font: 300 64px/1 Manrope,sans-serif; letter-spacing: -.07em; background: radial-gradient(ellipse at 50% 75%,#f2e3e5,transparent 70%); }
body .team__grid .doc:nth-child(even) .doc__mono { background: radial-gradient(ellipse at 50% 75%,#eee5d7,transparent 70%); }
body main .team__grid .doc h3 { font-size: 20px; line-height: 1.3; min-height: 52px; font-weight: 600; letter-spacing: -.035em; }
body .team__grid .doc__role { color: #85062e; font-size: 13px; line-height: 1.5; min-height: 40px; margin-top: 10px; }
body .team__grid .doc__bio { color: #82767b; font-size: 13px; line-height: 1.6; margin-top: 14px; }
.team__controls { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eadbdc; padding-top: 18px; }
.team__count { font-size: 12px; letter-spacing: .1em; color: #97727e; }
.team__arrows { display: flex; gap: 10px; }
.team__arrows button { width: 46px; height: 46px; border: 1px solid #dfc4cd; border-radius: 50%; background: transparent; color: #85062e; font: 400 23px/1 Manrope,sans-serif; cursor: pointer; transition: background .2s,color .2s; }
.team__arrows button:hover { background: #85062e; color: #fff; }
.team__arrows button:disabled { opacity: .3; cursor: default; background: transparent; color: #85062e; }
.team__grid:focus-visible,.team__arrows button:focus-visible { outline: 2px solid #85062e; outline-offset: 4px; }
@media(max-width:1000px) { body .team__grid .doc { flex-basis: calc((100% - 20px)/2.2); } }
@media(max-width:640px) { body .team__grid { gap: 14px; } body .team__grid .doc { flex-basis: 86%; padding: 22px; } body .team__grid .doc__mono { height: 125px; } }
.dirs > .shell { position: relative; }
.dirs .eyebrow { color: #80082c; }
.dirs .proc__icon { display: grid; place-items: center; border-radius: 50%; background: #f7edef; }
.dirs .proc__icon::before,.dirs .proc__icon::after { display: none; }
.dirs .proc__icon svg { width: 30px; height: 30px; fill: none; stroke: #80082c; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dirs__footer { display: flex; justify-content: flex-end; margin-top: 28px; }
.dirs__pagination { display: flex; align-items: center; gap: 16px; color: #9b516c; font-size: 11px; }
.dirs__pagination i { display: block; width: 46px; height: 1px; background: #b17488; }
.about__media img { aspect-ratio: 4/3; max-height: 480px; height: auto; object-position: center 35%; }
.consult__inner { max-width: 1180px; }
.consult__list { width: 100%; max-width: 820px; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
.review-award { display: flex; align-items: center; gap: 12px; margin-top: 22px; color: #80082c; }
.review-award__icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #e0c483; border-radius: 50%; font-size: 26px; }
.review-award b,.review-award small { display: block; }
.review-award small { color: #82747a; font-size: 12px; }
.clinic-carousel__viewport { display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; border-radius: 20px; }
.clinic-carousel__viewport::-webkit-scrollbar { display: none; }
.clinic-carousel__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.clinic-carousel figure { margin: 0; min-width: 0; }
.clinic-carousel button[data-lightbox] { display: block; width: 100%; padding: 0; border: 0; background: none; border-radius: 18px; overflow: hidden; cursor: zoom-in; }
.clinic-carousel img { width: 100%; height: 340px; object-fit: cover; }
.clinic-carousel figcaption { padding-top: 12px; color: #82747a; font-size: 13px; }
.clinic-carousel__controls { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 20px; }
.clinic-carousel__controls button { width: 44px; height: 44px; border: 1px solid #e1ccd1; border-radius: 50%; background: none; color: #80082c; font-size: 22px; cursor: pointer; }
body[data-page="home"] .foot { padding: 24px 0 14px; }
body[data-page="home"] .foot__grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; padding-bottom: 18px; }
body[data-page="home"] .foot__grid > div { flex-direction: row; flex-wrap: wrap; align-content: flex-start; align-items: center; gap: 8px 16px; }
body[data-page="home"] .foot__grid h2 { width: 100%; margin-bottom: 4px; }
body[data-page="home"] .foot__grid p { font-size: 12px; line-height: 1.45; }
body[data-page="home"] .foot__brand { margin-bottom: 0; }
body[data-page="home"] .foot__brand .brand__mark { width: 36px; height: 36px; font-size: 16px; }
body[data-page="home"] .foot__note { padding: 10px 0; font-size: 10px; }
body[data-page="home"] .foot__bottom { padding-top: 10px; }
.scrollprog { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 90; background: linear-gradient(90deg,#85062e,#b15d76 55%,#e0c483); transform: scaleX(0); transform-origin: left; box-shadow: 0 0 8px rgba(224,196,131,.35); pointer-events: none; }
html,body,.nav { scrollbar-color: #85062e #f4ebe8; scrollbar-width: thin; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #f4ebe8; }
::-webkit-scrollbar-thumb { background: #85062e; border: 2px solid #f4ebe8; border-radius: 20px; }
@media (min-width:1001px) {
  body[data-page="home"] main > section:not(.dirs):not(.hero) > .shell,body[data-page="home"] footer > .shell { width: min(1180px,calc(100% - 8vw)); }
  body .dirs { margin-block: 0; padding: 101px 0 103px; overflow: hidden; background: #fcf9f7; }
  body .dirs > .shell { height: 840px; }
  body .dirs .dirs__cabinet { display: block; position: absolute; top: 0; left: 37%; width: calc(63% + (100vw - 100%)/2); height: 650px; margin: 0; border-radius: 60px 0 0 0; overflow: hidden; }
  body .dirs .dirs__cabinet img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
  body .dirs .dirs__head { position: static; display: block; width: 33%; padding-top: 40px; margin: 0; }
  body .dirs .eyebrow { font-size: 11px; letter-spacing: .28em; gap: 22px; margin-bottom: 34px; }
  body main .dirs .h2 { font-size: clamp(30px,2.5vw,42px); line-height: 1.13; letter-spacing: -.045em; }
  body .dirs .h2 em { display: block; color: #80082c; font-family: inherit; font-style: normal; }
  body .dirs .dirs__aside { width: 100%; padding: 0; }
  body .dirs .head__lead { margin-top: 24px; font-size: clamp(16px,1.25vw,20px); line-height: 1.5; letter-spacing: -.035em; }
  body .dirs .dirs__controls { display: flex; justify-content: flex-start; align-items: center; margin-top: 28px; gap: 24px; }
  body .dirs .dirs__controls .link { display: inline-flex; align-items: center; gap: 8px; flex: none; height: 54px; padding: 0 30px; border: 0; border-radius: 40px; background: #85062e; color: #fff; font-size: 16px; }
  body .dirs .dirs__note { display: block; border-left: 1px solid #a2516c; padding-left: 24px; color: #a18b8d; font-size: 9px; letter-spacing: .23em; text-transform: uppercase; line-height: 1.8; }
  body .dirs .dirs__story { display: flex; flex-direction: column; position: absolute; top: 400px; left: 0; width: 32%; height: 320px; padding: 34px 28px 24px; border-radius: 18px; color: #fff; background: linear-gradient(90deg,rgba(60,4,19,.25),rgba(60,4,19,.08) 50%,transparent),url('assets/images/directions-sign-reference.webp') center / cover; }
  .dirs__story-title { font-size: 21px; line-height: 1.35; letter-spacing: -.03em; }
  .dirs__story-line { width: 34px; height: 1px; margin: 24px 0; background: rgba(255,255,255,.5); }
  .dirs__story-text { font-size: 15px; line-height: 1.5; color: #eddbde; }
  .dirs__story-arrow { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; margin-top: auto; font-size: 24px; }
  body .dirs .proc { position: absolute; top: 485px; left: 34.5%; width: 65.5%; filter: drop-shadow(0 14px 20px rgba(82,36,47,.07)); }
  body .dirs .proc__track { gap: 12px; padding: 1px 1px 2px; border: 0; }
  body .dirs .proc__card,body .dirs .proc__card--featured { flex: 0 0 calc((100% - 36px)/4); height: 296px; padding: 24px 22px 18px; display: grid; grid-template-rows: 14px 54px 42px 56px 38px; row-gap: 10px; align-content: start; border: 1px solid #eddbdf; border-radius: 22px; background: linear-gradient(145deg,#fdf9f8,#faf5f4); color: #181a23; }
  body .dirs .proc__card::before { display: none; }
  body .dirs .proc__num { color: #80082c; font-size: 11px; gap: 16px; }
  body .dirs .proc__icon { visibility: visible; width: 54px; height: 54px; margin: 0; border: 1px solid #efdee3; }
  body main .dirs .proc__name { font-size: 17px; line-height: 1.23; max-width: 155px; min-height: 42px; letter-spacing: -.04em; }
  body .dirs .proc__text { font-size: 13px; line-height: 1.4; color: #86808a; margin: 0; }
  body .dirs .proc__more { width: 38px; height: 38px; margin: 0; padding: 0; border: 1px solid #e3c5ce; border-radius: 50%; font-size: 0; color: #80082c; display: grid; place-items: center; }
  body .dirs .proc__more::after { content: '→'; margin: 0; font-size: 20px; line-height: 1; color: #80082c; }
  body .dirs .rev-nav { position: absolute; bottom: 0; right: 150px; gap: 8px; }
  body .dirs .rev-nav button { width: 36px; height: 36px; background: #fcf9f7; }
  body .dirs .dirs__footer { position: absolute; right: 0; bottom: 10px; margin: 0; }
}
@media (max-width:1250px) and (min-width:1001px) {
  body[data-page="home"] .hdr__inner { gap: 20px; }
  body[data-page="home"] .nav { gap: 20px; font-size: 14px; }
}
@media (max-width:1150px) {
  body[data-page="home"] .hero__facts .fact { gap: 14px; padding: 0 18px; }
  body[data-page="home"] .hero__facts .fact__icon { width: 48px; height: 48px; }
  body[data-page="home"] .hero__facts b { font-size: 14px; white-space: normal; }
  body[data-page="home"] .hero__facts small { font-size: 11px; }
}
@media (max-width:1000px) {
  :root { --shell: min(760px,calc(100% - 40px)); }
  html,body { overflow-x: clip; }
  body[data-page="home"] { --home-hdr-h: 68px; }
  body[data-page="home"] .hdr__inner { gap: 18px; }
  body[data-page="home"] .hdr .brand { margin-right: auto; }
  body[data-page="home"] .hdr__contacts { display: none; }
  body[data-page="home"] .nav-toggle { display: block; color: #fff; }
  body[data-page="home"] .hdr .nav { position: absolute; top: var(--home-hdr-h); left: 0; bottom: auto; right: auto; width: 100%; height: auto; max-height: calc(100dvh - var(--home-hdr-h)); overflow-y: auto; transform: none; padding: 24px; flex-direction: column; gap: 16px; align-items: stretch; background: #360511; border-radius: 0 0 14px 14px; visibility: hidden; pointer-events: none; }
  body[data-page="home"] .hdr .nav.is-open { visibility: visible; pointer-events: auto; }
  body[data-page="home"] .hdr .nav a { font-size: 16px; padding-block: 6px; }
  body[data-page="home"] .hero__inner { padding: 0; }
  body[data-page="home"] .hero__scene { height: calc(600px - var(--home-hdr-h)); }
  body[data-page="home"] .hero__copy { width: calc(100% - 40px); height: 600px; padding-top: 135px; }
  .reference-scene { background: linear-gradient(90deg,rgba(54,5,17,.92),rgba(54,5,17,.65) 48%,rgba(54,5,17,.2)),url('assets/images/hero-interior-reference.webp') 62% center / cover; }
  body .dirs .dirs__head { display: block; }
  body .dirs .dirs__aside { width: 100%; padding-top: 20px; }
  body .dirs .proc__card { flex-basis: 280px; }
  body .dirs .h2 { font-size: 30px; }
}
@media (max-width:700px) {
  body[data-page="home"] .foot__grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width:640px) {
  :root { --shell: calc(100% - 28px); }
  body[data-page="home"] { --home-hdr-h: 64px; }
  body[data-page="home"] .hdr__inner { width: calc(100% - 32px); gap: 10px; }
  .brand__logo { width: 46px; height: 46px; }
  body[data-page="home"] .hdr__call { display: none; }
  body[data-page="home"] .hero__copy { width: calc(100% - 36px); padding-top: 120px; }
  body[data-page="home"] .hero h1 { font-size: clamp(28px,7vw,38px); }
  body[data-page="home"] .hero__lead { font-size: 16px; }
  body[data-page="home"] .hero__actions { flex-direction: column; gap: 12px; margin-top: 28px; }
  body[data-page="home"] .hero__actions .btn { width: 100%; height: 46px; }
  body[data-page="home"] .hero__scene { width: 100%; }
  .reference-scene { background: linear-gradient(90deg,rgba(54,5,17,.88),rgba(54,5,17,.48)),url('assets/images/hero-interior-reference.webp') 62% center / cover; }
  body[data-page="home"] .hero__facts { position: relative; inset: auto; grid-template-columns: 1fr; margin: 0; padding: 20px 4vw; background: #360511; }
  body[data-page="home"] .hero__facts .fact { padding: 16px 0; }
  body[data-page="home"] .hero__facts .fact + .fact { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .clinic-carousel__pair { gap: 12px; }
  .clinic-carousel img { height: 220px; }
  body .consult__list { grid-template-columns: 1fr; }
  .dirs .proc__card { flex-basis: min(82vw,290px); }
}
