/* Медицинский центр «Дионис» — site.css */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"PT Serif Caption";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ptserif-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif Caption";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ptserif-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"PT Serif Caption";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ptserif-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#171a1b;--paper:#f3f5f4;--surface:#fff;--mist:#e4ebec;--line:rgba(23,26,27,.14);--line-soft:rgba(23,26,27,.08);
  --muted:#4f5a5c;--teal:#88acb5;--teal-700:#3f6670;--teal-900:#1f3a41;--plum:#5a1f3f;--plum-200:#f0cfe0;--ok:#2f7a55;--err:#a3302f;
  --serif:"PT Serif Caption",Georgia,"Times New Roman",serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r-sm:12px;--r-md:18px;--r-lg:26px;--max:1200px;--gut:clamp(16px,4vw,32px);--header:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:var(--teal-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.025em;line-height:1.05}
h2{font-size:clamp(1.7rem,3.3vw,2.7rem)}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.25}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--teal-700);outline-offset:3px;border-radius:6px}
::selection{background:rgba(136,172,181,.4)}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.wrap{width:min(100% - var(--gut)*2,var(--max));margin-inline:auto}
.section{padding-block:clamp(48px,7vw,104px)}
.section--tight{padding-block:clamp(32px,4.5vw,64px)}
.section--white{background:var(--surface)}
.section__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 40px;margin-bottom:clamp(24px,3.5vw,44px)}
.section__head p{max-width:46ch;color:var(--muted);margin:0}
.lede{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.65;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.nowrap{white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-weight:700;font-size:.95rem;line-height:1.1;text-decoration:none;text-align:center;transition:background-color .18s,color .18s,border-color .18s}
.btn:hover{background:var(--ink);color:#fff}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:var(--teal-900);border-color:var(--teal-900)}
.btn--plum{background:var(--plum);border-color:var(--plum);color:#fff}
.btn--plum:hover{background:#43152f;border-color:#43152f}
.btn--light{background:#fff;border-color:#fff;color:var(--plum)}
.btn--light:hover{background:var(--plum-200);border-color:var(--plum-200);color:var(--plum)}
.btn--ghost-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn--ghost-light:hover{background:#fff;color:var(--plum)}
.btn--sm{min-height:40px;padding:0 16px;font-size:.88rem}
.btn--block{width:100%}
.link-arrow{display:inline-flex;gap:6px;align-items:center;font-weight:700;text-decoration:none}
.link-arrow::after{content:"";width:.55em;height:.55em;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s}
.link-arrow:hover::after{transform:rotate(45deg) translate(2px,-2px)}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(243,245,244,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line-soft)}
.site-header__in{display:flex;align-items:center;gap:24px;min-height:var(--header)}
.logo{display:block;width:168px;flex:none;line-height:0}
.logo-svg{width:100%;height:auto}
.logo-a{fill:#587f89}.logo-b{fill:var(--ink)}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.nav a{font-size:.92rem;font-weight:600;color:var(--ink);text-decoration:none;position:relative;padding:6px 0}
.nav a:hover,.nav a[aria-current="page"]{color:var(--teal-700)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--teal)}
.nav .nav__promo{display:inline-flex;align-items:center;gap:8px}
.nav .nav__promo i{font-style:normal;font-size:.72rem;font-weight:700;background:var(--plum);color:#fff;border-radius:999px;padding:2px 8px;line-height:1.5}
.header-phone{font-weight:700;font-size:.95rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav-toggle{display:none;margin-left:auto;width:48px;height:48px;border:0;background:transparent;border-radius:50%;position:relative}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;left:13px;width:22px;height:2px;background:var(--ink);transition:transform .22s,opacity .22s,top .22s}
.nav-toggle::before{top:17px}.nav-toggle span{top:23px}.nav-toggle::after{top:29px}
.nav-toggle[aria-expanded="true"]::before{top:23px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span{opacity:0}
.nav-toggle[aria-expanded="true"]::after{top:23px;transform:rotate(-45deg)}
@media (max-width:1080px){
  .nav-toggle{display:block}
  .header-phone{margin-left:auto}
  .nav-toggle{margin-left:0}
  .nav{position:fixed;inset:var(--header) 0 0 0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gut) 120px;overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  .nav.is-open{opacity:1;transform:none;visibility:visible}
  .nav a{font-size:1.15rem;padding:16px 0;border-bottom:1px solid var(--line-soft)}
  .nav a[aria-current="page"]::after{display:none}
  .nav .btn{margin-top:20px;border-bottom:1.5px solid var(--ink);color:#fff}
}
@media (max-width:420px){.header-phone{display:none}.nav-toggle{margin-left:auto}}

/* breadcrumbs */
.crumbs{font-size:.85rem;color:var(--muted);padding:20px 0 0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}

/* hero */
.hero{padding:clamp(28px,5vw,72px) 0 clamp(24px,4vw,48px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:start}
.hero h1{max-width:15ch;font-size:clamp(2.3rem,5.6vw,4.6rem)}
.hero .lede{margin:22px 0 0}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero__meta{display:grid;gap:10px;margin-top:30px;font-size:.95rem}
.status{display:inline-flex;align-items:center;gap:10px;font-weight:600}
.status::before{content:"";width:10px;height:10px;border-radius:50%;background:#9aa7a9;box-shadow:0 0 0 4px rgba(154,167,169,.2)}
.status[data-open="1"]::before{background:var(--ok);box-shadow:0 0 0 4px rgba(47,122,85,.18)}
.hero__meta a{color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(28px,4vw,56px);border-top:1px solid var(--line);list-style:none}
.facts li{padding:20px 24px 4px 0;display:flex;flex-direction:column;gap:2px}
.facts li+li{padding-left:24px;border-left:1px solid var(--line-soft)}
.facts b{font:400 1.5rem/1.2 var(--serif)}
.facts span{font-size:.88rem;color:var(--muted)}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}.hero h1{max-width:18ch}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts li:nth-child(odd){padding-left:0;border-left:0}.facts li:nth-child(n+3){border-top:1px solid var(--line-soft);margin-top:16px;padding-top:16px}}

/* picker */
.picker{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,28px);box-shadow:0 24px 60px -32px rgba(31,58,65,.35)}
.picker h2{font-size:1.5rem;margin-bottom:6px}
.picker>p{color:var(--muted);font-size:.92rem;margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;font-size:.88rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}
.chip:hover{border-color:var(--teal-700)}
.chip[aria-pressed="true"]{background:var(--teal-900);border-color:var(--teal-900);color:#fff}
.picker__list{list-style:none;margin:18px 0 0;border-top:1px solid var(--line-soft)}
.picker__item{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.picker__item a.name{color:var(--ink);text-decoration:none;font-weight:700;line-height:1.25}
.picker__item a.name:hover{text-decoration:underline}
.picker__item small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--mist);display:grid;place-items:center;font:400 1.1rem var(--serif);color:var(--teal-700)}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.picker__more{margin-top:14px;font-size:.92rem}
@media (max-width:480px){.picker__item{grid-template-columns:44px 1fr}.picker__item .btn{grid-column:2;justify-self:start}.avatar{width:44px;height:44px}}

/* services */
.svc-list{list-style:none;border-top:1px solid var(--line)}
.svc-list li{border-bottom:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) 128px;gap:8px 32px;align-items:center;padding:22px 8px;text-decoration:none;color:var(--ink);transition:background-color .15s}
.svc-row:hover{background:rgba(136,172,181,.14);color:var(--ink)}
.svc-row h3{font-size:1.4rem}
.svc-row p{margin:0;color:var(--muted);font-size:.95rem}
.svc-row .count{font-size:.85rem;color:var(--teal-700);font-weight:700;white-space:nowrap}
.svc-row .count::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:12px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media (max-width:760px){.svc-row{grid-template-columns:1fr auto;padding:18px 0}.svc-row p{grid-column:1/-1;order:3}}

/* doctors */
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;list-style:none}
.dcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden;height:100%}
.dcard__photo{aspect-ratio:4/5;background:var(--mist);position:relative;display:block;overflow:hidden}
.dcard__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;transition:transform .5s}
.dcard:hover .dcard__photo img{transform:scale(1.03)}
.dcard__ph{position:absolute;inset:0;display:grid;place-items:center;font:400 3.4rem var(--serif);color:var(--teal-700)}
.dcard__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.dcard__role{font-size:.82rem;color:var(--muted);line-height:1.4}
.dcard h3 a{color:var(--ink);text-decoration:none}
.dcard h3 a::after{content:"";position:absolute;inset:0}
.dcard{position:relative}
.dcard__exp{font-size:.86rem;font-weight:700;color:var(--teal-700)}
.dcard__actions{margin-top:auto;padding-top:12px;display:flex;gap:8px;position:relative;z-index:2}
.dcard__actions .btn{flex:1}
.dgrid.is-compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.filter{margin-bottom:28px}
.filter .chips{margin-top:0}
.hidden,[hidden]{display:none!important}
.chief{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.chief__photo{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--mist);position:relative}
.chief__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.chief h2{margin-bottom:8px}
.chief dl{display:grid;grid-template-columns:repeat(3,auto);gap:8px 32px;margin:24px 0;justify-content:start}
.chief dt{font:400 1.45rem/1.2 var(--serif)}
.chief dd{margin:0;color:var(--muted);font-size:.85rem}
@media (max-width:760px){.chief{grid-template-columns:1fr}.chief__photo{max-width:340px}.chief dl{grid-template-columns:1fr 1fr}}

/* promo band */
.promo{background:var(--plum);color:#fff;position:relative;overflow:hidden}
.promo__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,88px)}
.promo h2{font-size:clamp(1.8rem,3.4vw,2.8rem);max-width:20ch}
.promo p{color:rgba(255,255,255,.86)}
.promo__until{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 16px;font-size:.88rem;font-weight:700;margin-bottom:20px}
.promo__until b{color:var(--plum-200)}
.ledger--light .ledger__row{border-color:rgba(255,255,255,.25)}
.ledger--light .ledger__dots{border-color:rgba(255,255,255,.35)}
.promo__photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:#43152f;max-width:420px;justify-self:end;width:100%}
.promo__photo img{width:100%;height:100%;object-fit:cover}
.promo__note{font-size:.82rem;color:rgba(255,255,255,.78);margin-top:18px;max-width:60ch}
@media (max-width:860px){.promo__grid{grid-template-columns:1fr}.promo__photo{justify-self:start;max-width:360px;order:-1;aspect-ratio:16/11}}

/* ledger (price rows) */
.ledger{list-style:none}
.ledger__row{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.ledger__name{flex:0 1 auto;max-width:78%}
.ledger__name small{display:block;color:var(--muted);font-size:.8rem;line-height:1.4;margin-top:2px}
.ledger--light .ledger__name small{color:rgba(255,255,255,.72)}
.ledger__dots{flex:1 1 20px;min-width:20px;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.ledger__price{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.search{display:flex;gap:10px;flex-wrap:wrap}
.search input[type=search],.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;transition:border-color .15s,box-shadow .15s}
.search input[type=search]{flex:1 1 280px;width:auto;border-radius:999px;padding-inline:22px}
.field input:focus,.field select:focus,.field textarea:focus,.search input:focus{outline:none;border-color:var(--teal-700);box-shadow:0 0 0 4px rgba(63,102,112,.18)}
.prices-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:860px){.prices-split{grid-template-columns:1fr}}
.note{font-size:.85rem;color:var(--muted)}
.note--box{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:14px 18px;line-height:1.55}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;counter-reset:s}
.steps li{counter-increment:s;padding-top:20px;border-top:2px solid var(--teal)}
.steps li::before{content:counter(s);display:block;font:400 2rem/1 var(--serif);color:var(--teal-700);margin-bottom:12px}
.steps h3{margin-bottom:6px;font-size:1.2rem}
.steps p{color:var(--muted);font-size:.93rem;margin:0}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:700;font-size:1.05rem;position:relative;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--teal-700);border-bottom:2px solid var(--teal-700);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .faq__a{padding:0 0 22px;color:var(--muted);max-width:70ch}
.faq .faq__a p:last-child{margin:0}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* form */
.book{background:var(--teal-900);color:#fff}
.book a{color:#cfe3e8}
.book h2{color:#fff}
.book__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,80px);align-items:start}
.book address{font-style:normal;line-height:1.75;margin-top:24px}
.book address a.phone{font:400 1.8rem/1.2 var(--serif);color:#fff;text-decoration:none;display:inline-block;margin:6px 0}
.book .lede{color:rgba(255,255,255,.82)}
.book__hours{margin-top:18px;border-top:1px solid rgba(255,255,255,.2);padding-top:14px;font-size:.95rem}
.form{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:clamp(20px,3vw,34px)}
.form h3,.form h2{color:var(--ink);margin-bottom:6px}
.form__sub{color:var(--muted);font-size:.9rem;margin-bottom:18px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}
.field textarea{min-height:92px;resize:vertical}
.field .opt{font-weight:400;color:var(--muted)}
.field__error{color:var(--err);font-size:.82rem;margin-top:5px;min-height:0}
.field.has-error input,.field.has-error select{border-color:var(--err)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.field label.consent,.field label.consent,.consent{display:flex;gap:12px;font-weight:400;align-items:flex-start;font-size:.82rem;line-height:1.5;color:var(--muted);margin:6px 0 4px}
.consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--teal-700)}
.consent a{color:var(--teal-700)}
.form__status{margin-top:14px;font-size:.92rem;font-weight:600;min-height:1.4em}
.form__status.is-ok{color:var(--ok)}.form__status.is-err{color:var(--err)}
.form__ok{display:none;text-align:left}
.form.is-done .form__ok{display:block}
.form.is-done form{display:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
dialog.modal{border:0;padding:0;border-radius:var(--r-lg);width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);background:transparent;overflow:visible}
dialog.modal::backdrop{background:rgba(23,26,27,.55);backdrop-filter:blur(3px)}
dialog.modal .form{position:relative;max-height:calc(100dvh - 32px);overflow:auto}
.modal__close{position:absolute;right:14px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:var(--mist);z-index:3}
.modal__close::before,.modal__close::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;background:var(--ink);transform:rotate(45deg)}
.modal__close::after{transform:rotate(-45deg)}

/* doctor page */
.dp-hero{padding:clamp(20px,3.5vw,40px) 0 clamp(28px,4vw,56px)}
.dp-hero__grid{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(24px,5vw,72px);align-items:start;margin-top:24px}
.dp-photo{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--mist);position:relative}
.dp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.dp-role{font-size:1.1rem;color:var(--muted);margin:14px 0 0;max-width:46ch}
.badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:20px 0 0}
.badges li{border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.85rem;font-weight:600;background:var(--surface)}
.dp-facts{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:28px 0 0;font-size:.95rem;max-width:62ch}
.dp-facts dt{color:var(--muted)}.dp-facts dd{margin:0;font-weight:600}
.dp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.dp-note{margin-top:22px;max-width:62ch}
@media (max-width:760px){.dp-hero__grid{grid-template-columns:1fr}.dp-photo{max-width:340px}.dp-facts{grid-template-columns:1fr;gap:2px}.dp-facts dd{margin-bottom:10px}}
.acc{border-top:1px solid var(--line);max-width:860px}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:400 1.3rem/1.3 var(--serif);position:relative}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--teal-700);border-bottom:2px solid var(--teal-700);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.acc details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.acc .acc__body{padding:0 0 24px;color:#2c3335}
.acc ul{padding-left:1.2em;display:grid;gap:8px}
.acc li{padding-left:2px}
.video{max-width:340px;border-radius:var(--r-md);overflow:hidden;background:#000}
.video video{width:100%}

/* price page */
.pricebar{position:sticky;top:var(--header);z-index:50;background:var(--paper);padding:14px 0;border-bottom:1px solid var(--line-soft);margin-bottom:24px}
.pricebar__in{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.pricebar select{min-height:50px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;max-width:100%}
.pricebar .count{font-size:.88rem;color:var(--muted);margin-left:auto}
.pg{border-bottom:1px solid var(--line)}
.pg:first-of-type{border-top:1px solid var(--line)}
.pg>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font:400 1.35rem/1.3 var(--serif)}
.pg>summary::-webkit-details-marker{display:none}
.pg>summary .n{font:600 .85rem var(--sans);color:var(--teal-700)}
.pg>summary .n::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:14px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.pg[open]>summary .n::after{transform:translateY(0) rotate(-135deg)}
.pg__body{padding:0 4px 20px}
.pg h3.sub{font:700 .85rem var(--sans);letter-spacing:.01em;color:var(--teal-700);margin:22px 0 4px}
.is-hidden{display:none!important}
.noresult{padding:32px 0;color:var(--muted);display:none}
.noresult.show{display:block}

/* service page */
.sp-hero{padding:clamp(20px,3.5vw,40px) 0 clamp(24px,3vw,40px)}
.sp-hero h1{margin-top:22px;max-width:20ch}
.sp-hero .lede{margin-top:18px}
.sp-hero .dp-actions{margin-top:26px}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:22px}
.tags li{font-size:.85rem;background:var(--surface);border:1px solid var(--line-soft);border-radius:999px;padding:4px 14px}
.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2em 0 .6em}
.prose h3{margin:1.6em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1em;display:grid;gap:6px}
.prose table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1em 0}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.prose .updated{color:var(--muted);font-size:.88rem}
.card-plain{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:20px 22px}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:8px}
.contacts-grid h3{margin-bottom:8px}
.contacts-grid p{margin:0 0 .4em}

/* promo page */
.pp-hero{background:var(--plum);color:#fff;padding:clamp(28px,4vw,56px) 0 clamp(36px,5vw,72px)}
.pp-hero .crumbs,.pp-hero .crumbs a{color:rgba(255,255,255,.75)}
.pp-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center;margin-top:28px}
.pp-hero h1{max-width:14ch}
.pp-hero .lede{color:rgba(255,255,255,.86);margin-top:18px}
.pp-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pp-photos img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-md);aspect-ratio:3/4;background:#43152f}
.pp-photos img:first-child{grid-row:span 2;aspect-ratio:auto}
@media (max-width:860px){.pp-hero__grid{grid-template-columns:1fr}}
.pricetiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;list-style:none}
.pricetile{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:20px}
.pricetile span{display:block;color:var(--muted);font-size:.88rem;line-height:1.45;min-height:2.9em}
.pricetile b{display:block;font:400 1.9rem/1.2 var(--serif);margin-top:10px}
.pricetile--accent{background:var(--plum);border-color:var(--plum);color:#fff}
.pricetile--accent span{color:rgba(255,255,255,.8)}
.promo-list{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.promo-card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}
.promo-card:hover{color:var(--ink);border-color:var(--teal)}
.promo-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.promo-card div{padding:22px 24px 26px}
.promo-card h2{font-size:1.6rem;margin:6px 0 10px}
.tag-until{display:inline-block;font-size:.8rem;font-weight:700;background:var(--plum);color:#fff;border-radius:999px;padding:3px 12px}
.tag-ended{background:var(--muted)}

/* footer */
.site-footer{background:var(--ink);color:#d8dedf;padding:clamp(40px,6vw,72px) 0 120px;font-size:.92rem}
.site-footer a{color:#d8dedf;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.footer__grid h2{font:700 .8rem var(--sans);letter-spacing:.04em;color:#8fb2ba;margin-bottom:14px;text-transform:none}
.footer__grid ul{list-style:none;display:grid;gap:8px}
.footer__brand .logo-svg .logo-a{fill:#9cc0c8}.footer__brand .logo-svg .logo-b{fill:#fff}
.footer__brand{max-width:36ch}
.footer__brand p{margin:16px 0 0;color:#aab4b6;font-size:.86rem}
.footer__legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#aab4b6;font-size:.82rem;display:grid;gap:8px}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}

/* mobile bar */
.mbar{display:none}
@media (max-width:760px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(243,245,244,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{min-height:50px}
  .site-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}

/* 404 / thanks */
.center-page{padding:clamp(56px,10vw,140px) 0;max-width:640px}
.center-page h1{margin-bottom:18px}
.center-page .dp-actions{margin-top:28px}

/* motion */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .hero .picker{animation:rise .7s cubic-bezier(.2,.7,.2,1) both .1s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.site-header,.mbar,.book,.picker,.site-footer .footer__grid{display:none}body{background:#fff}}

/* patches */
.hero h1{max-width:20ch;font-size:clamp(2.1rem,4.1vw,3.4rem)}
.ph{position:absolute;inset:0;display:grid;place-items:center;font:400 3.4rem var(--serif);color:var(--teal-700)}
.dcard__photo img,.dp-photo img,.chief__photo img{position:relative;z-index:1}
.form.is-done .form__head{display:none}
.form__ok h3{margin-bottom:8px}
.optional-file.is-missing{pointer-events:none;color:var(--muted)}

.avatar{position:relative;overflow:hidden}
.avatar .ph{font-size:1.05rem}
.avatar img{position:absolute;inset:0;z-index:1}
.img-ok>.ph{visibility:hidden}

.nav a.btn{color:#fff;padding:0 18px}
.nav a.btn:hover{color:#fff}
@media (max-width:1080px){.nav a.btn{font-size:1rem;padding:0 24px;border-bottom:1.5px solid var(--ink)}}
h1+.lede,h2+.lede,h1+p.lede{margin-top:16px}
.form h2{font-size:1.6rem}
.svc-row .count{justify-self:end}
@media (max-width:760px){.svc-row{grid-template-columns:1fr auto}}

.wrap.narrow>*{max-width:900px}
.wrap.narrow>.section__head{max-width:none}
.sp-hero h1{font-size:clamp(2rem,4vw,3.3rem);max-width:24ch}
.pricetiles{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.pricetiles{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pricetiles{grid-template-columns:1fr}}
@media (max-width:1080px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}}
@media (max-width:560px){
  .dgrid,.dgrid.is-compact{grid-template-columns:1fr 1fr;gap:12px}
  .dcard__body{padding:12px 12px 14px;gap:4px}
  .dcard h3{font-size:1.02rem}
  .dcard__role{font-size:.74rem}
  .dcard__exp{font-size:.8rem}
  .dcard__actions .btn{padding:0 10px;font-size:.82rem}
  .ph{font-size:2.4rem}
}

/* ── О клинике, галерея, агрегаторы, темы врачей ── */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none}
.gallery li{margin:0}
.gallery a{display:block;border-radius:var(--r-md);overflow:hidden;background:var(--mist);aspect-ratio:4/5;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.gallery a:hover img{transform:scale(1.03)}
.gallery figcaption,.gallery .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;color:#fff;font-size:.8rem;line-height:1.3;background:linear-gradient(transparent,rgba(0,0,0,.62))}
.gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery--wide li:first-child{grid-column:span 2;grid-row:span 2}
.gallery--wide li:first-child a{aspect-ratio:auto;height:100%}
@media (max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery--wide li:first-child{grid-column:span 2;grid-row:span 1}.gallery--wide li:first-child a{aspect-ratio:4/3}}
@media (max-width:560px){.gallery,.gallery--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.about-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px);align-items:center}
.about-hero__photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--mist)}
.about-hero__photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.about-hero{grid-template-columns:1fr}.about-hero__photo{max-width:420px;aspect-ratio:4/4.4}}
.about-teaser{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.about-teaser .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.about-teaser{grid-template-columns:1fr}}
.agg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin-top:24px}
.agg a{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:112px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink);transition:border-color .18s,box-shadow .18s,transform .18s}
.agg a:hover{border-color:var(--teal-700);box-shadow:0 8px 24px -14px rgba(23,26,27,.4);transform:translateY(-2px);color:var(--ink)}
.agg__logo{height:34px;display:flex;align-items:center}
.agg__logo img{max-height:34px;max-width:100%;width:auto;object-fit:contain;object-position:left center}
.agg__name{font:700 1.05rem/1.2 var(--sans);letter-spacing:-.01em}
.agg__logo.has-logo .agg__name{display:none}
.agg__go{font-size:.82rem;color:var(--teal-700);font-weight:700;display:inline-flex;gap:6px;align-items:center}
.agg__go::after{content:"";width:.45em;height:.45em;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media (max-width:1080px){.agg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.agg{grid-template-columns:repeat(2,minmax(0,1fr))}.agg a{min-height:96px}}
.footer-agg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:.88rem}
.topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;list-style:none;margin-top:8px}
.topics a{display:block;height:100%;padding:18px 20px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);text-decoration:none;color:var(--ink);font:400 1.1rem/1.3 var(--serif);transition:border-color .18s}
.topics a:hover{border-color:var(--teal-700)}
.topics small{display:block;margin-top:8px;font:500 .85rem/1.4 var(--sans);color:var(--muted)}
.tp-hero{padding-block:clamp(28px,4vw,56px) clamp(20px,3vw,36px)}
.tp-hero h1{font-size:clamp(1.9rem,4.2vw,3.2rem);max-width:24ch}
.tp-by{display:flex;align-items:center;gap:14px;margin:22px 0 4px;padding:12px 16px 12px 12px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);max-width:560px;text-decoration:none;color:var(--ink)}
.tp-by .avatar{flex:none}
.tp-by b{display:block;font-weight:700}
.tp-by>span:last-child>span{display:block;font-size:.88rem;color:var(--muted);line-height:1.4}
.tp-body{max-width:74ch}
.tp-body h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:1.9em 0 .55em}
.tp-body h2:first-child{margin-top:0}
.tp-body p{color:#2a3133}
.tp-body ul{padding-left:1.25em;margin:0 0 1em;display:grid;gap:6px;color:#2a3133}
.tp-aside{margin-top:36px;display:grid;gap:14px}
.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,980px);width:100%;max-height:96vh;overflow:visible}
.lightbox::backdrop{background:rgba(10,14,15,.86)}
.lightbox__in{position:relative;display:grid;place-items:center}
.lightbox img{max-height:86vh;width:auto;max-width:100%;border-radius:var(--r-md);background:var(--mist)}
.lightbox__cap{color:#fff;text-align:center;font-size:.9rem;margin-top:10px;max-width:60ch}
.lightbox button{position:absolute;top:8px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.4rem;line-height:1}
.lightbox .lb-close{right:8px}.lightbox .lb-prev{left:8px;top:50%;margin-top:-22px}.lightbox .lb-next{right:8px;top:50%;margin-top:-22px}
.forms-list{list-style:none;display:grid;gap:12px;margin-top:28px}
.forms-list .card-plain{display:flex;gap:16px;align-items:center;justify-content:space-between}
.forms-list h3{font-weight:400}
.video-block{max-width:340px}
.video{margin:0}
.prose table{display:block;overflow-x:auto}
.prose td,.prose th{min-width:120px}
.prose p,.prose li,.prose td{overflow-wrap:anywhere}
.video video{height:auto;aspect-ratio:9/16;object-fit:cover;background:#000}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;bottom:16px;z-index:120;max-width:440px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 18px 50px rgba(23,26,27,.22);padding:18px 20px}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0 0 12px;font-size:.88rem;line-height:1.5}
.cookie-banner__btns{display:flex;flex-wrap:wrap;gap:8px}
.cookie-banner__btns .btn{flex:1 1 auto}
.cookie-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.cookie-link:hover{color:#fff}
@media (max-width:760px){
  .cookie-banner{left:10px;right:10px;max-width:none;bottom:calc(84px + env(safe-area-inset-bottom));padding:14px 16px}
}
@media print{.cookie-banner{display:none}}
