/* Анастасия Малышкина, врач-психиатр — Ростов-на-Дону
   Мотив: арка. Заголовки — Cormorant Garamond строчными, текст — Manrope.
   Шкала кеглей от 17 с шагом ~1.27: 13 17 21 27 34 43 55 70
   Ряд отступов: 8 16 24 40 64 96 · радиусы: 16 24 999 · арка 50% */
:root{
  --ink:#241A33;        /* тёмный баклажан: заголовки, тёмные полосы */
  --lil:#6B4BA3;        /* сирень: кнопки, заливки */
  --lil-t:#5B3E8C;      /* сирень для ТЕКСТА на светлом */
  --soft:#C9B6E8;       /* светлая сирень: линии, метки на тёмном */
  --mist:#F3EFFA;       /* сиреневый туман: фон секций */
  --paper:#FFFFFF;
  --tx:#3B3348; --mu:#5D5470;
  --line:rgba(107,75,163,.20);

  --f-1:13px; --f0:17px; --f1:21px; --f2:27px; --f3:34px; --f4:43px; --f5:55px;
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:96px;
  --r1:16px; --r2:24px; --pill:999px;
  --w:1200px; --prose:68ch;

  --disp:'Cormorant Garamond',Georgia,serif;
  --body:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--tx);
  font:400 var(--f0)/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
p{margin:0 0 1em;max-width:var(--prose)}
a{color:var(--lil-t);text-decoration:none}
h1,h2,h3,h4{margin:0 0 var(--s2);font-family:var(--disp);font-weight:400;
  color:var(--ink);line-height:1.1;letter-spacing:-.005em}
h1{font-size:clamp(38px,5.4vw,var(--f5))}
h2{font-size:clamp(27px,3.6vw,var(--f4))}
h3{font-size:var(--f2)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--s3)}
.sect{padding:var(--s6) 0}
.cream{background:var(--mist)}
.navy{background:var(--ink);color:#EDE7F5}
.navy h1,.navy h2,.navy h3{color:#fff}
.navy a{color:var(--soft)}

/* метка-надзаголовок */
.mk{font:600 var(--f-1)/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;
  color:var(--lil-t);margin-bottom:var(--s2);display:block}
.navy .mk{color:var(--soft)}

/* ── кнопки: пилюли ─────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);
  padding:15px var(--s4);border-radius:var(--pill);background:var(--lil);color:#fff;
  font:600 var(--f-1)/1 var(--body);letter-spacing:.09em;text-transform:uppercase;
  border:1.5px solid var(--lil);transition:.22s;white-space:nowrap}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-o{background:transparent;color:var(--lil-t);border-color:var(--line)}
.btn-o:hover{background:var(--lil);border-color:var(--lil);color:#fff}
.btn-g{background:var(--lil);border-color:var(--lil);color:#fff}
.navy .btn-o{color:#fff;border-color:rgba(255,255,255,.4)}

/* ── шапка ──────────────────────────────────────── */
.topbar{background:var(--paper);border-bottom:1px solid var(--line)}
.tb{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3)}
.logo{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.logo .em{width:40px;height:46px;flex:0 0 40px}
.logo .nm{line-height:1.2}
.logo .nm b{display:block;font-family:var(--disp);font-weight:500;font-size:var(--f1);
  color:var(--ink);letter-spacing:0}
.logo .nm span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lil-t)}
.tb .addr{font-size:14px;color:var(--mu);line-height:1.45;flex:1 1 auto;margin-left:var(--s3)}
.tb .addr div{display:flex;gap:7px;align-items:flex-start}
.tb .addr svg{flex:0 0 12px;margin-top:4px}
.tb .ph{text-align:right;flex:0 0 auto}
.tb .ph a{font:600 var(--f1)/1.2 var(--body);color:var(--ink);letter-spacing:.01em}
.tb .ph small{display:block;font-size:12px;color:var(--mu)}
.bvi-btn{background:none;border:0;cursor:pointer;color:var(--lil-t);padding:6px;
  display:flex;align-items:center}
.bvi-btn span{display:none}

/* меню */
.mainnav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.navrow{display:flex;align-items:center;justify-content:center;gap:var(--s3);
  padding:14px var(--s3);position:relative}
.mn{display:flex;gap:var(--s4);flex-wrap:wrap;justify-content:center}
.mn a{font:500 14px/1 var(--body);color:var(--tx);letter-spacing:.02em;padding:6px 0;
  border-bottom:1.5px solid transparent}
.mn a:hover{color:var(--lil-t)}
.mn a.on{color:var(--lil-t);border-color:var(--lil)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;
  position:absolute;right:var(--s3);top:9px}
.burger i{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0}

/* ── первый экран: арка ─────────────────────────── */
.hero{position:relative;background:linear-gradient(160deg,var(--mist) 0%,#FBF9FE 60%,var(--paper) 100%);
  padding:var(--s6) 0 var(--s5)}
.hero .in{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s4);align-items:center}
.hero h1{margin-bottom:var(--s3)}
.hero .sub{font-size:var(--f1);color:var(--tx);margin-bottom:var(--s2);max-width:26ch}
.hero .rol{font:600 var(--f-1)/1.5 var(--body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--lil-t);margin-bottom:var(--s3)}
.hero .cta{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}
.arch{position:relative;justify-self:end;width:min(430px,100%)}
.arch .pic{border-radius:50% 50% var(--r2) var(--r2) / 42% 42% var(--r2) var(--r2);
  overflow:hidden;background:var(--soft);box-shadow:0 24px 60px rgba(36,26,51,.18)}
.arch .pic img{width:100%;display:block}
.arch:before{content:"";position:absolute;inset:-18px -18px 24px -18px;
  border:1.5px solid var(--line);
  border-radius:50% 50% var(--r2) var(--r2) / 42% 42% var(--r2) var(--r2);
  pointer-events:none}

/* реплика врача — подпись страницы */
.kv{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r2) var(--r2) var(--r2) 4px;
  font-family:var(--disp);font-size:var(--f2);line-height:1.35;color:var(--ink);
  max-width:34ch}
.kv small{display:block;margin-top:var(--s2);font:500 var(--f-1)/1.4 var(--body);
  letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.navy .kv{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.navy .kv small{color:var(--soft)}

/* ── заголовок секции ───────────────────────────── */
.sh{margin-bottom:var(--s4);max-width:var(--prose)}
.sh .ttl{margin:0}
.sh .sub{color:var(--mu);font-size:var(--f1);margin-top:var(--s2)}
.navy .sh .sub{color:var(--soft)}

/* ── направления: карточки-арки ─────────────────── */
.dirs{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.dirs a{display:block;padding:var(--s4);background:var(--paper);border:1px solid var(--line);
  border-radius:120px 120px var(--r2) var(--r2);transition:.25s;text-align:center}
.dirs a:hover{border-color:var(--lil);transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(36,26,51,.10)}
.dirs .ic{margin:0 auto var(--s2);color:var(--lil)}
.dirs h3{margin-bottom:var(--s1);font-size:var(--f2)}
.dirs p{color:var(--mu);font-size:15.5px;margin:0 auto;max-width:30ch}
.dirs .go{display:inline-block;margin-top:var(--s3);font:600 var(--f-1)/1 var(--body);
  letter-spacing:.1em;text-transform:uppercase;color:var(--lil-t)}

/* ── три факта ──────────────────────────────────── */
.f3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.f3 h3{font-size:var(--f4);margin-bottom:4px}
.f3 .st{font:600 var(--f-1)/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--soft);margin-bottom:var(--s2)}
.f3 p{font-size:15.5px;color:#D6CDE6}

/* ── списки с галочкой ──────────────────────────── */
.gl{list-style:none;padding:0;margin:0}
.gl li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.gl li:last-child{border-bottom:0}
.gl svg{flex:0 0 18px;margin-top:5px;color:var(--lil)}

/* ── шаги приёма ────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-top:var(--s4)}
.steps > div{padding:var(--s4) var(--s3);background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r2)}
.steps .n{font-family:var(--disp);font-size:var(--f3);color:var(--lil);line-height:1;
  margin-bottom:var(--s2)}
.steps h3{font-size:var(--f1);margin-bottom:var(--s1)}
.steps p{font-size:15.5px;color:var(--mu);margin:0}

/* ── цены ───────────────────────────────────────── */
.pr{display:grid;gap:var(--s2)}
.pr > div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);
  padding:var(--s3) var(--s4);background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r2)}
.pr .nm{font-family:var(--disp);font-size:var(--f2);color:var(--ink)}
.pr .nm small{display:block;font:400 14px/1.5 var(--body);color:var(--mu);margin-top:4px}
.pr .vl{font:700 var(--f2)/1 var(--body);color:var(--lil-t);white-space:nowrap}

/* ── карточка врача ─────────────────────────────── */
.doc{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s5);align-items:center}
.doc img{border-radius:200px 200px var(--r2) var(--r2);box-shadow:0 20px 50px rgba(36,26,51,.14)}
.doc .cap .n{font-family:var(--disp);font-size:var(--f3);color:var(--ink);line-height:1.15}
.doc .cap .n span{display:block;font-size:var(--f2);color:var(--lil-t)}
.doc .cap .d{font-size:15px;color:var(--mu);margin-top:var(--s1)}

/* ── статья ─────────────────────────────────────── */
.art{max-width:var(--prose)}
.art h2{margin-top:var(--s4)}
.art ul{padding-left:1.1em}
.art li{margin-bottom:.5em}
.art blockquote{margin:var(--s4) 0;padding:var(--s3) var(--s4);background:var(--mist);
  border-radius:var(--r2) var(--r2) var(--r2) 4px;border:0}
.art blockquote p{margin:0;font-family:var(--disp);font-size:var(--f1);color:var(--ink)}
.back{display:inline-block;margin-bottom:var(--s3);font-size:15px;color:var(--lil-t)}
details{border-bottom:1px solid var(--line);padding:var(--s2) 0}
summary{cursor:pointer;font-family:var(--disp);font-size:var(--f1);color:var(--ink);
  list-style:none;padding-right:var(--s3);position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:0;top:-2px;color:var(--lil);font-size:var(--f1)}
details[open] summary:after{content:"–"}
details .a{padding-top:var(--s2)}
details .a p{margin:0;color:var(--mu)}

/* ── форма записи ───────────────────────────────── */
.fw{max-width:640px;margin:0 auto}
.fcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r2);padding:var(--s4)}
.fl{display:block;margin-bottom:var(--s3)}
.fl .k{display:block;font:500 var(--f-1)/1.4 var(--body);letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft);margin-bottom:var(--s1)}
.fl input,.fl textarea{width:100%;padding:14px var(--s2);border-radius:var(--r1);
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;
  font:400 var(--f0)/1.5 var(--body)}
.fl input:focus,.fl textarea:focus{outline:2px solid var(--soft);outline-offset:2px}
.cons{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:#D6CDE6;
  margin-bottom:var(--s3)}
.cons input{margin-top:4px;accent-color:var(--soft)}
.cons a{color:var(--soft);text-decoration:underline}
.okmsg{display:none;text-align:center;color:#fff}
.okmsg a{color:var(--soft)}
.wm{display:none}

/* ── дисклеймер и подвал ────────────────────────── */
.disc{background:var(--mist);padding:var(--s4) 0;text-align:center}
.disc .big{font-family:var(--disp);font-size:var(--f2);color:var(--ink);margin:0 auto var(--s2);
  max-width:none}
.disc .s{font-size:14px;color:var(--mu);max-width:78ch;margin:0 auto}
footer{background:var(--ink);color:#CFC6DE;padding:var(--s5) 0 var(--s4)}
.fg{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s4)}
.fg .bf{font-family:var(--disp);font-size:var(--f2);color:#fff;line-height:1.2;
  margin-bottom:var(--s2)}
.fg p{font-size:15px;max-width:none}
footer a{color:#CFC6DE}
footer a:hover{color:#fff}
.fg nav{display:flex;flex-direction:column;gap:10px;font-size:15px}
footer .s{font-size:13px;color:#9C92AE;margin-top:var(--s3)}

/* ── появление при прокрутке ────────────────────── */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ── адаптив ────────────────────────────────────── */
@media (max-width:1000px){
  .hero .in{grid-template-columns:1fr;gap:var(--s4)}
  .arch{justify-self:center;order:-1;width:min(340px,86%)}
  .kv{max-width:none}
  .doc{grid-template-columns:1fr;gap:var(--s3)}
  .f3,.steps{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr;gap:var(--s3)}
  .tb .addr{display:none}
  .mn{display:none;flex-direction:column;gap:var(--s2);width:100%;padding:var(--s2) 0}
  .mn.open{display:flex}
  .burger{display:block}
  .navrow{justify-content:flex-start;min-height:44px}
}
@media (max-width:760px){
  .sect{padding:var(--s5) 0}
  .dirs{grid-template-columns:1fr}
  .tb .ph{display:none}
  .pr > div{flex-direction:column;gap:var(--s1)}
  .hero .cta{flex-direction:column}
  .hero .cta .btn{width:100%}
}

/* ── версия для слабовидящих ────────────────────── */
html.bvi{--bvi-bg:#fff;--bvi-fg:#000}
html.bvi[data-scheme="b"]{--bvi-bg:#000;--bvi-fg:#fff}
html.bvi[data-scheme="c"]{--bvi-bg:#9DD1FF;--bvi-fg:#063462}
html.bvi body,
html.bvi body *:not(#bvibar):not(#bvibar *){
  background-color:var(--bvi-bg)!important; background-image:none!important;
  color:var(--bvi-fg)!important; border-color:var(--bvi-fg)!important;
  box-shadow:none!important; -webkit-text-fill-color:var(--bvi-fg)!important;}
html.bvi .btn,html.bvi .dirs a,html.bvi .steps > div,html.bvi .pr > div,
html.bvi .fcard,html.bvi .kv{border:2px solid var(--bvi-fg)!important}
html.bvi[data-fs="l"] body{font-size:20px}
html.bvi[data-fs="xl"] body{font-size:24px}
html.bvi[data-noimg="1"] img,html.bvi[data-noimg="1"] .arch{display:none!important}
#bvibar{position:sticky;top:0;z-index:100;background:#000;color:#fff;
  padding:10px var(--s3);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;
  font:500 14px/1 var(--body)}
#bvibar button{background:#000;color:#fff;border:1px solid #fff;border-radius:var(--r1);
  padding:8px 14px;cursor:pointer;font:inherit}
#bvibar button[aria-pressed="true"]{background:#fff;color:#000}
