:root{
  --ink:#0D0908;
  --ink-2:#17100E;
  --indigo:#141F33;
  --paper:#F0E7D8;
  --paper-2:#E3D6BF;
  --vermilion:#C2181F;
  --vermilion-deep:#8C1015;
  --gold:#EFB13A;
  --gold-dim:#A97B31;
  --jade:#35604F;
  --serif:"Alegreya", Georgia, serif;
  --sans:"Alegreya Sans", "Trebuchet MS", sans-serif;
  --measure:64ch;
}
body.zh{ --serif:"Noto Serif SC", "Alegreya", serif; --sans:"Noto Sans SC", "Alegreya Sans", sans-serif; }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }

body{
  margin:0; background:var(--ink); color:var(--paper);
  font-family:var(--sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--serif); font-weight:500; line-height:1.15; margin:0}
h1{font-size:clamp(2.4rem,6vw,4.1rem); letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,4vw,2.9rem)}
h3{font-size:1.35rem}
p{margin:0 0 1rem; max-width:var(--measure)}
a{color:inherit}
img{max-width:100%; display:block}

.wrap{width:min(1180px,92vw); margin-inline:auto}
section{padding:clamp(64px,9vw,120px) 0}
.light{background:var(--paper); color:#241812}
.light h2,.light h3{color:#1B0F0C}
.deep{background:var(--indigo)}

/* ---------- header ---------- */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(13,9,8,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(239,177,58,.22);
}
.bar{display:flex; align-items:center; gap:20px; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto}
.brand img{width:44px; height:44px; border-radius:50%}
.brand b{font-family:var(--serif); font-weight:500; font-size:1.05rem; letter-spacing:.01em; display:block}
.brand span{font-size:.78rem; color:var(--gold-dim); display:block; line-height:1.2}
nav{display:flex; gap:26px}
nav a{text-decoration:none; font-size:.97rem; color:#E4D9C6; padding:4px 0; border-bottom:1px solid transparent}
nav a:hover,nav a:focus-visible{border-bottom-color:var(--gold)}

.lang{display:flex; border:1px solid rgba(239,177,58,.45); border-radius:2px; overflow:hidden}
.lang button{
  background:none; border:0; color:#D9CDBA; font:inherit; font-size:.88rem;
  padding:5px 11px; cursor:pointer;
}
.lang button[aria-pressed="true"]{background:var(--gold); color:#1B0F0C}

.btn{
  display:inline-block; text-decoration:none; font-family:var(--sans); font-size:.98rem;
  padding:12px 26px; border-radius:2px; cursor:pointer; border:1px solid var(--gold);
  background:var(--gold); color:#1B0F0C; transition:background .18s, color .18s;
}
.btn:hover{background:#F7C55F}
.btn.ghost{background:transparent; color:var(--gold)}
.btn.ghost:hover{background:rgba(239,177,58,.14)}
.btn.small{padding:8px 18px; font-size:.9rem}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px}

.menu-toggle{display:none; background:none;border:1px solid rgba(239,177,58,.45);color:var(--gold);font:inherit;padding:6px 12px;border-radius:2px;cursor:pointer}

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden; text-align:center;
  padding:clamp(56px,8vw,96px) 0 0;
  background:
    radial-gradient(120% 78% at 50% 0%, rgba(194,24,31,.30) 0%, rgba(13,9,8,0) 62%),
    radial-gradient(70% 50% at 50% 12%, rgba(239,177,58,.18) 0%, rgba(13,9,8,0) 70%);
}
.mark{position:relative; width:clamp(180px,26vw,250px); margin:0 auto 30px}
.mark img{width:100%; border-radius:50%}
.mark svg{position:absolute; inset:-16px; width:calc(100% + 32px); height:calc(100% + 32px)}
.mark circle{fill:none; stroke:var(--gold); stroke-width:1.2; opacity:.55;
  stroke-dasharray:760; stroke-dashoffset:760; animation:draw 2.2s .2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){ .mark circle{stroke-dashoffset:0} }

.tib{font-size:1.5rem; color:var(--gold); letter-spacing:.06em; margin:0 auto 14px}
.hero h1{margin:0 auto 18px; max-width:16ch}
.hero .lead{margin:0 auto 30px; max-width:52ch; color:#DCCFBB; font-size:1.1rem}
.cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; padding-bottom:clamp(48px,7vw,80px)}
.ridge{display:block; width:100%; height:auto; margin-bottom:-1px}

/* ---------- garland divider ---------- */
.garland{width:100%; height:52px; display:block}

/* ---------- intro strip ---------- */
.strip{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-block:1px solid rgba(239,177,58,.28)}
.strip div{padding:26px 28px; border-left:1px solid rgba(239,177,58,.28)}
.strip div:first-child{border-left:0}
.strip b{font-family:var(--serif); font-size:1.6rem; color:var(--gold); display:block; font-weight:500}
.strip span{font-size:.95rem; color:#CFC2AE}

/* ---------- меню услуг ---------- */
#masters .sec-head,#passes .sec-head,#medicine .sec-head{margin-bottom:26px}
.block-sub{font-family:var(--sans); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--vermilion-deep); margin:clamp(30px,4vw,44px) 0 14px}
.people.docs{grid-template-columns:repeat(3,1fr)}
.people.spa{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){ .people.docs,.people.spa{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .people.docs,.people.spa{grid-template-columns:1fr} }
.sec-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:38px}
.sec-head p{margin:0; color:#5C4A3E; max-width:46ch}
.light .sec-head p{color:#6A554A}

.menu-list{border-top:1px solid rgba(36,24,18,.22)}
.row{
  display:grid; grid-template-columns:1.05fr 1.5fr auto; gap:18px 28px; align-items:baseline;
  padding:22px 4px; border-bottom:1px solid rgba(36,24,18,.22);
}
.row:hover{background:rgba(194,24,31,.05)}
.row h3{font-size:1.28rem}
.row .zhname{display:block; font-size:.9rem; color:#8A6F5E; font-family:var(--sans); margin-top:3px}
.row p{margin:0; font-size:.98rem; color:#4E3C31}
.row .price{text-align:right; white-space:nowrap; font-family:var(--serif); font-size:1.2rem; color:var(--vermilion-deep)}
.row .price small{display:block; font-family:var(--sans); font-size:.82rem; color:#8A6F5E}

/* ---------- masters ---------- */
.people{display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(36,24,18,.18); border:1px solid rgba(36,24,18,.18)}
.person{background:var(--paper); padding:22px 20px}
.mono{
  width:64px; height:64px; margin-bottom:12px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--serif); font-size:1.5rem; color:var(--paper);
  background:radial-gradient(circle at 32% 28%, var(--vermilion) 0%, var(--vermilion-deep) 100%);
  border:1px solid rgba(239,177,58,.6);
}
.person .photo{
  width:64px; height:64px; margin-bottom:12px; display:block; border-radius:50%; object-fit:cover;
  border:1px solid rgba(239,177,58,.6); background:var(--paper-2);
}
/* портреты на белом фоне: белое сливается с тёплым фоном страницы,
   чтобы они не выбивались рядом с фотографией, снятой в интерьере */
.person .photo.cutout{mix-blend-mode:multiply}
.person h3{font-size:1.08rem}
.person .role{font-size:.86rem; color:#8A6F5E; margin:2px 0 7px}
.person p{font-size:.92rem; margin:0; color:#4E3C31}

/* раскрывающееся описание мастера */
.more{margin-top:11px}
.more summary{
  cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:8px;
  font-size:.9rem; color:var(--vermilion-deep);
  border-bottom:1px solid rgba(194,24,31,.4); padding-bottom:2px;
}
.more summary::-webkit-details-marker{display:none}
.more summary::after{
  content:""; width:6px; height:6px; margin-top:-3px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .2s;
}
.more[open] summary::after{transform:rotate(-135deg); margin-top:1px}
.more summary:hover{color:var(--vermilion); border-bottom-color:var(--vermilion)}
.more > p{margin-top:13px}
.more-sub{font-family:var(--sans); font-size:.76rem !important; letter-spacing:.14em;
  text-transform:uppercase; color:#8A6F5E !important; margin-top:15px !important}
.more ul{list-style:none; padding:0; margin:9px 0 0; display:grid; gap:6px;
  font-size:.92rem; color:#4E3C31}
.more ul li{position:relative; padding-left:17px}
.more ul li::before{content:"·"; position:absolute; left:4px; color:var(--vermilion); font-size:1.3rem; line-height:1}
.person-link{display:inline-block; margin-top:11px; font-size:.9rem; color:var(--vermilion-deep);
  text-decoration:none; border-bottom:1px solid rgba(194,24,31,.4)}
.person-link:hover{color:var(--vermilion); border-bottom-color:var(--vermilion)}
@media (max-width:1100px){ .people{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .people{grid-template-columns:1fr} }

/* ---------- passes ---------- */
.passes{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1px; background:rgba(239,177,58,.25); border:1px solid rgba(239,177,58,.25)}
.pass{background:var(--indigo); padding:22px 22px}
.pass.feat{background:linear-gradient(180deg, rgba(194,24,31,.28), rgba(20,31,51,1) 70%)}
.pass h3{color:var(--gold); margin-bottom:4px; font-size:1.12rem}
.pass .amount{font-family:var(--serif); font-size:1.75rem; display:block; margin:7px 0 3px}
.pass ul{list-style:none; margin:13px 0 0; padding:0; font-size:.92rem; color:#C9BCA8}
.pass li{padding:5px 0 5px 19px; position:relative}
.pass li::before{content:"·"; position:absolute; left:6px; color:var(--gold); font-size:1.4rem; line-height:1}

/* ---------- фотогалерея салона ---------- */
.gallery{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:clamp(86px,8.6vw,108px); gap:10px}
.gallery figure{margin:0; position:relative; overflow:hidden; background:var(--ink-2)}
.gallery img{width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.gallery figure:hover img{transform:scale(1.045)}
.gallery figure::after{content:""; position:absolute; inset:0; pointer-events:none;
  border:1px solid rgba(239,177,58,.3)}
.g-wide{grid-column:span 2; grid-row:span 2}
.g-tall{grid-column:span 1; grid-row:span 2}
.g-note{margin-top:10px; display:flex; align-items:center; justify-content:space-between;
  gap:clamp(16px,3vw,32px); flex-wrap:wrap; padding:16px clamp(18px,2.4vw,28px);
  border:1px solid rgba(239,177,58,.3); background:rgba(239,177,58,.05)}
.g-note h3{color:var(--gold); margin:0 0 4px; font-size:1.1rem}
.g-note p{margin:0; color:#CFC2AE; font-size:.95rem; max-width:62ch}
.g-note .btn{flex-shrink:0}
@media (max-width:900px){
  .gallery{grid-template-columns:repeat(2,1fr); grid-auto-rows:96px}
  .g-wide{grid-column:span 2}
}
@media (max-width:560px){
  .gallery{grid-template-columns:1fr; grid-auto-rows:150px}
  .g-wide,.g-tall{grid-column:span 1; grid-row:span 1}
}

/* ---------- вводный абзац вкладки и примечание ---------- */
.panel-lead{margin:0; padding:20px 4px; color:#4E3C31; max-width:80ch; font-size:.98rem;
  border-bottom:1px solid rgba(36,24,18,.22)}
.proc-photo{display:block; width:100%; max-width:420px; height:auto; margin:14px 0 4px;
  border:1px solid rgba(36,24,18,.22)}
.med-note{font-size:.84rem; color:#7A6353; margin:18px 4px 0; font-style:italic}
.info-acc{display:grid; gap:0; margin-top:4px}
.info-acc .more{margin:0; padding:16px 4px; border-bottom:1px solid rgba(36,24,18,.22)}
.info-acc .more:last-child{border-bottom:0}
.info-acc .more summary{font-size:.98rem}
.info-acc .more > p{color:#4E3C31; font-size:.95rem; max-width:72ch}
.info-acc .more ul{max-width:72ch}

/* ---------- вкладки прейскуранта ---------- */
.menu-tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(22px,3vw,34px)}
.menu-tabs button{
  font:inherit; font-family:var(--sans); font-size:.86rem; letter-spacing:.1em; text-transform:uppercase;
  padding:11px 20px; cursor:pointer; color:#6A554A; background:transparent;
  border:1px solid rgba(36,24,18,.24); transition:color .2s, border-color .2s, background .2s;
}
.menu-tabs button:hover{border-color:var(--vermilion); color:var(--vermilion-deep)}
.menu-tabs button[aria-selected="true"]{
  background:var(--vermilion-deep); border-color:var(--vermilion-deep); color:var(--paper);
}
.menu-panel{border-top:1px solid rgba(36,24,18,.22)}
.menu-panel[hidden]{display:none}
@media (max-width:560px){
  .menu-tabs{gap:6px}
  .menu-tabs button{padding:9px 14px; font-size:.78rem; letter-spacing:.06em}
}

/* пометки у отдельных услуг */
.tag{display:inline-block; font-family:var(--sans); font-size:.71rem; letter-spacing:.1em;
  text-transform:uppercase; padding:3px 9px; margin-top:8px; white-space:nowrap;
  border:1px solid rgba(194,24,31,.45); color:var(--vermilion-deep)}
.tag.gold{border-color:rgba(169,123,49,.65); color:var(--gold-dim)}

/* варианты внутри одной услуги */
.opts{list-style:none; margin:12px 0 0; padding:0; font-size:.92rem; color:#6A554A; display:grid; gap:7px; max-width:36ch}
.opts li{display:flex; justify-content:space-between; gap:16px; border-bottom:1px dotted rgba(36,24,18,.3); padding-bottom:6px}
.opts b{font-family:var(--serif); font-weight:500; color:var(--vermilion-deep); white-space:nowrap}

/* вторая цена в той же строке */
.price .alt{display:block; margin-top:11px; padding-top:9px; font-size:1.1rem;
  border-top:1px dotted rgba(36,24,18,.32)}

/* абонементы: цена за сеанс и условия */
.pass .per{display:block; font-family:var(--serif); font-size:.98rem; color:var(--gold); margin-bottom:6px}

/* быстрая запись и подсказка цены */
.quick{display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin:20px 0 28px; padding:16px 18px;
  background:rgba(194,24,31,.06); border:1px solid rgba(194,24,31,.22)}
.quick .lbl{font-size:.93rem; color:#6A554A; margin-right:auto; max-width:30ch}
.quick a{font-family:var(--serif); font-size:1.15rem; color:var(--vermilion-deep); text-decoration:none; white-space:nowrap}
.quick a:hover{text-decoration:underline}
.btn.alt{background:transparent; color:var(--vermilion-deep); border:1px solid rgba(194,24,31,.5)}
.btn.alt:hover{background:rgba(194,24,31,.08)}

/* ---------- подарок на день рождения ---------- */
.gift{background:linear-gradient(135deg, var(--vermilion) 0%, var(--vermilion-deep) 100%);
  color:#F6EEE0; padding:clamp(36px,5vw,58px) 0}
.gift .in{display:flex; align-items:center; justify-content:space-between; gap:clamp(24px,4vw,56px); flex-wrap:wrap}
.gift .txt{max-width:56ch}
.gift .kicker{display:inline-block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); border:1px solid rgba(239,177,58,.55); padding:5px 12px; margin-bottom:14px}
.gift h2{color:#FFF4E2; margin:0 0 10px}
.gift p{margin:0; color:#F2DCD5; font-size:1rem}
.gift .offer{text-align:center; flex-shrink:0}
.gift .offer b{display:block; font-family:var(--serif); font-weight:500;
  font-size:clamp(2.3rem,5vw,3.1rem); color:var(--gold); line-height:1}
.gift .offer span{display:block; font-size:.9rem; color:#EDD6CE; margin-top:6px}
.gift .offer .btn{margin-top:18px}

/* ---------- booking ---------- */
.note{font-size:.88rem; color:#7A6353; margin-top:12px}
.book-card{display:grid; grid-template-columns:1fr auto; gap:clamp(26px,4vw,56px); align-items:center;
  padding:clamp(26px,3.4vw,42px); border:1px solid rgba(194,24,31,.28); background:rgba(194,24,31,.05)}
.book-card h2{margin:0 0 12px}
.book-text > p{margin:0 0 16px; color:#5C4A3E; max-width:46ch}
.c-links{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.c-links a,.c-links .id{display:inline-flex; align-items:center; gap:9px; padding:10px 16px;
  border:1px solid rgba(36,24,18,.26); background:#FBF6EC; color:#241812;
  text-decoration:none; font-size:.95rem; transition:border-color .2s, background .2s}
.c-links a:hover{border-color:var(--vermilion); background:rgba(194,24,31,.07)}
.c-links .id{color:#6A554A; background:transparent; border-style:dashed}
.c-links svg{width:18px; height:18px; flex:0 0 18px}
.foot-links{margin-top:10px !important; display:flex; flex-wrap:wrap; gap:8px 16px}
.foot-links a{color:#C9BCA8; text-decoration:none; border-bottom:1px solid rgba(239,177,58,.35)}
.foot-links a:hover{color:var(--gold)}
.foot-links span{color:#9B8C79}
.book-cta{text-align:center; flex-shrink:0}
.book-cta .btn{font-size:1.05rem; padding:15px 32px}
.book-cta .note{display:block; margin-top:10px; max-width:20ch; margin-inline:auto}
@media (max-width:780px){
  .book-card{grid-template-columns:1fr}
  .book-cta{text-align:left}
  .book-cta .note{margin-inline:0}
}

#book .info{margin-top:clamp(44px,6vw,68px); padding-top:clamp(28px,4vw,40px);
  border-top:1px solid rgba(36,24,18,.22)}
#book .info dl{max-width:640px}

.info dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:14px 22px; font-size:1rem}
.info dt{color:#8A6F5E; font-size:.92rem}
.info dd{margin:0}
.info a{color:var(--vermilion-deep)}

/* ---------- footer ---------- */
/* только подвал страницы: без body> правило красило любой <footer>,
   в том числе подписи внутри карточек отзывов */
body > footer{background:var(--ink-2); padding:56px 0 40px; border-top:1px solid rgba(239,177,58,.22)}
.foot{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; align-items:flex-start}
.foot p{color:#9B8C79; font-size:.92rem; margin:0}
.foot nav{flex-direction:column; gap:10px}
.foot a{color:#C9BCA8; font-size:.94rem}
.copy{margin-top:40px; padding-top:20px; border-top:1px solid rgba(239,177,58,.15); font-size:.85rem; color:#7C6E5D; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

@media (max-width:900px){
  .row{grid-template-columns:1fr auto}
  .row > p, .row > .desc{grid-column:1 / -1; margin-top:-4px}
  .strip{grid-template-columns:1fr}
  .strip div{border-left:0; border-top:1px solid rgba(239,177,58,.28)}
  .strip div:first-child{border-top:0}
}
@media (max-width:780px){
  nav{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0;
    background:var(--ink-2); border-bottom:1px solid rgba(239,177,58,.25); padding:8px 4vw 16px;
  }
  nav.open{display:flex}
  nav a{padding:12px 0; border-bottom:1px solid rgba(239,177,58,.12)}
  .menu-toggle{display:block; order:3}
  header .btn.small{display:none}
  .foot nav{display:flex; position:static; background:none; border:0; padding:0}
}

/* ---------- многостраничность ---------- */
/* активный пункт меню */
nav a.on{color:var(--gold); border-bottom-color:var(--gold)}

/* шапка внутренней страницы вместо большого первого экрана */
.page-head{padding:clamp(38px,5.5vw,72px) 0 clamp(34px,4.5vw,56px)}
.ph-kicker{display:block; font-family:var(--sans); font-size:.78rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold-dim)}
.page-head h1{margin:8px 0 12px; font-size:clamp(1.9rem,4.2vw,2.9rem)}
.page-head p{margin:0; color:#C4B6A2; max-width:58ch}

/* две карточки направлений на главной */
.dirs{display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.4vw,30px)}
.dir{display:flex; flex-direction:column; text-decoration:none; color:inherit; overflow:hidden;
  border:1px solid rgba(36,24,18,.22); background:#FBF6EC;
  transition:border-color .25s, transform .25s, box-shadow .25s}
.dir:hover{border-color:var(--vermilion); transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(36,24,18,.10)}
.dir > img{width:100%; height:clamp(150px,16vw,210px); object-fit:cover; display:block}
.dir-body{padding:clamp(20px,2.3vw,28px); display:flex; flex-direction:column; flex:1}
.dir-kicker{font-family:var(--sans); font-size:.75rem; letter-spacing:.16em;
  text-transform:uppercase; color:#8A6F5E}
.dir h2{margin:7px 0 10px; font-size:clamp(1.5rem,2.6vw,2rem)}
.dir-body > p{margin:0 0 14px; color:#4E3C31; font-size:.97rem}
.dir-list{list-style:none; margin:0 0 18px; padding:0; display:grid; gap:6px;
  font-size:.93rem; color:#6A554A}
.dir-list li{position:relative; padding-left:17px}
.dir-list li::before{content:"·"; position:absolute; left:4px; color:var(--vermilion);
  font-size:1.3rem; line-height:1}
.dir-go{margin-top:auto; align-self:flex-start; font-size:.95rem; color:var(--vermilion-deep);
  border-bottom:1px solid rgba(194,24,31,.4); padding-bottom:2px}
.dir:hover .dir-go{color:var(--vermilion); border-bottom-color:var(--vermilion)}
@media (max-width:760px){ .dirs{grid-template-columns:1fr} }

/* страница лечения — сдержаннее, без праздничных гирлянд */
body.clinic [data-garland]{display:none}

/* фотография-заставка в шапке внутренней страницы */
.page-head.has-bg{position:relative; overflow:hidden}
.page-head.has-bg > .wrap{position:relative; z-index:2}
.page-head.has-bg::before{content:""; position:absolute; inset:0; z-index:0;
  background-image:var(--bg); background-size:cover; background-position:var(--bgpos,center)}
.page-head.has-bg::after{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, var(--indigo) 30%, rgba(20,31,51,.82) 62%, rgba(20,31,51,.55) 100%)}
@media (max-width:700px){
  .page-head.has-bg::after{background:linear-gradient(180deg, rgba(20,31,51,.86), rgba(20,31,51,.94))}
}

/* ---------- страница китайской медицины ---------- */
/* две колонки: текст и плашки с фактами */
.med2{display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(24px,4vw,56px); align-items:start}
.med2 > div > p{margin:0 0 15px; color:#4E3C31; max-width:62ch}
.facts{display:grid; gap:11px}
.fact{border:1px solid rgba(36,24,18,.2); background:#FBF6EC; padding:15px 18px}
.fact b{display:block; font-family:var(--serif); font-weight:500; font-size:1.45rem;
  color:var(--vermilion-deep); margin-bottom:3px}
.fact span{font-size:.9rem; color:#6A554A}

/* показания — четыре колонки на синем */
.ind-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,3vw,38px)}
.ind-col h3{font-family:var(--sans); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin:0 0 12px; padding-bottom:9px; border-bottom:1px solid rgba(239,177,58,.3)}
.ind-col ul{list-style:none; margin:0; padding:0; display:grid; gap:9px;
  font-size:.94rem; color:#C9BCA8}

/* иглонож: фотография и описание */
.iglo{display:grid; grid-template-columns:minmax(0,400px) 1fr; gap:clamp(24px,4vw,52px); align-items:start}
.iglo > img{width:100%; height:auto; display:block; border:1px solid rgba(239,177,58,.3)}
.iglo p{color:#C9BCA8; margin:0 0 14px; max-width:62ch}
.iglo-list{list-style:none; margin:0 0 16px; padding:0; display:grid; gap:8px;
  font-size:.95rem; color:#D8CBB6}
.iglo-list li{position:relative; padding-left:20px}
.iglo-list li::before{content:"✓"; position:absolute; left:0; color:var(--gold); font-size:.85rem; top:2px}
.iglo-warn{font-size:.9rem !important; color:#B7A891 !important; font-style:italic;
  border-left:2px solid rgba(239,177,58,.4); padding-left:14px; margin-bottom:16px !important}

/* раскрывающийся блок на тёмном фоне */
.more.dark summary{color:var(--gold); border-bottom-color:rgba(239,177,58,.45)}
.more.dark summary:hover{color:#F7C55F; border-bottom-color:#F7C55F}
.more.dark ul{color:#C9BCA8}
.more.dark ul li::before{color:var(--gold)}
.more.dark > p{color:#C9BCA8}

@media (max-width:1000px){ .ind-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:820px){ .med2,.iglo{grid-template-columns:1fr} .iglo > img{max-width:420px} }
@media (max-width:560px){ .ind-grid{grid-template-columns:1fr} }

/* ---------- возврат к разводящей странице ---------- */
.back-link{display:inline-block; margin-bottom:12px; font-size:.9rem; color:#A2937E;
  text-decoration:none; border-bottom:1px solid rgba(162,147,126,.35); padding-bottom:2px}
.back-link:hover{color:var(--gold); border-bottom-color:var(--gold)}

.pager-band{background:var(--paper-2)}
.pager{display:flex; align-items:center; justify-content:space-between; gap:20px;
  flex-wrap:wrap; padding:18px 0}
.pager a{text-decoration:none; font-size:.98rem; color:#4E3C31;
  border-bottom:1px solid rgba(36,24,18,.3); padding-bottom:2px}
.pager a:hover{color:var(--vermilion-deep); border-bottom-color:var(--vermilion)}
.pager .pager-next{font-family:var(--serif); font-size:1.08rem; color:var(--vermilion-deep)}


/* ---------- этапы лечения ---------- */
.steps4{list-style:none; margin:0; padding:0; counter-reset:st;
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.6vw,34px)}
.steps4 li{counter-increment:st; position:relative; padding-top:44px}
.steps4 li::before{content:counter(st); position:absolute; top:0; left:0;
  width:34px; height:34px; border:1px solid var(--gold); border-radius:50%;
  display:grid; place-items:center; font-family:var(--serif); color:var(--gold); font-size:1rem}
.steps4 b{display:block; color:var(--paper); font-family:var(--serif); font-weight:500;
  font-size:1.12rem; margin-bottom:7px}
.steps4 p{margin:0; color:#C4B6A2; font-size:.94rem}

/* ---------- почему к нам ---------- */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(36,24,18,.18); border:1px solid rgba(36,24,18,.18)}
.why{background:var(--paper); padding:22px 22px}
.why b{display:block; font-family:var(--serif); font-weight:500; font-size:1.1rem;
  color:var(--vermilion-deep); margin-bottom:6px}
.why p{margin:0; font-size:.93rem; color:#4E3C31}

/* ---------- вопросы и ответы ---------- */
.faq{border-top:1px solid rgba(36,24,18,.22)}
.faq .more{margin:0; padding:16px 4px; border-bottom:1px solid rgba(36,24,18,.22)}
.faq .more summary{font-size:1.02rem}
.faq .more > p{margin-top:12px; color:#4E3C31; max-width:74ch}

@media (max-width:900px){ .steps4{grid-template-columns:repeat(2,1fr)} .why-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .steps4,.why-grid{grid-template-columns:1fr} }


/* ---------- отзывы ---------- */
/* minmax(0,…) обязателен: иначе колонка не сжимается ниже своего
   содержимого и лента отзывов растягивает страницу по горизонтали */
.rev-wrap{display:grid; grid-template-columns:minmax(0,220px) minmax(0,1fr);
  gap:clamp(20px,3vw,44px); align-items:start}

.rev-score{padding:22px 24px; background:var(--paper-2); border:1px solid rgba(36,24,18,.18)}
.rev-score b{display:block; font-family:var(--serif); font-weight:500; line-height:1;
  font-size:3.4rem; color:var(--vermilion-deep)}
.rev-stars{display:block; margin:8px 0 10px; color:var(--gold); font-size:1.15rem; letter-spacing:.12em}
.rev-cnt{display:block; font-size:.9rem; color:#6A554A; margin-bottom:14px}
.rev-score a{font-size:.95rem; color:var(--vermilion-deep); text-decoration:none;
  border-bottom:1px solid rgba(194,24,31,.4); padding-bottom:2px}
.rev-score a:hover{color:var(--vermilion); border-bottom-color:var(--vermilion)}

.rev-strip{display:flex; gap:16px; overflow-x:auto; min-width:0; padding:0 0 14px;
  scroll-snap-type:x mandatory; scrollbar-width:thin}
.rev-strip::-webkit-scrollbar{height:6px}
.rev-strip::-webkit-scrollbar-thumb{background:rgba(36,24,18,.25); border-radius:3px}
.rev-strip::-webkit-scrollbar-track{background:rgba(36,24,18,.06)}

.rev{flex:0 0 clamp(248px,25vw,300px); scroll-snap-align:start; margin:0;
  padding:4px 0 0 20px; border-left:2px solid rgba(239,177,58,.7);
  display:flex; flex-direction:column}
.rev p{margin:0 0 15px; font-size:.95rem; line-height:1.62; color:#3E2F26;
  font-family:var(--serif)}
.rev cite{margin-top:auto; font-style:normal; display:flex; align-items:baseline; gap:9px}
.rev cite b{font-weight:500; color:#241812; font-size:.95rem}
.rev cite span{font-size:.83rem; color:#8A6F5E}

@media (max-width:820px){
  .rev-wrap{grid-template-columns:minmax(0,1fr)}
  .rev-score{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; padding:16px 18px}
  .rev-score b{font-size:2.4rem}
  .rev-stars,.rev-cnt{margin:0}
}
