/* doctor-zharkova.ru — тема c11 «Светлый», палитра «Белый + глина».
   Источник — концепт https://sites.sntqnbuy.uk/zharkova/concepts/c11/ (zharkova-site/concepts), здесь — без переключателя палитр.
   Ниже концепта — внутренние страницы, тексты из редактора CMS, плеер, окна, панели редактора. Цвета — только токены :root. */
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope/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(../fonts/manrope/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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* палитра «Белый + глина» (выбрана 2026-11-01) */
  --bg:#F7F5F2;--bg-2:#FFFFFF;--bg-3:#EFECE7;--bg-deep:#EDEAE5;
  --text:#141414;--text-2:#5E5852;--text-3:#6B655F;--text-dim:#8C857E;
  --accent:#A54E2B;--accent-hover:#8F4223;--accent-ink:#A54E2B;--on-accent:#FFFFFF;--on-accent-2:#F6E3D8;--on-accent-fill:rgba(255,255,255,.16);
  --line:rgba(20,20,20,.1);--line-2:rgba(20,20,20,.16);--line-3:rgba(20,20,20,.28);--img-line:rgba(20,20,20,.08);
  --fill:rgba(20,20,20,.04);--fill-2:rgba(20,20,20,.07);
  --glass:rgba(247,245,242,.8);--glass-2:rgba(255,255,255,.74);--glass-line:rgba(255,255,255,.7);--glass-fab:rgba(255,255,255,.88);--glass-menu:#FFFFFF;
  --shadow:rgba(46,34,24,.16);--veil:rgba(237,234,229,.9);
  --error:#B3261E;
  --r:14px;--r-sm:10px;
  --wrap:1200px;--pad:40px;--gap:24px;
  --sec:clamp(88px,10vw,144px);
  --f:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg);color-scheme:light}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:lining-nums}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
svg{display:block;flex:none}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(var(--wrap),100% - 2*var(--pad));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}


/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid transparent;border-radius:999px;font:600 15px/1.2 var(--f);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--accent{background:var(--accent);color:var(--on-accent)}
.btn--accent:hover{background:var(--accent-hover)}
.btn--ghost{border-color:var(--line-2);color:var(--text)}
.btn--ghost:hover{border-color:var(--line-3);background:var(--fill)}
.btn--sm{min-height:42px;padding:0 18px;font-size:14px}
.go{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--line-2);border-radius:50%;color:var(--text);transition:background-color .25s,border-color .25s,color .25s}
.go svg{width:16px;height:16px;transition:transform .3s var(--ease)}

/* шапка */
.topbar{border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.3;color:var(--text-3)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:42px}
.topbar__contacts{display:flex;align-items:center;gap:28px}
.topbar a{display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.topbar a:hover{color:var(--text)}
.topbar svg{width:15px;height:15px}
.topbar__phone{color:var(--text);font-weight:600;letter-spacing:-.005em}
.hdr{position:sticky;top:0;z-index:50;background:var(--glass);-webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:20px;min-height:72px}
.logo{display:flex;flex-direction:column;gap:4px;flex:none}
.logo__sub{font-size:11.5px;line-height:1.2;color:var(--text-3);letter-spacing:.005em}
.logo__name{font-weight:600;font-size:20px;line-height:1.05;letter-spacing:-.035em}
.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:0}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:3px;height:40px;padding:0 8px;border:0;border-radius:999px;background:none;color:var(--text-2);font-size:14px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:color .2s,background-color .2s}
.nav__link svg{width:14px;height:14px;opacity:.6;transition:transform .25s var(--ease)}
.nav__link:hover,.nav__item.is-open>.nav__link,.nav__item:hover>.nav__link{color:var(--text);background:var(--fill)}
.nav__item.is-open>.nav__link svg,.nav__item:hover>.nav__link svg{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 12px);left:-6px;z-index:5;min-width:290px;padding:8px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--glass-menu);box-shadow:0 28px 64px -16px var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s var(--ease),visibility 0s .2s}
.drop::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav__item:hover>.drop,.nav__item.is-open>.drop,.nav__item:has(:focus-visible)>.drop{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nav__list .nav__item.is-shut>.drop{opacity:0;visibility:hidden}
.drop__head{padding:8px 12px 10px;font-size:12.5px;color:var(--text-3)}
.drop a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px;padding:0 12px;border-radius:var(--r-sm);font-size:14.5px;color:var(--text-2);transition:background-color .15s,color .15s}
.drop a svg{width:16px;height:16px;color:var(--accent-ink);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s var(--ease)}
.drop a:hover,.drop a:focus-visible{background:var(--fill);color:var(--text)}
.drop a:hover svg,.drop a:focus-visible svg{opacity:1;transform:none}
.hdr__cta{flex:none;padding:0 17px;font-size:13.5px}
.hdr__call,.burger{display:none}
.hdr__call{place-items:center;width:48px;height:48px;border:1px solid var(--line-2);border-radius:50%}
.hdr__call svg{width:20px;height:20px}
.burger{align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:none;cursor:pointer}
.burger span{position:relative;width:18px;height:8px}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span::before{top:0}
.burger span::after{top:6.5px}
.menu-open .burger span::before{top:3.25px;transform:rotate(45deg)}
.menu-open .burger span::after{top:3.25px;transform:rotate(-45deg)}

/* мобильное меню */
.drawer{position:fixed;left:0;right:0;bottom:0;top:60px;z-index:49;overflow-y:auto;overscroll-behavior:contain;padding:8px var(--pad) calc(32px + env(safe-area-inset-bottom));background:var(--bg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s}
.menu-open{overflow:hidden}
.menu-open .drawer{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.dnav>li{border-bottom:1px solid var(--line)}
.dnav__link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;font-size:20px;font-weight:500;letter-spacing:-.025em;list-style:none;cursor:pointer}
.dnav__link::-webkit-details-marker{display:none}
.dnav__link svg{width:20px;height:20px;color:var(--text-3);transition:transform .25s var(--ease)}
details[open]>.dnav__link svg{transform:rotate(180deg)}
.dnav__sub{padding:0 0 14px}
.dnav__sub a{display:flex;align-items:center;min-height:46px;font-size:16px;color:var(--text-2)}
.drawer__contacts{display:grid;gap:12px;margin-top:28px}
.drawer__phone{font-size:26px;font-weight:600;letter-spacing:-.03em}
.drawer__msg{display:grid;grid-template-columns:1fr;gap:10px}
.drawer__msg .btn{padding:0 12px;font-size:14px}
.drawer__msg svg{width:18px;height:18px}
.drawer__msg .btn:hover svg{transform:none}

/* первый экран: слайдер body_slide */
.hero{padding-top:48px}
.slider{position:relative}
.slides{display:grid}
.slide{grid-area:1/1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility 0s .8s}
.slide.is-active{opacity:1;visibility:visible;transition-delay:0s}
.slide__body{grid-column:1/7;padding:24px 0}
.slide__name{margin:0;font-weight:600;font-size:21px;line-height:1.3;letter-spacing:-.025em}
.slide__text{max-width:30em;margin-top:10px;font-size:17px;line-height:1.55;color:var(--text-2)}
.slide__phrase{margin-top:44px;padding-top:36px;border-top:1px solid var(--line);font-weight:500;font-size:clamp(44px,4.6vw,66px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.slide__phrase span{display:block;color:var(--text-dim)}
.slide__body .btn{margin-top:40px}
.slide__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.slide__btns .btn{margin-top:0}
.slide__btns .bi{width:22px;height:22px;margin-right:2px}
@media (max-width:760px){  /* телефон: две кнопки в ряд — третий слайд не выше первых двух (иначе под ними пустота: слайды равной высоты) */
  .slide__btns{flex-wrap:nowrap;gap:10px;margin-top:18px}
  .slide__body .slide__btns .btn{flex:1 1 0;min-width:0;width:auto;margin-top:0;justify-content:center;padding-inline:14px}
  .slide__long{display:none}
}
/* слайд 3: карточка канала (размер — от высоты окна слайда, container-type:size) */
.slide__media:has(.tgcard){display:grid;place-items:center}
.tgcard{position:relative;width:min(72cqw,56cqh,330px)}
.tgcard__card{position:relative;z-index:2;padding:12px;border:1px solid var(--line);border-radius:22px;background:var(--bg-2);box-shadow:0 30px 60px -32px var(--shadow)}
.tgcard__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.tgcard__ava{width:40px;height:40px;border-radius:50%;object-fit:cover}
.tgcard__who{display:grid;min-width:0;font-size:12.5px;line-height:1.3;color:var(--text-3)}
.tgcard__who b{font-size:15px;font-weight:600;color:var(--text)}
.tgcard__pair{display:flex;gap:4px;margin-left:auto}
.tgcard__pair .bi{width:22px;height:22px}
.tgcard__post{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--bg-3)}
.tgcard__txt{display:-webkit-box;margin:10px 2px 2px;overflow:hidden;font-size:13.5px;line-height:1.45;color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tgcard__bg{position:absolute;z-index:1;top:14%;width:58%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px -30px var(--shadow)}
.tgcard__bg--a{left:-36%;transform:rotate(-7deg)}
.tgcard__bg--b{right:-36%;top:34%;transform:rotate(6deg)}
/* общие правила картинок слайда (.slide__media img: 100%×100%, анимация) карточке канала не нужны */
.slide__media .tgcard img{height:auto;animation:none!important}
.slide__media .tgcard .tgcard__ava{width:40px;height:40px;flex:none}
.slide__media .tgcard .bi{width:22px;height:22px;flex:none}
.slide__media .tgcard .tgcard__post{width:100%;aspect-ratio:1}
.slide__media .tgcard .tgcard__bg{width:58%;aspect-ratio:1}
.slide__media:has(.tgcard){place-items:start center;padding-top:9cqh}
@container (max-height:520px){.tgcard__txt{display:none}}  /* невысокое окно слайда (планшет): подпись поста уходила под навигацию */
@media (max-width:760px){.tgcard{width:min(80cqw,300px)}.slide__media:has(.tgcard){padding-top:5cqh}.slide__media .tgcard .tgcard__post{aspect-ratio:16/9}.tgcard__txt{display:none}.tgcard__card{padding:10px;border-radius:18px}.tgcard__bg{top:10%}}
.slide__media{grid-column:7/13;position:relative;height:clamp(480px,44.5vw,640px);overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-3);container-type:size}
.slide__media img{width:100%;height:100%;object-fit:cover}
.slide.is-active .slide__media img:not(.crop){animation:settle 1.6s var(--ease) both}
/* кадр внутри «безопасной области» исходника (без запечённых дуг и градиента): покрывает рамку при любом её соотношении,
   масштаб = max(ширина рамки / w, высота рамки / h); fx/fy — положение кадра внутри области */
.slide__media img.crop{--cx:var(--x);--cy:var(--y);--cw:var(--w);--ch:var(--h);--kx:var(--fx);--ky:var(--fy);
  --iw:max(calc(100cqw * var(--nw) / var(--cw)),calc(100cqh * var(--nw) / var(--ch)));
  position:absolute;max-width:none;width:var(--iw);height:auto;object-fit:fill;
  left:calc(var(--iw) * var(--cx) / var(--nw) * -1 - (var(--iw) * var(--cw) / var(--nw) - 100cqw) * var(--kx));
  top:calc(var(--iw) * var(--cy) / var(--nw) * -1 - (var(--iw) * var(--ch) / var(--nw) - 100cqh) * var(--ky))}
@keyframes settle{from{transform:scale(1.05)}to{transform:none}}
.slider__nav{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.round{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;color:var(--text);cursor:pointer;transition:background-color .2s}
.round:hover{background:rgba(20,20,20,.08)}
.round svg{width:18px;height:18px}
.slider__count{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-2)}
.slider__count b{font-weight:600;color:var(--text)}
.slider__bar{width:36px;height:2px;overflow:hidden;border-radius:2px;background:var(--line-2)}
.slider__bar i{display:block;height:100%;background:var(--text);transform:scaleX(0);transform-origin:0 50%}
.is-auto .slider__bar i{animation:bar 7s linear forwards}
@keyframes bar{to{transform:scaleX(1)}}

/* полоса фактов */
.facts{margin-top:80px}
.facts__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact{padding:32px 24px 34px}
.fact:first-child{padding-left:0}
.fact+.fact{border-left:1px solid var(--line)}
.fact__num{display:block;font-weight:500;font-size:clamp(40px,4.3vw,62px);line-height:1;letter-spacing:-.05em;font-variant-numeric:lining-nums tabular-nums}
.fact__num small{font-size:.5em;letter-spacing:-.03em;margin-left:.12em;color:var(--text-2)}
.fact__txt{display:block;max-width:19em;margin-top:16px;font-size:15px;line-height:1.5;color:var(--text-2)}

/* общие заголовки секций */
.sec{padding-top:var(--sec)}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:24px;align-items:end;margin-bottom:56px}
.sec-head__main{grid-column:1/8}
.sec-head__main:only-child{grid-column:1/11}
.sec-head__aside{grid-column:9/13;font-size:16px;line-height:1.6;color:var(--text-2)}
.sec-head__aside--btn{justify-self:end}
.eyebrow{max-width:30em;margin-bottom:20px;font-size:15px;line-height:1.45;color:var(--text-3)}
.h2{font-weight:500;font-size:clamp(36px,4.6vw,66px);line-height:1.04;letter-spacing:-.042em;text-wrap:balance}

/* tg_block */
.social__card{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:36px;align-items:center;padding:56px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.social__intro{grid-column:1/7}
.social__who{display:flex;align-items:center;gap:14px;margin-bottom:28px;font-size:14px;line-height:1.35;color:var(--text-3)}
.social__who img{width:56px;height:56px;border-radius:var(--r-sm);object-fit:cover}
.social__who b{display:block;font-weight:600;font-size:15px;color:var(--text)}
.social__title{font-weight:500;font-size:clamp(32px,3.7vw,52px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.social__text{max-width:30em;margin-top:20px;font-size:17px;line-height:1.6;color:var(--text-2)}
.social__links{grid-column:8/13;display:grid;gap:12px}
.chan{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:16px;min-height:86px;padding:14px 22px 14px 16px;border:1px solid var(--line-2);border-radius:var(--r);transition:background-color .2s,border-color .2s}
.chan__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--fill)}
.chan__ic svg{width:24px;height:24px}
.chan b{display:block;font-weight:600;font-size:17px;line-height:1.3;letter-spacing:-.015em}
.chan small{display:block;margin-top:2px;font-size:14px;line-height:1.3;color:var(--text-3)}
.chan>svg{width:20px;height:20px;transition:transform .3s var(--ease)}
.chan:hover{border-color:var(--line-3);background:var(--fill)}
.chan:hover>svg{transform:translateX(3px)}
.chan--main{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.chan--main small{color:var(--on-accent-2)}
.chan--main .chan__ic{background:var(--on-accent-fill)}
.chan--main:hover{border-color:var(--accent-hover);background:var(--accent-hover)}

/* operation_block */
.ops__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.op__link{display:flex;flex-direction:column;height:100%;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);transition:border-color .25s}
.op__media{position:relative;display:block;aspect-ratio:403/380;overflow:hidden;border-radius:9px;background:var(--bg-3)}
.op__media::after,.post__media::after{content:"";position:absolute;inset:0;border:1px solid var(--img-line);border-radius:inherit;pointer-events:none}
.op__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.op__body{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;padding:16px 8px 10px 10px}
.op__title{font-weight:600;font-size:17px;line-height:1.3;letter-spacing:-.02em}
.op__link:hover{border-color:var(--line-3)}
.op__link:hover img{transform:scale(1.045)}
.op__link:hover .go,.post__link:hover .go{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.op__link:hover .go svg,.post__link:hover .go svg{transform:translateX(2px)}

/* inline_content: о докторе */
.about__statement{max-width:21em;font-weight:500;font-size:clamp(28px,3.5vw,50px);line-height:1.14;letter-spacing:-.038em}
.about__statement span{color:var(--text-dim)}
.band{position:relative;height:clamp(300px,42vw,600px);margin-top:72px;overflow:hidden;border-block:1px solid var(--line);background:var(--bg-3)}
.band img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.band__quote{position:absolute;left:max(var(--pad),calc((100% - var(--wrap))/2));bottom:28px;max-width:min(420px,calc(100% - 2*var(--pad)));padding:16px 20px;border:1px solid var(--glass-line);border-radius:var(--r);background:var(--glass-2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-weight:500;font-size:18px;line-height:1.4;letter-spacing:-.015em}
.band__quote cite{display:block;margin-top:6px;font-style:normal;font-weight:400;font-size:13.5px;color:var(--text-2)}
.about__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:48px;align-items:start;margin-top:72px}
.about__media{grid-column:1/8}
.video{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.video img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .8s var(--ease)}
.video:hover img{transform:scale(1.03)}
.video__play{position:absolute;left:20px;bottom:20px;display:inline-flex;align-items:center;gap:12px;padding:6px 20px 6px 6px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:600;font-size:15px}
.video__play i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--on-accent)}
.video__play svg{width:18px;height:18px;margin-left:2px}
.spec{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec div{padding:26px 28px 28px}
.spec div:first-child{padding-left:0}
.spec div+div{border-left:1px solid var(--line)}
.spec dt{margin-bottom:10px;font-size:14px;line-height:1.5;color:var(--text-3)}
.spec dd{max-width:24em;font-size:16px;line-height:1.5}
.about__text{grid-column:8/13;padding-left:24px}
.about__quote{font-weight:500;font-size:24px;line-height:1.35;letter-spacing:-.025em;text-wrap:pretty}
.about__body{margin-top:28px}
.about__body p{font-size:16.5px;line-height:1.7;color:var(--text-2)}
.about__body p+p{margin-top:16px}
.about__text .btn{margin-top:36px}

/* consultation_form_block */
.book__card{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:36px;align-items:start;padding:56px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.book__intro{grid-column:1/6}
.book__intro p{max-width:28em;margin-top:22px;font-size:17px;line-height:1.6;color:var(--text-2)}
.book__intro a,.ftr__form p a{color:var(--text);font-weight:600;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px;transition:text-decoration-color .2s}
.book__intro a:hover,.ftr__form p a:hover{text-decoration-color:var(--accent-ink)}
.book .form{grid-column:7/13}
.form{display:grid;gap:12px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.input{width:100%;height:58px;padding:0 18px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--text);font:500 16px/1 var(--f);transition:border-color .2s,background-color .2s}
.input::placeholder{color:var(--text-3);opacity:1}
.input:hover{border-color:var(--line-3)}
.input:focus{outline:none;border-color:var(--accent-ink)}
.check{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;font-size:14.5px;line-height:1.4;color:var(--text-2);cursor:pointer}
.check input{position:absolute;opacity:0;width:22px;height:22px;margin:0}
.check__box{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid var(--line-3);border-radius:6px;background:var(--bg);color:transparent;transition:background-color .15s,border-color .15s}
.check__box svg{width:14px;height:14px}
.check input:checked+.check__box{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.check input:focus-visible+.check__box{outline:2px solid var(--accent-ink);outline-offset:2px}
.check a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.form .btn{width:100%;margin-top:4px}
.form__status{min-height:1.4em;font-size:14px;line-height:1.4;color:var(--text-2)}
.form.has-error .form__status{color:var(--error)}
.form.has-error .input:invalid{border-color:var(--error)}

/* review_block */
.lane{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--pad),calc((100% - var(--wrap))/2));scroll-padding-inline:max(var(--pad),calc((100% - var(--wrap))/2))}
.lane::-webkit-scrollbar{display:none}
.story{flex:0 0 228px;scroll-snap-align:start}
.story a{position:relative;display:block;aspect-ratio:319/690;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.story img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.story a:hover img{transform:scale(1.04)}
.story__play{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-weight:600;font-size:13.5px}
.story__play i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--text);color:var(--bg)}
.story__play svg{width:13px;height:13px;margin-left:2px}
.story a:hover .story__play i{background:var(--accent);color:var(--on-accent)}
.lane-foot{display:flex;align-items:center;gap:24px;margin-top:32px}
.lane-ctrl{display:flex;gap:8px}
.lane-ctrl button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:none;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .2s}
.lane-ctrl button:hover:not(:disabled){border-color:var(--line-3);background:var(--fill)}
.lane-ctrl button:disabled{opacity:.35;cursor:default}
.lane-ctrl svg{width:18px;height:18px}
.lane-progress{position:relative;flex:1;height:2px;overflow:hidden;border-radius:2px;background:var(--line)}
.lane-progress i{position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:2px;background:var(--text);transition:transform .15s linear}
.lane-foot .btn{margin-left:auto}
.quote{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:20px;margin-top:88px;padding-top:40px;border-top:1px solid var(--line)}
.quote blockquote{grid-column:4/13;font-weight:500;font-size:clamp(24px,2.6vw,36px);line-height:1.3;letter-spacing:-.03em;text-wrap:pretty}
.quote figcaption{grid-column:1/4;grid-row:1;padding-top:6px;font-size:14px;line-height:1.5;color:var(--text-3)}
.quote figcaption b{display:block;margin-bottom:6px;font-weight:600;font-size:16px;color:var(--text)}

/* photo_block: до и после */
.cases{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:32px;align-items:start}
.viewer{grid-column:1/6}
.ba{--v:50;--knob:48px;--pos:calc(var(--knob)/2 + (100% - var(--knob)) * var(--v) / 100);position:relative;aspect-ratio:380/485;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);isolation:isolate;user-select:none;-webkit-user-select:none}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity .2s}
.ba.is-swap .ba__img{opacity:0}
.ba__img--after{object-position:100% 50%}
.ba__img--before{object-position:0 50%;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba__tag{position:absolute;top:14px;z-index:2;padding:7px 12px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:600;font-size:13px;line-height:1;pointer-events:none;transition:opacity .2s}
.ba__tag--before{left:14px}
.ba__tag--after{right:14px}
.ba.is-left .ba__tag--before,.ba.is-right .ba__tag--after{opacity:0}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:2;width:2px;margin-left:-1px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(20,20,20,.12);pointer-events:none}
.ba__knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:var(--knob);height:var(--knob);margin:calc(var(--knob)/-2) 0 0 calc(var(--knob)/-2);border-radius:50%;background:#FFFFFF;color:#141414;box-shadow:0 0 0 1px rgba(20,20,20,.1),0 0 0 6px rgba(255,255,255,.32);transition:transform .2s var(--ease)}
.ba__knob svg{width:22px;height:22px}
.ba__range{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none}
.ba{touch-action:pan-y;cursor:ew-resize;-webkit-user-select:none;user-select:none}  /* касание и ведение — обработчики .ba в c11.js; ползунок остаётся для клавиатуры */
.ba__range::-webkit-slider-runnable-track{height:100%;background:transparent}
.ba__range::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:2000px;background:transparent}
.ba__range::-moz-range-thumb{width:48px;height:2000px;border:0;background:transparent}
.ba:hover .ba__knob,.ba.is-drag .ba__knob{transform:scale(1.08)}
.ba:has(.ba__range:focus-visible) .ba__knob{outline:2px solid var(--accent-ink);outline-offset:3px}
.viewer__hint{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--text-3)}
.viewer__hint svg{width:18px;height:18px}
.cases__side{grid-column:7/13;display:flex;flex-direction:column;gap:28px;align-self:stretch}
.cases__list{display:grid;gap:8px}
.case__btn{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;width:100%;padding:10px 20px 10px 10px;border:1px solid transparent;border-radius:var(--r);background:none;text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s}
.case__btn:hover{background:var(--fill)}
.case__thumb{width:112px;height:auto;aspect-ratio:770/485;object-fit:cover;border-radius:8px;outline:1px solid var(--img-line);outline-offset:-1px;opacity:.78;transition:opacity .2s}
.case__cat{display:block;margin-bottom:4px;font-size:13.5px;line-height:1.35;color:var(--text-3)}
.case__title{display:block;font-weight:500;font-size:16px;line-height:1.4;letter-spacing:-.01em;color:var(--text-2);transition:color .2s}
.case.is-active .case__btn{border-color:var(--line-2);background:var(--bg-2)}
.case.is-active .case__thumb,.case__btn:hover .case__thumb{opacity:1}
.case.is-active .case__title{color:var(--text)}
.cases__side .btn{align-self:flex-start;margin-top:auto}
.cases__now{display:none}

/* blog_block */
.blog__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.post{border-bottom:1px solid var(--line)}
.post:nth-child(-n+2){border-top:1px solid var(--line)}
.post__link{display:grid;grid-template-columns:120px minmax(0,1fr) 38px;align-items:center;gap:24px;padding:20px 0}
.post__media{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--r-sm);background:var(--bg-3)}
.post__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.post__link:hover img{transform:scale(1.05)}
.post__cat{display:block;margin-bottom:8px;font-size:13.5px;line-height:1.3;color:var(--text-3)}
.post__title{display:block;font-weight:600;font-size:19px;line-height:1.3;letter-spacing:-.02em;text-wrap:pretty}

/* подвал */
.ftr{padding-top:var(--sec);background:var(--bg)}
.ftr__cta{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.ftr__intro{display:flex;flex-direction:column;padding:44px 0 44px 44px}
.ftr__intro .eyebrow{margin-bottom:14px}
.ftr__text{margin:14px 0 24px;font-size:16px;line-height:1.6;color:var(--text-2)}
.ftr__text a{color:var(--text);font-weight:600;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px}
/* фото целиком (1500×663; снизу запечена синяя полоса ~60 px — срезаем кадром 1500:600) */
.ftr__photo{position:relative;margin:auto 0 0;aspect-ratio:1500/600;overflow:hidden;border-radius:var(--r-sm);background:var(--bg-3)}
.ftr__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ftr__form{align-content:center;padding:44px}
.ftr__form .eyebrow{margin-bottom:14px}
.ftr__title{font-weight:500;font-size:clamp(32px,3.4vw,48px);line-height:1.05;letter-spacing:-.04em}
.ftr__form>p:not(.eyebrow):not(.form__status){margin:16px 0 12px;font-size:16px;line-height:1.6;color:var(--text-2)}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1.1fr 1.3fr .8fr;gap:40px;padding:88px 0 72px}
.ftr__brand .logo__name{font-size:22px}
.ftr__legal{max-width:26em;margin-top:22px;font-size:13px;line-height:1.65;color:var(--text-3)}
.ftr__h{margin-bottom:18px;font-weight:500;font-size:14px;color:var(--text-3)}
.ftr__list{display:grid;gap:4px;font-size:15px}
.ftr__list a,.ftr__list span{display:inline-flex;align-items:center;gap:10px;min-height:32px;color:var(--text-2);transition:color .2s}
.ftr__list a:hover{color:var(--text)}
.ftr__list svg{width:16px;height:16px}
.ftr__list .ftr__strong{font-weight:600;font-size:17px;color:var(--text);letter-spacing:-.01em}
.ftr__mark{overflow:hidden;font-weight:600;font-size:calc(min(100vw - 2 * var(--pad), var(--wrap)) * .118);line-height:.86;letter-spacing:-.06em;white-space:nowrap;color:var(--text);padding-bottom:.06em;margin-left:-.04em}
.ftr__bottom{display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;margin-top:40px;padding:26px 0 36px;border-top:1px solid var(--line);font-size:13px;color:var(--text-3)}
.ftr__bottom a{transition:color .2s}
.ftr__bottom a:hover{color:var(--text)}

/* плавающий виджет соцсетей */
.fab{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:6px;padding:6px 6px 6px 18px;border:1px solid var(--line-2);border-radius:999px;background:var(--glass-fab);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 48px -14px var(--shadow);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s var(--ease),visibility 0s .3s}
.fab.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.fab__label{margin-right:6px;font-size:13px;font-weight:500;color:var(--text-2)}
.fab__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--fill-2);transition:background-color .2s,color .2s}
.fab__ic svg{width:19px;height:19px}
.fab__ic:hover{background:var(--accent);color:var(--on-accent)}
.fab__book{display:none}

/* окно видео */
.player{width:min(960px,calc(100vw - 32px));max-width:none;max-height:none;padding:0;border:0;border-radius:var(--r);background:#000;overflow:visible;color:var(--text)}
.player::backdrop{background:var(--veil);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.player__frame{aspect-ratio:16/9;overflow:hidden;border-radius:var(--r)}
.player.is-vertical{width:min(400px,calc(100vw - 32px),calc((100vh - 120px) * 9 / 16))}
.player.is-vertical .player__frame{aspect-ratio:9/16}
.player iframe{display:block;width:100%;height:100%;border:0}
.player__close{position:absolute;right:0;top:-58px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--bg-2);cursor:pointer}
.player__close svg{width:20px;height:20px}

/* появление при прокрутке */
.rv-on [data-rv]{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-on [data-rv].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}

/* ≤1239: бургер */
@media (max-width:1239px){
  .nav{display:none}
  .hdr__cta{margin-left:auto}
  .burger{display:inline-flex}
  .hdr__in{gap:12px}
}
/* ≤959: планшет — колонки складываются */
@media (max-width:959px){
  :root{--pad:32px}
  .slide__body{grid-column:1/8}
  .slide__media{grid-column:8/13;height:auto;aspect-ratio:4/5}
  .slide__phrase{margin-top:32px;padding-top:28px;font-size:clamp(38px,5vw,48px)}
  .slide__text{font-size:16px}
  .sec-head__main,.sec-head__aside{grid-column:1/-1}
  .sec-head__aside--btn{justify-self:start}
  .social__intro,.social__links{grid-column:1/-1}
  .about__media,.about__text{grid-column:1/-1;padding-left:0}
  .spec{grid-template-columns:1fr}
  .spec div,.spec div:first-child{padding:20px 0}
  .spec div+div{border-left:0;border-top:1px solid var(--line)}
  .book__intro,.book .form{grid-column:1/-1}
  .viewer{grid-column:1/7}
  .cases__side{grid-column:7/13}
  .case__btn{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:8px 12px 8px 8px}
  .case__thumb{width:88px}
  .case__title{font-size:15px}
  .ops__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts__list{grid-template-columns:1fr 1fr}
  .fact{padding:28px 20px 28px 24px}
  .fact:nth-child(odd){padding-left:0;border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .blog__list{grid-template-columns:1fr}
  .post:nth-child(2){border-top:0}
  .ftr__cta{grid-template-columns:1fr}
  .ftr__intro{padding:40px 40px 0}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .quote blockquote{grid-column:1/-1}
  .quote figcaption{grid-column:1/-1;grid-row:2}
}
/* ≤699: телефон */
@media (max-width:699px){
  :root{--pad:20px;--gap:16px;--sec:84px;--r:12px}
  html{scroll-padding-top:76px}
  body{font-size:15.5px}
  .topbar{display:none}
  .hdr__in{min-height:60px;gap:8px}
  .logo__name{font-size:18px}
  .logo__sub{font-size:11px}
  .hdr__cta{display:none}
  .hdr__call{display:grid;margin-left:auto}
  .hero{padding-top:28px}
  .facts{margin-top:44px}
  .facts__list{grid-template-columns:1fr 1fr}
  .fact{padding:24px 14px 24px 16px}
  .fact:nth-child(odd){padding-left:0;border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .fact__num{font-size:38px}
  .fact__txt{margin-top:10px;font-size:13.5px}
  .sec-head{margin-bottom:36px;row-gap:16px}
  .eyebrow{margin-bottom:14px;font-size:14px}
  .h2{font-size:36px;line-height:1.06}
  .sec-head__aside{font-size:15.5px}
  .social__card{padding:28px 20px 20px;row-gap:28px}
  .social__who{margin-bottom:22px}
  .social__title{font-size:32px}
  .social__text{font-size:15.5px}
  .chan{min-height:76px;padding:12px 16px 12px 12px;gap:14px}
  .chan b{font-size:16px}
  .chan small{font-size:13px}
  .ops__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .op__link{padding:5px}
  .op__media{border-radius:8px}
  .op__body{padding:12px 6px 8px}
  .op__title{font-size:15px;line-height:1.3}
  .op__body .go{display:none}
  .about__statement{font-size:27px;line-height:1.18}
  .band{height:300px;margin-top:44px}
  .band img{object-position:38% 30%}
  .band__quote{bottom:14px;padding:12px 14px;font-size:15px}
  .band__quote cite{font-size:12.5px}
  .about__grid{margin-top:44px;row-gap:40px}
  .video__play{left:12px;bottom:12px;font-size:14px;padding-right:16px}
  .video__play i{width:40px;height:40px}
  .spec div,.spec div:first-child{padding:16px 0}
  .spec dt{margin-bottom:4px}
  .spec dd{font-size:15px}
  .about__quote{font-size:21px}
  .about__body p{font-size:15.5px}
  .about__text .btn{width:100%}
  .book__card{padding:28px 20px 20px;row-gap:28px}
  .book__intro p{font-size:15.5px}
  .form__row{grid-template-columns:1fr}
  .story{flex-basis:168px}
  .story__play{left:8px;bottom:8px;font-size:12.5px;padding-right:11px}
  .lane-ctrl{display:none}
  .lane-foot{gap:16px;margin-top:24px}
  .quote{margin-top:56px;padding-top:28px}
  .quote blockquote{font-size:22px}
  .post__link{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:14px 0}
  .post__link .go{display:none}
  .post__title{font-size:16.5px}
  .post__cat{margin-bottom:5px;font-size:12.5px}
  .ftr__intro{padding:28px 20px 0}
  .ftr__text{font-size:15px}
  .ftr__form{padding:28px 20px 20px}
  .ftr__title{font-size:32px}
  .ftr__form>p:not(.eyebrow):not(.form__status){font-size:15px}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:36px 20px;padding:56px 0 44px}
  .ftr__grid{grid-template-columns:1.5fr 1fr}
  .ftr__brand,.ftr__grid>div:nth-child(2){grid-column:1/-1}
  .ftr__list{gap:0;font-size:14.5px}
  .ftr__list a,.ftr__list span{min-height:44px;padding:6px 0;line-height:1.35}
  .ftr__bottom{flex-direction:column;margin-top:28px;padding-bottom:calc(36px + 68px)}
  .fab{left:0;right:0;bottom:0;gap:8px;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;background:var(--glass-fab);box-shadow:none}
  .fab__label{display:none}
  .fab__book{display:inline-flex;flex:1;min-height:48px}
  .fab__ic{width:48px;height:48px}
  .player__close{top:-56px}
}
@media (min-width:700px) and (max-width:959px){
  .slide__media{aspect-ratio:4/5}
}

/* ≤760: телефон — слайд целиком (фото + текст) уезжает по горизонтали, свайп; кейсы — полоска миниатюр под шторкой */
@media (max-width:760px){
  .hero{--m-photo:clamp(280px,40svh,340px);padding-top:20px}
  .slides{position:relative;display:flex;gap:var(--pad);margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);scroll-padding-inline:var(--pad);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .slides::-webkit-scrollbar{display:none}
  .slide{flex:0 0 100%;display:flex;flex-direction:column;opacity:1;visibility:visible;transition:none;scroll-snap-align:start;scroll-snap-stop:always}
  .slide__media{order:-1;flex:none;width:100%;height:var(--m-photo);aspect-ratio:auto}
  .slide.is-active .slide__media img{animation:none}
  .slide__media img.crop{--cx:var(--mx);--cy:var(--my);--cw:var(--mw);--ch:var(--mh);--kx:var(--mfx);--ky:var(--mfy)}
  .slide__body{padding:16px 0 0}
  .slide__name{font-size:17px}
  .slide__text{margin-top:4px;font-size:14.5px;line-height:1.45}
  .slide__phrase{margin-top:14px;padding-top:14px;font-size:34px;line-height:1.04}
  .slide__body .btn{width:100%;margin-top:18px}
  .slider__nav{top:calc(var(--m-photo) - 70px);right:10px;bottom:auto}
  .round{width:48px;height:48px}
  .facts{margin-top:40px}

  .viewer,.cases__side{grid-column:1/-1}
  .cases{row-gap:0}
  .ba{aspect-ratio:4/5}
  .viewer__hint{display:none}
  .cases__side{gap:0}
  .cases__list{position:relative;display:flex;gap:8px;margin:12px calc(var(--pad) * -1) 0;padding:2px var(--pad);scroll-padding-inline:var(--pad);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .cases__list::-webkit-scrollbar{display:none}
  .case{flex:none;scroll-snap-align:start}
  .case__btn{display:block;width:auto;padding:3px;border-radius:12px}
  .case__btn>span{display:none}
  .case__thumb{width:104px;border-radius:9px}
  .case.is-active .case__btn{border-color:var(--accent-ink);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--accent-ink)}
  .cases__now{display:block;min-height:5.6em;margin-top:14px}
  .cases__now .case__title{color:var(--text);font-size:15.5px}
  .cases__side .btn{align-self:stretch;margin-top:16px}
}

/* =====================================================================================================
   Ниже — дополнения к концепту: CMS-разметка главной, внутренние страницы, тексты из редактора, окна, плеер.
   ===================================================================================================== */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:600}
.skip:focus{top:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* плавающий виджет соцсетей из «Счётчиков» админки дублирует свой .fab — прячем его (ссылки те же) */
html body .floating-socials{display:none!important}
.flash{position:fixed;left:50%;top:96px;z-index:60;transform:translateX(-50%);max-width:min(520px,calc(100vw - 32px));padding:14px 20px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);box-shadow:0 20px 48px -14px var(--shadow)}
.nav__item.is-cur>.nav__link{color:var(--text)}
.nav__item.is-cur>.nav__link::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1.5px;border-radius:2px;background:var(--accent)}
.nav__link{position:relative}
.drop a[aria-current="page"],.dnav a[aria-current="page"]{color:var(--accent-ink)}

/* главная: тексты в InlineEditor (div.inline_content > div > …) */
.slide__phrase p{margin:0}
.facts ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts li{padding:32px 24px 34px;font-size:15px;line-height:1.5;color:var(--text-2)}
.facts li:first-child{padding-left:0}
.facts li+li{border-left:1px solid var(--line)}
.facts li strong{display:block;margin-bottom:16px;font-weight:500;font-size:clamp(40px,4.3vw,62px);line-height:1;letter-spacing:-.05em;color:var(--text);font-variant-numeric:lining-nums tabular-nums}
.facts li strong em{font-style:normal;font-size:.5em;letter-spacing:-.03em;margin-left:.06em;color:var(--text-2)}
.sec-head__aside p+p{margin-top:12px}
.sec-head__aside a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.sec-head__aside [style*="text-align"]{text-align:inherit!important}
.quote{display:block}
.quote blockquote{font-weight:500;font-size:clamp(24px,2.6vw,36px);line-height:1.3;letter-spacing:-.03em;text-wrap:pretty;max-width:30em}
.quote blockquote+p{margin-top:24px}
.quote p:not(blockquote p){font-size:14px;line-height:1.5;color:var(--text-3)}
.quote p strong{font-weight:600;font-size:16px;color:var(--text)}
.story__cap{position:absolute;left:10px;right:10px;top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding:8px 10px;border-radius:10px;background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:500;font-size:12.5px;line-height:1.35;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s var(--ease)}
.story a:hover .story__cap,.story a:focus-visible .story__cap{opacity:1;transform:none}
.form__text{margin:16px 0 12px;font-size:16px;line-height:1.6;color:var(--text-2)}
.form__text a,.modal a:not(.btn){color:var(--text);font-weight:600;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px}
.form__row--stack{grid-template-columns:1fr}
.form.is-sent .form__status{color:var(--text)}
.form .btn:disabled{opacity:.6;cursor:progress}

/* шапка внутренней страницы */
.phead{padding:40px 0 8px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:13.5px;line-height:1.4;color:var(--text-3)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"";width:5px;height:5px;margin:0 12px;border-top:1.5px solid var(--line-3);border-right:1.5px solid var(--line-3);transform:rotate(45deg)}
.crumbs a{transition:color .2s}
.crumbs a:hover{color:var(--text)}
.crumbs [aria-current]{color:var(--text-2)}
.phead__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:28px;align-items:end;margin-top:28px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.phead__main{grid-column:1/-1}
.phead--img .phead__main{grid-column:1/7;align-self:center}
.phead__title{font-weight:500;font-size:clamp(36px,4.4vw,62px);line-height:1.05;letter-spacing:-.042em;text-wrap:balance;max-width:20em}
.phead__lead{max-width:36em;margin-top:20px;font-size:17px;line-height:1.6;color:var(--text-2)}
.phead__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.phead__media{grid-column:7/13;position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-3)}
.phead__media img{width:100%;height:100%;object-fit:cover}
.page-body{padding-top:48px}
.page-body--wide .prose{max-width:none}

/* тексты из редактора CMS (page/article/gallery/review body) */
.prose{max-width:780px;font-size:17px;line-height:1.7;color:var(--text-2);overflow-wrap:break-word}
.prose>*+*,.prose .inline_content>div>*+*{margin-top:18px}
.prose h2,.prose h3,.prose h4,.prose .h3{color:var(--text);text-wrap:balance}
.prose h2{margin-top:56px;font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.035em}
.prose h3,.prose .h3{display:block;margin-top:40px;font-weight:600;font-size:clamp(21px,2vw,25px);line-height:1.3;letter-spacing:-.022em}
.prose h4{margin-top:28px;font-weight:600;font-size:18px;line-height:1.35}
.prose h2+*,.prose h3+*,.prose h4+*{margin-top:14px}
.prose h2:first-child,.prose h3:first-child,.prose .inline_content>div>h2:first-child,.prose .inline_content>div>h3:first-child{margin-top:0}
.prose p:empty,.prose h3:empty,.prose h2:empty{display:none}
.prose strong,.prose b{color:var(--text);font-weight:600}
.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-ink) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .2s}
.prose a:hover{text-decoration-color:var(--accent-ink)}
.prose ul,.prose ol{padding-left:0}
.prose ul>li,.prose ol>li{position:relative;padding-left:28px}
.prose ul>li+li,.prose ol>li+li{margin-top:8px}
.prose ul>li::before{content:"";position:absolute;left:6px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.prose ol{counter-reset:li}
.prose ol>li{counter-increment:li}
.prose ol>li::before{content:counter(li) ".";position:absolute;left:0;top:0;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.prose img{display:inline-block;max-width:100%;height:auto!important;border-radius:var(--r-sm);vertical-align:middle}
.prose img.img-center,.prose p[style*="center"] img{display:block;margin-inline:auto}
.prose img[style*="float:left"],.prose img[style*="float: left"]{float:left;max-width:min(46%,420px);margin:6px 28px 16px 0!important}
.prose img[style*="float:right"],.prose img[style*="float: right"]{float:right;max-width:min(46%,420px);margin:6px 0 16px 28px!important}
.prose::after{content:"";display:table;clear:both}
.prose blockquote{padding:4px 0 4px 24px;border-left:2px solid var(--accent);font-size:19px;line-height:1.55;color:var(--text)}
.prose hr{height:1px;margin:40px 0;border:0;background:var(--line)}
/* наследие Word и старого шаблона: шрифты, кегли и цвета — как у сайта */
.prose [style*="font-family"]{font-family:inherit!important}
.prose [style*="font-size"]{font-size:inherit!important}
.prose [style*="color"]:not(.text-orange){color:inherit!important}
.prose [style*="line-height"]{line-height:inherit!important}
.prose p[style*="justify"],.prose div[style*="justify"]{text-align:left!important}
.prose .text-orange{color:var(--accent-ink)}
.prose .text-small{font-size:.86em;line-height:1.55}
.prose .fStyle{font:inherit}
.prose iframe{display:block;width:100%;max-width:100%;border:0;border-radius:var(--r)}
.prose iframe[src*="yandex.ru/map"]{height:clamp(320px,50vw,520px);border:1px solid var(--line)}
/* таблицы (прайс, фото в ячейках) */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.prose table{width:100%!important;border-collapse:collapse;font-size:16px;line-height:1.5}
.prose td,.prose th{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose tr:last-child>td{border-bottom:0}
.prose th{font-weight:600;color:var(--text);background:var(--fill)}
.prose td:last-child:not(:first-child){white-space:nowrap;text-align:right;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.prose td p{margin:0}
.prose td img{border-radius:8px}
.prose .tbl--photos{border:0;background:none}
.prose .tbl--photos td{padding:6px;border:0;text-align:center!important;white-space:normal!important}
/* блоки из редактора: колонки, выделенный блок, фото с текстом, раскрывающийся список, «фото до и после» */
.prose .two-column,.prose .three-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.prose .three-column{grid-template-columns:repeat(3,minmax(0,1fr))}
.prose .two-column>div>*+*,.prose .three-column>div>*+*{margin-top:12px}
.prose .two-column img,.prose .three-column img{width:100%}
.prose .notice-block{padding:28px 32px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);background:var(--bg-2);color:var(--text);font-size:18px;line-height:1.6}
.prose .notice-block strong{font-weight:500}
.prose .notice-block>*+*{margin-top:12px}
.prose .image_block{position:relative;display:block;overflow:hidden;min-height:260px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-3);isolation:isolate}
.prose .image_block_bg,.prose .image_block_bg p{position:absolute;inset:0;margin:0}
.prose .image_block_bg img{width:100%;height:100%!important;object-fit:cover;border-radius:0}
.prose .image_block_content{position:relative;z-index:1;display:flex;align-items:flex-end;min-height:260px;padding:24px}
.prose .image_block_content p{display:inline-flex;align-items:center;gap:12px;padding:6px 20px 6px 6px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:600;font-size:15px;color:var(--text)}
.prose .image_block_content p::before{content:"";flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6.5v11l9-5.5z' fill='%23fff'/%3E%3C/svg%3E") center/18px no-repeat}
.prose .image_block_link{position:absolute;inset:0;z-index:2;font-size:0;text-decoration:none}
.prose .image_block:hover .image_block_bg img{transform:scale(1.03)}
.prose .image_block_bg img{transition:transform .8s var(--ease)}
.prose .hide_list_block{border-top:1px solid var(--line)}
.prose .hide_list_block_item{border-bottom:1px solid var(--line)}
.prose .hide_list_block_item__title{position:relative;display:block;padding:20px 48px 20px 0;cursor:pointer;color:var(--text);font-weight:600;font-size:18px;line-height:1.4;letter-spacing:-.015em}
.prose .hide_list_block_item__title p{margin:0}
.prose .hide_list_block_item__title .text-orange{color:inherit}
.prose .hide_list_block_item__title::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:1.8px solid var(--text-2);border-bottom:1.8px solid var(--text-2);transform:rotate(45deg);transition:transform .25s var(--ease)}
.prose .hide_list_block_item:not(.hide_list_block_item--hide)>.hide_list_block_item__title::after{transform:translateY(5px) rotate(-135deg)}
.prose .hide_list_block_item__title:hover{color:var(--accent-ink)}
.prose .hide_list_block_item__content{padding:0 0 24px}
.prose .hide_list_block_item__content>*+*{margin-top:14px}
.js .prose .hide_list_block_item--hide>.hide_list_block_item__content{display:none}
.prose .editor_widget{display:block}
.prose .photo_before_after_placeholder{display:none}
/* «Фото до и после» в тексте страницы операции (EditorGallery) */
.egal{margin:40px 0;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.egal__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}
.egal__title{font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.02em;color:var(--text)}
.egal__list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -28px;padding:0 28px;scroll-padding-inline:28px}
.egal__list::-webkit-scrollbar{display:none}
.egal__item{flex:0 0 min(420px,82%);scroll-snap-align:start;padding:0!important}
.egal__item::before{display:none!important}
.egal__item a{display:block;color:inherit;text-decoration:none}
.egal__item img{width:100%;aspect-ratio:770/485;object-fit:cover;border-radius:10px;outline:1px solid var(--img-line);outline-offset:-1px}
.egal__cap{display:block;margin-top:10px;font-size:14.5px;line-height:1.45;color:var(--text-2)}
.egal .lane-foot{margin-top:20px}

/* встроенный ролик (вместо iframe YouTube/VK в тексте) и окно-плеер — свой плеер */
.vw{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:#1d1916;container-type:inline-size;color:#fff}
.vw--vert{aspect-ratio:9/16}
.prose .vw{max-width:780px}
.prose .vw--vert{max-width:360px}
.vw video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:pointer;background:#1d1916}
.vw.on video{object-fit:contain}
.vw::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,13,0) 50%,rgba(20,16,13,.6));pointer-events:none;transition:opacity .25s}
.vw.on::after{opacity:0}
.vplay{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:68px;height:68px;margin:-34px 0 0 -34px;padding:0;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 10px 30px -10px rgba(0,0,0,.5);cursor:pointer;transition:opacity .2s,transform .25s var(--ease)}
.vplay svg{width:26px;height:26px;margin-left:3px}
@media (hover:hover){.vw:hover .vplay{transform:scale(1.07)}}
.playing>.vplay,.wait>.vplay{opacity:0;pointer-events:none}
.vw.wait::before{content:"";position:absolute;left:50%;top:50%;z-index:3;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:vspin .8s linear infinite;pointer-events:none}
@keyframes vspin{to{transform:rotate(360deg)}}
.vbar{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 8px 6px;background:linear-gradient(transparent,rgba(20,16,13,.78));opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.on>.vbar{opacity:1;visibility:visible}
.on.idle>.vbar{opacity:0;visibility:hidden}
.vseek{-webkit-appearance:none;appearance:none;display:block;width:100%;height:22px;margin:0;padding:0;background:none;cursor:pointer;touch-action:none}
.vseek::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) var(--p,0%),rgba(255,255,255,.55) 0 var(--b,0%),rgba(255,255,255,.28) 0)}
.vseek::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) var(--p,0%),rgba(255,255,255,.55) 0 var(--b,0%),rgba(255,255,255,.28) 0)}
.vseek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.vseek::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff}
.vseek:focus-visible{outline:2px solid #fff;outline-offset:1px;border-radius:4px}
.vrow{display:flex;align-items:center}
.vt{flex:1;min-width:0;padding:0 4px;font-size:12.5px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.vt span{opacity:.75}
.vb{flex:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer}
@media (hover:hover){.vb:hover{background:rgba(255,255,255,.18)}}
.vb:focus-visible{outline:2px solid #fff;outline-offset:-2px}
@container (max-width:220px){.vt span{display:none}}
.vw:fullscreen{background:#000;border-radius:0}
.vw:fullscreen video{object-fit:contain}
.vw:-webkit-full-screen{background:#000}
.vw:-webkit-full-screen video{object-fit:contain}
.player .vw{border-radius:var(--r);aspect-ratio:auto;height:100%}
.player__frame>.vw{width:100%;height:100%}
.vthumb{position:relative;display:block;max-width:780px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--bg-3);text-decoration:none!important}
.vthumb img{width:100%;height:100%!important;object-fit:cover;border-radius:0!important}
.vthumb .video__play{color:var(--text)}

/* окна: запись, галерея; лайтбокс */
.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);color:var(--text);overflow:auto;box-shadow:0 40px 90px -30px var(--shadow)}
.modal--wide{width:min(980px,calc(100vw - 32px))}
.modal::backdrop,.lbox::backdrop{background:var(--veil);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.modal__close,.lbox__close{position:absolute;right:12px;top:12px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--bg-2);color:var(--text);cursor:pointer;transition:background-color .2s}
.modal__close:hover,.lbox__close:hover{background:var(--fill)}
.modal__close svg,.lbox__close svg{width:20px;height:20px}
.modal__form{padding:44px 40px 32px}
.modal__title{padding-right:40px;font-weight:500;font-size:clamp(26px,3vw,34px);line-height:1.12;letter-spacing:-.035em}
.modal__body{padding:40px}
.modal__wait{padding:40px 0;text-align:center;color:var(--text-3)}
.lbox{width:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--r);background:transparent;overflow:visible}
.lbox__fig{display:grid;gap:10px;justify-items:center}
.lbox__fig img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);width:auto;height:auto;border-radius:var(--r);background:var(--bg-2)}
.lbox__fig figcaption{max-width:40em;padding:6px 14px;border-radius:999px;background:var(--bg-2);font-size:14px;color:var(--text-2);text-align:center}
.lbox__fig figcaption:empty{display:none}
.lbox__close{right:-6px;top:-56px}
.lbox__nav{position:fixed;top:50%;z-index:3;display:grid;place-items:center;width:48px;height:48px;margin-top:-24px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--bg-2);color:var(--text);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:background-color .2s}
.lbox__nav:hover:not(:disabled){background:var(--fill)}
.lbox__nav:disabled{opacity:.35;cursor:default}
.lbox__nav[hidden]{display:none}
.lbox__nav svg{width:22px;height:22px}
.lbox__nav--prev{left:max(12px,env(safe-area-inset-left))}
.lbox__nav--next{right:max(12px,env(safe-area-inset-right))}
@media (min-width:700px){.lbox.has-nav,.lbox.has-nav .lbox__fig img{max-width:calc(100vw - 152px)}} /* стрелки по бокам — не поверх фото */
#lightbox .lbox__close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))} /* на месте, пока фото грузится и после */
.lbox.is-loading .lbox__fig{min-width:min(calc(100vw - 32px),420px);min-height:40vh;place-content:center}
.lbox.is-loading .lbox__fig img,.lbox.is-loading .lbox__fig figcaption{display:none}
.lbox.is-loading .lbox__fig::before{content:"";width:40px;height:40px;border:3px solid var(--on-accent-2);border-top-color:var(--accent);border-radius:50%;animation:lbspin .8s linear infinite}
@keyframes lbspin{to{transform:rotate(360deg)}}
/* окно видео кейса: горизонтальное — до 960 px, вертикальное — по высоте экрана */
.vbox{width:fit-content}
.vbox__body{width:min(960px,calc(100vw - 32px))}
.vbox--vert .vbox__body{width:min(420px,calc((100dvh - 140px) * 9 / 16),calc(100vw - 32px))}
.vbox .vw{width:100%;aspect-ratio:16/9;border-radius:var(--r)}
.vbox--vert .vw{aspect-ratio:9/16}
/* фрагмент gallery/view в окне */
.pgal__title{padding-right:48px;font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.2;letter-spacing:-.03em}
.pgal__list{display:grid;gap:14px;margin-top:20px}
.pgal__list img{width:100%;border-radius:10px}
.pgal__text{margin-top:20px}

/* отзывы */
.rev{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.rev__head{display:flex;align-items:center;gap:14px}
.rev__img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.rev__name{font-weight:600;font-size:17px;line-height:1.3;letter-spacing:-.015em}
.rev__meta{margin-top:2px;font-size:13.5px;color:var(--text-3)}
.rev__title{margin-top:18px;font-weight:600;font-size:15px;line-height:1.45;color:var(--accent-ink)}
.rev__body{max-width:none;margin-top:12px;font-size:16px;line-height:1.65}
.rev.is-cut:not(.is-open) .rev__body,.rev--short:not(.is-open):not(.is-measure) .rev__body{max-height:10.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.rev.is-measure .rev__body{max-height:10.5em;overflow:hidden}
.rev__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px}
.rev__foot:empty{display:none}
.rev__more,.rev__link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0;border:0;background:none;color:var(--text);font:600 14.5px/1.2 var(--f);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px}
.rev__more:hover,.rev__link:hover{text-decoration-color:var(--accent-ink)}
.rev__link svg{width:16px;height:16px;color:var(--accent-ink)}
.rev__replies{margin-top:20px;padding-left:20px;border-left:2px solid var(--line)}
.rev__replies .rev{padding:20px 0 0;border:0;background:none}
.revs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.previews__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.story--big{flex:none}
.story--big a{width:100%}
.previews__texts{display:grid;gap:16px}

/* галереи «до и после» */
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gcase{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);overflow:hidden}
.shots{position:relative}
.shots__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--bg-3)}
.shots__track::-webkit-scrollbar{display:none}
.shots__item{flex:0 0 100%;scroll-snap-align:start}
.shots__item a{display:block;cursor:zoom-in}
.shots__item img{width:100%;aspect-ratio:770/485;object-fit:cover}
.shots__ui{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.shots__ui .round{width:36px;height:36px}
.shots__n{padding:0 6px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.shots__tag{position:absolute;top:12px;padding:6px 11px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:600;font-size:12.5px;line-height:1;pointer-events:none}
.shots__tag--b{left:12px}
.shots__tag--a{right:12px}
.gcase__body{display:flex;flex-direction:column;flex:1;gap:12px;padding:20px 22px 22px}
.gcase__title{font-weight:600;font-size:17px;line-height:1.35;letter-spacing:-.015em;color:var(--text)}
.gcase__text{font-size:15px;line-height:1.6;max-width:none}
.gcase__text>*+*{margin-top:8px}
.gcase__foot{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:auto;padding-top:4px}

/* блог: список и статья */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pcard__link{display:flex;flex-direction:column;height:100%;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);transition:border-color .25s}
.pcard__link:hover{border-color:var(--line-3)}
.pcard__media{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:9px;background:var(--bg-3)}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pcard__link:hover img{transform:scale(1.04)}
.pcard__body{display:flex;flex-direction:column;flex:1;gap:10px;padding:16px 12px 12px}
.pcard__title{font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.02em;color:var(--text)}
.pcard__text{font-size:14.5px;line-height:1.55;color:var(--text-2)}
.pcard__more{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px;font-weight:600;font-size:14px}
.pcard__link:hover .go{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cats a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line-2);border-radius:999px;font-size:14px;font-weight:500;color:var(--text-2);transition:background-color .2s,border-color .2s,color .2s}
.cats a:hover{border-color:var(--line-3);color:var(--text)}
.cats a[aria-current]{border-color:var(--text);background:var(--text);color:var(--bg)}
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.article__aside{position:sticky;top:104px;display:grid;gap:16px}
.aside-card{padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.aside-card__title{font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.02em}
.aside-card p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--text-2)}
.aside-card .btn{width:100%;margin-top:16px}
.aside-card .chan{min-height:64px;margin-top:10px;padding:10px 14px 10px 10px}
.aside-card .chan__ic{width:40px;height:40px}
.article__foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}

/* пагинация (LinkPager) */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:48px}
.pagination li a,.pagination li span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--line-2);border-radius:999px;font-size:14.5px;font-weight:600;color:var(--text-2);transition:background-color .2s,border-color .2s,color .2s}
.pagination li a:hover{border-color:var(--line-3);color:var(--text)}
.pagination li.active a,.pagination li.active span{border-color:var(--text);background:var(--text);color:var(--bg)}
.pagination li.disabled span{opacity:.4}

/* контакты, ошибка */
.contacts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:24px;align-items:start}
.contacts__cards{grid-column:1/6;display:grid;gap:12px}
.contacts__map{grid-column:6/13}
.ccard{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.ccard__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--fill)}
.ccard__ic svg{width:20px;height:20px}
.ccard small{display:block;font-size:13px;color:var(--text-3)}
.ccard b,.ccard a{font-weight:600;font-size:17px;letter-spacing:-.01em}
.err{padding:72px 0 24px}
.err__code{font-weight:500;font-size:clamp(88px,14vw,180px);line-height:.9;letter-spacing:-.06em;color:var(--bg-deep);-webkit-text-stroke:1px var(--line-3)}
.err .phead__title{margin-top:12px}
.err p{max-width:34em;margin-top:16px;font-size:17px;color:var(--text-2)}
.err .phead__cta{margin-top:32px}

/* панели редактора поверх темы (видны только при входе в админку) */
.editor-panel{display:none}
.is-editor .editor-panel{display:flex;flex-wrap:wrap;gap:4px 10px;margin:10px 0;font-size:13px}
.is-editor .editor-panel--on-img{position:absolute;left:12px;top:12px;z-index:4;margin:0}

@media (max-width:959px){
  .facts ul{grid-template-columns:1fr 1fr}
  .facts li{padding:28px 20px 28px 24px}
  .facts li:nth-child(odd){padding-left:0;border-left:0}
  .facts li:nth-child(n+3){border-top:1px solid var(--line)}
  .phead--img .phead__main,.phead__media{grid-column:1/-1}
  .phead__media{aspect-ratio:16/9}
  .prose .three-column{grid-template-columns:1fr 1fr}
  .revs,.gal{grid-template-columns:1fr}
  .previews__grid{grid-template-columns:200px minmax(0,1fr)}
  .posts{grid-template-columns:1fr 1fr}
  .article{grid-template-columns:1fr;gap:40px}
  .article__aside{position:static}
  .contacts__cards,.contacts__map{grid-column:1/-1}
}
@media (max-width:699px){
  .facts li{padding:24px 14px 24px 16px;font-size:13.5px}
  .facts li strong{margin-bottom:10px;font-size:38px}
  .phead{padding-top:24px}
  .phead__grid{margin-top:20px;padding-bottom:28px}
  .phead__title{font-size:34px;line-height:1.08}
  .phead__lead{font-size:15.5px}
  .page-body{padding-top:32px}
  .prose{font-size:16px;line-height:1.65}
  .prose h2{margin-top:44px;font-size:27px}
  .prose h3,.prose .h3{margin-top:32px;font-size:20px}
  .prose .two-column,.prose .three-column{grid-template-columns:1fr}
  .prose img[style*="float"]{float:none!important;max-width:100%;margin:0 0 12px!important}
  .prose .notice-block{padding:20px;font-size:16.5px}
  .prose td,.prose th{padding:12px 14px;font-size:15px}
  .prose .hide_list_block_item__title{font-size:16.5px}
  .egal{margin:28px calc(var(--pad) * -1);padding:20px var(--pad);border-radius:0;border-inline:0}
  .egal__list{margin:0 calc(var(--pad) * -1);padding:0 var(--pad);scroll-padding-inline:var(--pad)}
  .modal__form{padding:36px 20px 20px}
  .modal__body{padding:28px 20px 20px}
  .rev{padding:20px}
  .previews__grid{grid-template-columns:1fr}
  .story--big{max-width:240px}
  .posts{grid-template-columns:1fr}
  .gcase__body{padding:16px}
  .vplay{width:58px;height:58px;margin:-29px 0 0 -29px}
}
.vframe{position:relative;max-width:780px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:#1d1916}
.vframe iframe{position:absolute;inset:0;width:100%!important;height:100%!important}
.sec-sub{margin:0 0 24px;font-weight:600;font-size:22px;letter-spacing:-.02em}
.reviews--page{padding-top:48px}
.book__card--single{display:block;max-width:640px;margin-inline:auto;padding:0}
/* длинные слова (Трансконъюнктивальная, Миниабдоминопластика) не выходят за экран */
h1,h2,h3,.phead__title,.slide__phrase,.post__title,.pcard__title,.gcase__title,.rev__title,.op__title{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (max-width:699px){h1,h2,h3,.phead__title,.pcard__title,.post__title{overflow-wrap:anywhere}}
/* старые блоки с жёсткой шириной (style="width:800px") — по ширине колонки */
.prose div,.prose p,.prose table,.prose iframe,.prose span,.prose figure{max-width:100%!important;box-sizing:border-box}
@media (max-width:959px){.article{grid-template-columns:minmax(0,1fr)}}
.kids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:900px}
.kid{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:88px;padding:18px 18px 18px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);transition:border-color .25s}
.kid:hover{border-color:var(--line-3)}
.kid:hover .go{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
.kid__title{font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.02em}
@media (max-width:699px){.kids{grid-template-columns:1fr}}

/* ---------- правки по разбору №1 (2026-11-01) ---------- */
:root{--glass:rgba(247,245,242,.96);--glass-fab:rgba(255,255,255,.97);--text-body:#3F3A35}
/* заголовки: без автопереносов (длинные слова — мягкие переносы из Theme::shy) */
h1,h2,h3,.phead__title,.slide__phrase,.post__title,.pcard__title,.gcase__title,.rev__title,.op__title{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
@media (max-width:699px){h1,h2,h3,.phead__title,.pcard__title,.post__title{overflow-wrap:break-word}}
.tel,a[href^="tel:"]{white-space:nowrap}
/* плавающие кнопки на десктопе — столбик кружков у правого края, не поверх текста */
@media (min-width:700px){
  .fab{top:50%;bottom:auto;right:16px;flex-direction:column;gap:6px;padding:6px;transform:translate(16px,-50%)}
  .fab.is-on{transform:translate(0,-50%)}
  .fab__label{display:none}
  .fab__ic{width:44px;height:44px}
}
/* тексты из редактора */
.prose{color:var(--text-body)}
.prose ul,.prose ol,.prose blockquote,.prose .notice-block,.prose .tbl,.prose .hide_list_block{display:flow-root}
.prose a.btn{text-decoration:none!important}
.prose a.btn--ghost{color:var(--text)}
.prose a.btn--accent{color:var(--on-accent)}
.prose h2,.prose h3,.prose h4,.prose p,.prose li,.prose div,.prose span{text-align:left!important}
.prose h2+*{margin-top:16px}
.prose .hide_list_block+*{margin-top:48px}
.prose .notice-block{position:relative;border-left:1px solid var(--line);padding-left:44px}
.prose .notice-block::before{content:"";position:absolute;left:24px;top:26px;bottom:26px;width:2px;border-radius:2px;background:var(--accent)}
.prose td:last-child:not(:first-child){text-align:right!important}
.prose .tbl--photos table{width:calc(100% + 12px)!important;max-width:none!important;margin-inline:-6px}
.prose .vframe--vert{max-width:360px;aspect-ratio:9/16}
.egal__item{margin:0!important}
.egal__item+.egal__item{margin-top:0!important}
/* кейсы на главной: ползунок не уезжает, пока листают список */
@media (min-width:761px){.cases .viewer{position:sticky;top:96px;align-self:start}}
/* компактный блок операций на внутренних страницах */
.ops--compact .sec-head{margin-bottom:28px}
.ops--compact .ops__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ops--compact .op__link{flex-direction:row;align-items:center;padding:6px 12px 6px 6px}
.ops--compact .op__media{flex:none;width:56px;height:56px;aspect-ratio:1;border-radius:9px}
.ops--compact .op__body{flex:1;padding:0 0 0 14px}
.ops--compact .op__title{font-size:15px;line-height:1.3}
.ops--compact .go{width:32px;height:32px}
/* «Пациентам» и другие разделы без текста */
.kids{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-width:none}
/* отзыв: фото пациента — миниатюрой с увеличением, а не аватаркой */
.rev__photo{display:block;margin-top:16px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-3);cursor:zoom-in}
.rev__photo img{width:100%;max-height:220px;object-fit:contain}
/* фото с текстом (image_block) — подпись на телефоне */
@media (max-width:699px){
  .prose img,.prose img[style*="float"]{float:none!important;display:block;max-width:100%;margin:16px auto!important}
  .egal{margin:28px 0;padding:16px;border-radius:var(--r);border-inline:1px solid var(--line)}
  .egal__list{margin:0 -16px;padding:0 16px;scroll-padding-inline:16px}
  .egal__item{flex-basis:86%}
  .prose .tbl--photos tbody,.prose .tbl--photos tr{display:block}
  .prose .tbl--photos tr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .prose .tbl--photos td{display:block;padding:0}
  .prose .tbl--photos table{width:100%!important;margin:0}
  .prose .image_block_content p{font-size:14px;padding-right:14px}
  .story{flex-basis:40vw}
  .crumbs li{display:none}
  .crumbs li:nth-last-child(2){display:inline-flex}
  .crumbs li:nth-last-child(2)::before{content:"←";width:auto;height:auto;margin:0 8px 0 0;border:0;transform:none;color:var(--text-3)}
  .crumbs li:only-child{display:inline-flex}
  .phead__cta .btn{width:100%}
  .ops--compact .ops__grid{grid-template-columns:1fr 1fr;gap:8px}
  .ops--compact .op__media{width:44px;height:44px}
  .ops--compact .op__body{padding-left:10px}
  .ops--compact .op__title{font-size:13.5px}
  .ops--compact .go{display:none}
  .ftr__bottom{padding-bottom:36px}
}
@media (min-width:700px) and (max-width:1100px){.ops--compact .ops__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---------- правки по разбору №2 ---------- */
.prose .text-orange{color:inherit;font-weight:600}
.prose .hide_list_block_item__title .text-orange{font-weight:inherit}
/* сворачивание длинного текста */
[data-clamp].is-cut:not(.is-open) .clamp__body,[data-clamp].is-measure .clamp__body{max-height:9.9em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.rev--short:not(.is-open):not(.is-measure) .rev__body{max-height:none;-webkit-mask-image:none;mask-image:none}
.rev.is-cut:not(.is-open) .rev__body{max-height:9.9em}
/* отзывы в ряд — одной высоты, ссылки внизу */
.revs{align-items:stretch}
.revs>.rev{display:flex;flex-direction:column}
.revs>.rev>.rev__foot{margin-top:auto;padding-top:18px}
.rev__head{align-items:center}
/* фото кейса: управление под фото */
.shots__ui{position:static;justify-content:flex-end;margin:0;padding:8px 10px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--bg-2);-webkit-backdrop-filter:none;backdrop-filter:none}
.shots__hint{margin-right:auto;font-size:13px;color:var(--text-3)}
.gcase__text strong,.gcase__text b{font-weight:600;color:inherit}
.gcase.is-cut:not(.is-open) .gcase__text{max-height:7.8em}
/* «Контакты»: карта */
.map{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-3)}
.map iframe{display:block;width:100%!important;height:clamp(320px,42vw,520px)!important;border:0}
.map__open{margin-top:12px}
.contacts__text{margin-top:28px;max-width:none;font-size:15.5px}
/* 404: разделы */
.err__links{margin-top:40px}
/* операции: названия без висячих слов */
.op__title{text-wrap:balance}
@media (max-width:699px){
  .cats{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding:0 var(--pad) 4px;scrollbar-width:none;scroll-snap-type:x proximity}
  .cats::-webkit-scrollbar{display:none}
  .cats a{flex:none;scroll-snap-align:start}
  .rev__foot{flex-direction:column;align-items:flex-start;gap:4px}
  .article__foot .btn,.err .btn{width:100%}
  .err{padding-top:40px}
}
/* ---------- правки по контрольному разбору ---------- */
/* заголовки в текстах CMS: отступ сверху больше, чем снизу (специфичнее общего «+ *») */
.prose .inline_content h2,.prose h2{margin-top:56px}
.prose .inline_content h3,.prose h3,.prose .inline_content .h3{margin-top:40px}
.prose .inline_content h4,.prose h4{margin-top:28px}
.prose .inline_content h2+*,.prose .inline_content h3+*,.prose .inline_content h4+*{margin-top:14px}
.prose .inline_content>div>h2:first-child,.prose .inline_content>div>h3:first-child{margin-top:0}
.prose img:not(.img-center){margin-inline:0}
.prose .image_block{aspect-ratio:16/9;min-height:0}
.prose .image_block_content{min-height:0;height:100%}
.prose .image_block img{margin:0!important}
.prose .image_block_bg img{object-position:50% 30%}
.sec-head__aside a{text-decoration:none}
.sec-head__aside a:not(.btn){text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.article__foot{max-width:780px}
.aside-card a.tel{color:var(--text);font-weight:600;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
/* свёрнутый текст: целые строки с многоточием, без полупрозрачных обрывков */
[data-clamp].is-cut:not(.is-open) .clamp__body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;max-height:none;overflow:hidden;-webkit-mask-image:none;mask-image:none}
[data-clamp].is-cut:not(.is-open) .clamp__body>*{display:inline;margin:0}
[data-clamp].is-cut:not(.is-open) .clamp__body>*+*::before{content:" "}
[data-clamp].is-cut:not(.is-open) .clamp__body :is(strong,b){font-weight:inherit;color:inherit}
[data-clamp].is-cut:not(.is-open) .clamp__body :is(img,iframe,.vw,.tbl){display:none}
.gcase.is-cut:not(.is-open) .gcase__text{-webkit-line-clamp:4;max-height:none}
/* фото к отзыву — как есть, без серой подложки */
.rev__photo{display:inline-block;max-width:100%;background:none;border-radius:var(--r-sm)}
.rev__photo img{display:block;width:auto;max-width:100%;max-height:280px;object-fit:contain;border-radius:var(--r-sm)}
/* видеоотзыв рядом с текстами: не уезжает, на телефоне — по центру */
@media (min-width:700px){.previews__grid>.story--big{position:sticky;top:96px;align-self:start}}
/* «До и после»: строка под фото у всех кейсов */
.shots__ui{min-height:53px;align-items:center}
/* «Контакты»: заглушка, пока грузится карта */
.map{position:relative}
.map::before{content:"Загружаем карту…";position:absolute;inset:0;display:grid;place-items:center;color:var(--text-3);font-size:14px}
.map iframe{position:relative}
.contacts__text{margin-top:40px}
/* подвал: адрес в одну строку */
.ftr__grid{grid-template-columns:1.4fr 1.3fr 1.1fr .7fr}
/* плавающие кнопки каналов: столбиком только на широких экранах, где есть поле справа; на страницах с колонкой записи — не нужны */
@media (min-width:700px){.fab{display:none}}  /* на компьютере плавающей кнопки нет: «Записаться» есть в закреплённой шапке */
@media (min-width:700px){.fab--aside{display:none}}
@media (max-width:1023px){.article__aside .aside-card+.aside-card{display:none}}
@media (max-width:699px){
  .prose .inline_content h2,.prose h2{margin-top:40px}
  .prose .inline_content h3,.prose h3{margin-top:30px}
  .cats{scroll-padding-inline:var(--pad)}
  .rev__foot{flex-direction:row;flex-wrap:wrap;gap:6px 18px}
  .previews__grid>.story--big{max-width:260px;margin-inline:auto}
}
/* галерея «до и после» в тексте — горизонтальная лента (правила списков текста её не трогают) */
.prose ul.egal__list{display:flex;flex-wrap:nowrap;margin:0 -28px;padding:0 28px}
.prose ul.egal__list>li{padding:0}
.prose ul.egal__list>li::before{content:none;display:none}
.egal__cap{margin-top:12px;margin-bottom:4px}
@media (max-width:699px){.prose ul.egal__list{margin:0 -16px;padding:0 16px}}
.prose .inline_content h2+*,.prose h2+*{margin-top:20px}
.prose h2::first-letter,.prose h3::first-letter{text-transform:uppercase}
.check{align-items:flex-start}
.check__box{margin-top:1px}
/* финальный разбор */
.prose td p{text-align:inherit!important}
.book .book__title{font-size:clamp(34px,3.4vw,52px)}
.prose .image_block{aspect-ratio:auto}
.prose .image_block_bg,.prose .image_block_bg p{position:static}
.prose .image_block_bg img{position:static;display:block;width:100%;height:auto!important}
.prose .image_block_content{position:absolute;left:0;bottom:0;height:auto;padding:20px}
.prose .image_block_link{z-index:3}
.prose .inline_content h2+*,.prose h2+*{margin-top:22px}
.egal__head{align-items:center}
.rev__foot{row-gap:8px}
@media (max-width:699px){.hdr{background:var(--bg)}.fab{background:var(--bg-2)}}

/* ---------- видео на месте превью (без окна) ---------- */
:root{--star:#D99A12;--pd-bg:#E8F1FB;--pd-ink:#1C5C9E;--tg:#229ED9}
.story a{aspect-ratio:9/16}
.vhost{position:relative;width:100%}
.vhost .vw{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r)}
.vhost--vert .vw{aspect-ratio:9/16}
.vhost .vw--frame{background:#000}
.vhost .vw--frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vhost--below{margin-top:16px}
.vhost--below.vhost--vert{max-width:320px}
.prose .vhost{max-width:780px;margin-top:18px}
.prose .vhost--vert{max-width:360px}
.about__media .vhost--vert{max-width:380px}
.story .vhost,.story .vhost .vw{height:100%}
.story .vhost .vw{aspect-ratio:9/16}
.lane .story{transition:flex-basis .35s var(--ease)}
.story.is-wide{flex-basis:min(720px,calc(100vw - 2 * var(--pad)))}
.story.is-wide .vhost .vw{aspect-ratio:16/9;height:auto}
.lane:has(.story.is-wide){align-items:flex-start}
.story--big .vhost .vw{aspect-ratio:9/16}
.previews__grid>.vhost--vert{max-width:260px}

/* ---------- отзывы ПроДокторов ---------- */
.pd__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px;margin-bottom:40px}
.pd__intro{flex:1 1 420px}
.pd__intro .h2{margin:0}
.pd__score{order:2;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.pd__badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--pd-bg);color:var(--pd-ink);font-weight:700;font-size:13.5px;letter-spacing:-.01em}
.pd__rating{display:flex;align-items:center;gap:10px;margin:0}
.pd__rating b{font-weight:600;font-size:38px;line-height:1;letter-spacing:-.04em}
.pd__count{font-weight:600;font-size:15px;color:var(--text);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:4px}
.stars{display:inline-flex;gap:2px;color:var(--star)}
.stars svg{width:20px;height:20px}
.stars--sm svg{width:16px;height:16px}
.pd__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.pdr{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.pdr[hidden]{display:none}
.pdr__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:14px}
.pdr__who{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;font-size:15.5px;color:var(--text)}
.pdr__ok{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-size:12.5px;color:var(--text-3)}
.pdr__ok svg{width:13px;height:13px;color:var(--pd-ink)}
.pdr__date{color:var(--text-3)}
.pdr__visit{margin:0;font-size:13.5px;color:var(--text-3)}
.pdr__text{font-size:15.5px;line-height:1.6;color:var(--text-body)}
.pdr__text p+p{margin-top:10px}
.pdr__text b{color:var(--text);font-weight:600}
.pdr.is-cut:not(.is-open) .pdr__text{-webkit-line-clamp:4}
.pdr .clamp__more{align-self:flex-start;margin-top:auto}
.pd__foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ---------- лента канала (Telegram + MAX) ---------- */
.feed__subs{font-size:14px;color:var(--text-3)}
.feed__cta p{margin:0}
.feed__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.feed__btns .btn svg{width:18px;height:18px}
.feed__btns .btn:hover svg{transform:none}
.post-tg{flex:0 0 300px;scroll-snap-align:start}
.post-tg__link{display:flex;flex-direction:column;height:100%;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);transition:border-color .25s}
.post-tg__link:hover{border-color:var(--line-3)}
.post-tg__media{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:9px;background:var(--bg-3)}
.post-tg__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.post-tg__link:hover .post-tg__media img{transform:scale(1.04)}
.post-tg__play{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;background:var(--glass-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:600;font-size:12.5px}
.post-tg__play svg{width:14px;height:14px}
.post-tg__body{display:flex;flex-direction:column;flex:1;gap:8px;padding:14px 10px 10px}
.post-tg__date{font-size:13px;color:var(--text-3)}
.post-tg__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;font-size:14.5px;line-height:1.55;color:var(--text-body)}
.post-tg__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-weight:600;font-size:14px;color:var(--text)}
.post-tg__more svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.post-tg__link:hover .post-tg__more svg{transform:translateX(3px)}
@media (max-width:959px){.pd__list{grid-template-columns:1fr 1fr}}
@media (max-width:699px){
  .pd__head{margin-bottom:28px}
  .pd__score{order:0;width:100%;padding:14px 16px}
  .pd__rating b{font-size:32px}
  .pd__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad) 4px;scroll-padding-inline:var(--pad)}
  .pd__list::-webkit-scrollbar{display:none}
  .pdr{flex:0 0 84%;scroll-snap-align:start;padding:18px}
  .pd__foot .btn{width:100%}
  .post-tg{flex-basis:76vw}
  .feed__btns .btn{width:100%}
  .story.is-wide{flex-basis:calc(100vw - 2 * var(--pad))}
}
/* ---------- разбор новых блоков ---------- */
.pdr{height:auto}
.pd__list>.pdr.is-open,.revs>.rev.is-open{grid-column:1/-1}
.pdr.is-open .pdr__text,.revs>.rev.is-open .rev__body{max-width:72ch}
.revs:has(.is-open,.vhost){align-items:start}
.vhost .vw{border:0;box-shadow:0 0 0 1px var(--img-line)}
.vhost--vert{max-width:min(100%,calc((100svh - 160px) * 9 / 16))}
.prose .vhost{max-width:780px!important}
.prose .vhost--vert,.about__media .vhost--vert,.vhost--below.vhost--vert{max-width:min(360px,calc((100svh - 160px) * 9 / 16))!important}
@media (max-width:699px){.vhost--vert,.prose .vhost--vert,.vhost--below.vhost--vert{max-width:min(100%,calc((100svh - 200px) * 9 / 16))!important;margin-inline:auto}}
.lane:has(.story.is-wide){align-items:center}
@media (pointer:coarse){.vseek{height:32px}}
.feed .sec-head{align-items:end}
.feed__btns{flex-wrap:nowrap}
.feed__btns .btn{flex:1 1 0;padding:0 18px}
.feed__btns .btn svg{width:22px;height:20px}
@media (max-width:1100px){.feed__btns{flex-wrap:wrap}}
@media (min-width:1360px){.fab{top:auto;bottom:24px;transform:translate(16px,0)}.fab.is-on{transform:none}}
@media (max-width:699px){
  .pd__score{order:2}
  .pd__list{display:grid;grid-template-columns:1fr;overflow:visible;margin:0;padding:0}
  .pdr{flex:none}
  .pd__list:not(.is-all)>.pdr:nth-child(n+4){display:none}
  .pd__foot{flex-direction:column}
  .rev__foot{flex-direction:column;align-items:flex-start}
}
.story--big{width:100%}
@media (max-width:699px){.previews__grid>.story--big{width:100%;max-width:260px}.previews__grid>.story--big.is-wide{max-width:none}}
/* ---------- контрольный разбор новых блоков ---------- */
.feed__btns{flex-wrap:wrap;margin-top:24px}
.feed__btns .btn{flex:0 0 auto}
.feed .sec-head__aside a.btn--accent,.feed .btn--accent{color:var(--on-accent)}
.revs>.rev:has(.vhost){grid-column:1/-1}
.pd__list{grid-auto-flow:row dense}
@media (min-width:960px){
  .pdr.is-open{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:40px;align-items:start}
  .pdr.is-open>:not(.pdr__text):not(.clamp__more){grid-column:1}
  .pdr.is-open>.pdr__text,.pdr.is-open>.clamp__more{grid-column:2}
  .pdr.is-open>.pdr__text{grid-row:1/span 4}
  .pdr.is-open .pdr__head{flex-direction:column;align-items:flex-start}
}
.prose .vhost--vert{margin-inline:auto}
.rev__link[aria-expanded="true"] svg{display:none}
.rev__link[aria-expanded="true"]::before{content:"✕";font-size:13px;color:var(--accent-ink)}
.post-tg__play{background:var(--glass-2)}
@media (max-width:699px){
  .feed__btns{display:grid;grid-template-columns:1fr;gap:8px}
  .feed__btns .btn{width:100%;padding:0 16px}
  .feed .sec-head__aside{display:none}
  .rev__foot{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
  .lane .story.is-wide{align-self:flex-start}
}
@media (max-width:420px){.pdr__date{flex-basis:100%}}

/* ---------- официальные значки Telegram / MAX (Theme::brand, img/brand/*.svg) ---------- */
.bi{display:block;flex:none;width:20px;height:20px}
.topbar .bi,.ftr__list .bi{width:18px;height:18px}
.btn .bi{width:22px;height:22px}
.fab__ic:has(.bi),.chan__ic:has(.bi),.ccard__ic:has(.bi){background:none!important;padding:0}
.fab__ic .bi,.chan__ic .bi,.ccard__ic .bi{width:100%;height:100%}
.fab__ic:has(.bi){transition:transform .2s var(--ease)}
.fab__ic:has(.bi):hover{transform:translateY(-2px)}
/* лента каналов: одна общая, в шапке — два логотипа и подпись */
.feed__src{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.feed__pair{display:inline-flex;gap:6px}
.feed__pair .bi{width:40px;height:40px}
.feed__cap{margin:0;font-weight:600;font-size:15px;line-height:1.35;color:var(--text)}
.feed__cap small{display:block;margin-top:2px;font-weight:500;font-size:13.5px;color:var(--text-3)}
.feed__btns .feed__sub{border-color:var(--line-2);background:var(--bg-2)}
.feed__btns .feed__sub:hover{border-color:var(--text)}
@media (max-width:699px){.feed__pair .bi{width:34px;height:34px}.feed__cap{font-size:14px}}

/* MAX — скруглённый квадрат: рядом с кругом Telegram оптически крупнее, чуть уменьшаем (в карточках контактов — как есть) */
.feed__pair .bi--max,.fab .bi--max,.fab .bi--vk,.topbar .bi--max,.drawer__msg .bi--max,.ftr__list .bi--max,.btn .bi--max,.chan__ic .bi--max{transform:scale(.9)}
.ftr__list .bi{margin-inline:-1px}
.drawer__msg .btn{justify-content:flex-start;padding-left:20px}
.feed__subs{margin:12px 0 0;font-size:13.5px;color:var(--text-3)}
.aside-card__msg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aside-card__msg .btn{padding:0 12px}

/* ---------- «Как с вами связаться»: плитки 2×2 с официальными значками (своё, не «пилюли» как у Рабдановой/Пашковой) ---------- */
.way{min-width:0;margin:2px 0 0;padding:0;border:0}
.way__l,.ct__l{display:block;margin:0 0 8px;padding:0;font-weight:600;font-size:14px;line-height:1.3;color:var(--text-2)}
.way__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.way__o{position:relative;display:block;min-width:0;cursor:pointer}
.way__o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.way__t{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);font-weight:600;font-size:15px;line-height:1.2;color:var(--text);white-space:nowrap;transition:border-color .2s,box-shadow .2s,background-color .2s}
.way__t .bi{width:26px;height:26px}
.way__t .bi--max{transform:scale(.9)}
.way__call{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--fill);color:var(--accent-ink)}
.way__call svg{width:15px;height:15px}
.way__o:hover .way__t{border-color:var(--line-3)}
.way__o input:checked+.way__t{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--bg-2)}
.way__o input:focus-visible+.way__t{outline:2px solid var(--accent-ink);outline-offset:2px}
.ct{display:grid;gap:0;min-width:0}
.ct__head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;margin-bottom:8px}
.ct__head .ct__l{margin:0}
.ct__by{display:inline-flex;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg)}
.ct__by[hidden]{display:none}
.ct__by button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--text-2);font:600 13px/1 var(--f);cursor:pointer}
.ct__by button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
.ct__by button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}
.input[aria-invalid="true"]{border-color:var(--error)}
.input--area{height:auto;min-height:96px;padding:14px 18px;line-height:1.45;resize:vertical}
.ask{display:grid}
.ask[hidden]{display:none}
@media (max-width:380px){.way__t{gap:8px;padding:0 10px;font-size:14px}.way__t .bi,.way__call{width:22px;height:22px}}

/* ---------- окна: шапка с заголовком и ✕; на телефоне — на весь экран ---------- */
.modal__bar{position:absolute;top:12px;right:12px;z-index:3}
.modal__bar-t{display:none}
.modal__bar .modal__close{position:static}
@media (max-width:699px){
  html.has-modal,html.has-modal body{overflow:hidden}
  dialog.modal{position:fixed;inset:0 auto auto 0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}
  dialog.modal[open]{display:flex;flex-direction:column}
  .modal::backdrop{background:var(--bg-2)}
  .modal__bar{position:relative;top:auto;right:auto;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:8px 8px 8px 20px;padding-top:calc(8px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--bg-2)}
  .modal__bar-t{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:16px;color:var(--text)}
  .modal__form,.modal__body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .modal__form{padding:20px 20px calc(16px + env(safe-area-inset-bottom))}
  .modal__form .eyebrow,.modal__form .modal__title{display:none}
  .modal__form>.btn[type=submit]{position:sticky;bottom:0;z-index:2;box-shadow:0 -14px 14px -2px var(--bg-2)}
  .modal__body{padding:20px 20px calc(20px + env(safe-area-inset-bottom))}
}
/* ревью форм: выбор заметнее, переключатель в цветах темы, без прыжков высоты */
.way__l{margin-bottom:10px}
.ct__l{margin-bottom:8px}
.form>.ct__l{margin:0 0 -4px}
.way__t{position:relative;padding-right:34px}
.way__n{min-width:0;overflow:hidden;text-overflow:ellipsis}
.way__t::after{content:"";position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;border:1.5px solid var(--line-3);border-radius:50%;background:var(--bg-2);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.way__o input:checked+.way__t{background:color-mix(in srgb,var(--accent) 7%,var(--bg-2))}
.way__o input:checked+.way__t::after{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent)}
.way__call{background:var(--accent);color:var(--on-accent)}
.way__call svg{width:14px;height:14px}
.ct__head{min-height:38px;margin-bottom:6px}
.ct__by{border-radius:10px;padding:3px}
.ct__by button{min-height:32px;border-radius:8px}
.ct__by button[aria-pressed="true"]{background:var(--bg-2);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}
@media (pointer:coarse){.ct__by button{min-height:36px}}
.form .input:focus{border-color:var(--line-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.modal__form .form__status:empty{display:none}
@media (min-width:700px){
  dialog.modal{max-height:calc(100dvh - 48px)}
  .modal .modal__title{font-size:clamp(24px,2.2vw,30px)}
  .modal__bar{top:26px;right:26px}
}
@media (max-width:699px){
  .modal__form>.btn[type=submit]{box-shadow:0 -14px 14px -2px var(--bg-2),0 24px 0 8px var(--bg-2)}
  .ftr__form{padding-bottom:24px}
}
/* формы, третий круг: ошибки под полями, низ формы — кнопка со статусом; плитки по ширине формы (container query) */
.form__foot{display:grid;gap:8px}
.form__foot .form__status:empty{display:none}
.form__foot .btn{margin-top:0}
.field__err{margin:-4px 0 0;font-size:13.5px;line-height:1.35;color:var(--error)}
.field__err::before{content:"⚠ ";font-size:12px}
.form .input[aria-invalid="true"]{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}
.check:has(input[aria-invalid="true"]) .check__box{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.form .input:focus-visible{border-color:var(--text-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}
.way__t{background:var(--bg-2)}
.way__o input:checked+.way__t{background:color-mix(in srgb,var(--accent) 10%,var(--bg-2))}
.way__grid{container-type:inline-size}
@container (max-width:360px){
  .way__t{gap:8px;padding:0 22px 0 10px;font-size:14.5px}
  .way__t .bi,.way__call{width:22px;height:22px}
  .way__t::after{top:7px;right:7px;margin-top:0;width:13px;height:13px}
  .way__o input:checked+.way__t::after{box-shadow:inset 0 0 0 3px var(--accent)}
}
.ct{container-type:inline-size}
.ct__head{min-height:40px;margin-bottom:6px}
@media (pointer:coarse){.ct__head{min-height:44px}}
.ct__head:has(.ct__by[hidden]){align-items:flex-end}
@container (max-width:340px){.ct__head{flex-wrap:wrap;row-gap:6px}.ct__by{width:100%}.ct__by button{flex:1}}
.way__l{margin-bottom:8px}
.ct__by button{color:var(--text-3)}
.ct__by button[aria-pressed="true"]{background:var(--bg-2);color:var(--text);box-shadow:0 1px 2px rgba(20,20,20,.14),0 0 0 1px var(--line-2)}
@media (pointer:coarse){.input--area{resize:none}}
/* окно: прокручивается форма, а не окно — ✕ и низ с кнопкой всегда на месте (и на десктопе) */
dialog.modal[open]:has(.modal__form){display:flex;flex-direction:column;overflow:hidden}
.modal__form{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;padding-bottom:0}
.modal__form>.form__foot{position:sticky;bottom:0;z-index:2;margin:4px -40px 0;padding:14px 40px 24px;border-top:1px solid var(--line);background:var(--bg-2)}
@media (min-width:700px){.modal__bar{top:33px}}
@media (max-width:699px){
  .modal__form>.btn[type=submit]{box-shadow:none}
  .modal__form>.form__foot{margin:4px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom))}
  .modal__bar .modal__close{border-color:transparent}
  .modal__form .form__text{margin:0 0 2px;font-size:14.5px;line-height:1.5}
}
/* формы, контрольный круг */
@container (max-width:360px){.way__t{padding:0 10px;gap:7px}}
@container (max-width:300px){.way__t{font-size:14px;gap:6px}.way__t .bi,.way__call{width:20px;height:20px}}
.ct__head:has(.ct__by[hidden]){min-height:0}
.ct .field__err{margin-top:6px}
.check a{text-decoration-skip-ink:none}
/* окно: низ с кнопкой прижат к низу экрана и при короткой форме */
.modal__form{display:flex;flex-direction:column;gap:12px}
.modal__form>.form__foot{margin-top:auto}
dialog.modal:focus{outline:none}
.modal__close:focus:not(:focus-visible){outline:none;box-shadow:none}
.modal__close:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-4px}
.modal__form>*{flex-shrink:0}
.fab .fab__ic:has(.bi--vk){margin-left:-2px}

/* ---------- рекламные посадочные /direct-tg, /vk-tg (layouts/landing.php): один экран, одна цель ---------- */
.is-landing{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}
.land{flex:1 0 auto;display:grid;place-items:center;padding:clamp(20px,5vw,56px) 16px}
.land__card{width:min(520px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(28px,5vw,44px) clamp(20px,5vw,40px);border:1px solid var(--line);border-radius:calc(var(--r) * 1.6);background:var(--bg-2);box-shadow:0 30px 80px -40px var(--shadow)}
.land__photo{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:50% 20%;box-shadow:0 0 0 4px var(--bg-2),0 0 0 5px var(--line-2)}
.land__who{display:flex;flex-direction:column;gap:2px;margin:16px 0 0;font-size:14px;color:var(--text-3)}
.land__who b{font-weight:600;font-size:15px;color:var(--text)}
.land__title{margin:18px 0 0;font-weight:500;font-size:clamp(28px,6vw,38px);line-height:1.1;letter-spacing:-.035em;color:var(--text)}
.land__text{margin:14px 0 0;max-width:34ch;font-size:16.5px;line-height:1.55;color:var(--text-2)}
.land__btns{display:grid;gap:10px;width:100%;margin-top:26px}
.land__btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 24px;border-radius:999px;color:#fff;font:600 17px/1.2 var(--f);text-decoration:none;transition:transform .2s var(--ease),filter .2s}
.land__btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.land__btn .bi{width:30px;height:30px}
.land__btn--tg{background:#2AABEE}
.land__btn--max{background:linear-gradient(135deg,#3B7DED 0%,#8B5CF6 100%)}
.land__btn:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}
.land__note{margin:14px 0 0;max-width:36ch;font-size:13.5px;line-height:1.5;color:var(--text-3)}
.land__posts{width:100%;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.land__posts-h{margin:0 0 12px;font-weight:600;font-size:14px;color:var(--text-2)}
.land__shots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.land__shots img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--bg-3)}
.land__foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));font-size:13px;color:var(--text-3)}
.land__foot a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
/* посадочные: правки по разбору — портрет крупнее, глиняное кольцо, ровные переносы, жирнее кнопки, без рамки на телефоне */
.land__photo{width:148px;height:148px;object-position:50% 25%;box-shadow:0 0 0 3px var(--bg-2),0 0 0 4px var(--accent)}
.land__title,.land__text,.land__note{text-wrap:balance}
.land__btn{font-weight:700}
.land__btn .bi{width:28px;height:28px}
.land__note{max-width:none}
@media (max-width:480px){
  .land{padding:24px 20px;place-items:start center}
  .land__card{padding:8px 0 0;border:0;border-radius:0;background:none;box-shadow:none}
}
.land__btn--max .bi{background:#fff;border-radius:28%;box-shadow:0 0 0 2px #fff}
/* посадочные: свежие посты — с текстом (владелец 02.11) */
.land__posts-h{text-align:left}
.land__list{display:grid;gap:10px;margin:0;padding:0;list-style:none;text-align:left}
.land__post{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);color:var(--text);text-decoration:none;transition:border-color .2s}
.land__post:hover{border-color:var(--line-3)}
.land__post:not(:has(img)){grid-template-columns:1fr}
.land__post img{width:88px;height:88px;object-fit:cover;border-radius:10px;background:var(--bg-3)}
.land__post-b{display:flex;flex-direction:column;gap:4px;min-width:0}
.land__post-d{font-size:12.5px;color:var(--text-3)}
.land__post-t{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;line-height:1.45;color:var(--text-2)}
@media (max-width:480px){.land__post{background:var(--bg-2)}}
.land__posts-h{font-size:15px;font-weight:600;color:var(--text)}
.land__post-d::after{content:" · Telegram ›";color:#229ED9;font-weight:600}
.land__post:hover{border-color:rgba(42,171,238,.45)}
.land__post-d::after{content:" · " attr(data-where) " ›"}
/* посадочные: у поста две ссылки — Telegram и MAX (владелец 02.11), карточка сама не ссылка */
.land__post-d::after{content:none}
.land__post:hover{border-color:var(--line)}
.land__post-go{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.land__pl{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px 0 6px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--text);font-weight:600;font-size:13.5px;text-decoration:none;transition:border-color .2s}
.land__pl:hover{border-color:var(--text-3)}
.land__pl .bi{width:24px;height:24px}
.land__pl .bi--max{transform:scale(.9)}
/* окно в браузерах без <dialog>: поверх страницы с затемнением */
dialog.is-shim[open]{position:fixed;inset:0;z-index:1000;margin:auto;display:block}
dialog.is-shim[open]::before{content:"";position:fixed;inset:-100vmax;z-index:-1;background:var(--veil)}
/* защита от спама: проверка «соберите картинку» внутри формы — видят только подозрительные (c11.js puzzle, common/components/AntiSpam.php) */
.pz-box{scroll-margin:16px 0 16px}
.modal__form .pz-box{scroll-margin-bottom:120px} /* в окне записи снизу липкая кнопка — ползунок не должен оказаться под ней */
.pz{display:grid;gap:12px;width:100%;padding:14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);box-shadow:0 24px 48px -36px var(--shadow)}
.pz__h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pz__h b{font-weight:600;font-size:15px;line-height:1.3;color:var(--text)}
.pz__r{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--bg-2);color:var(--text-2);cursor:pointer;transition:border-color .2s,color .2s}
.pz__r:hover{border-color:var(--line-3);color:var(--text)}
.pz__r:focus-visible,.pz__k:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.pz__v{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r-sm);background:var(--bg-3)}
.pz__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pz__pc{position:absolute;left:0;top:0;filter:drop-shadow(0 3px 6px rgba(20,20,20,.42));transition:opacity .2s}
.pz.is-wait .pz__bg,.pz.is-wait .pz__pc{opacity:.3}
.pz__bg:not([src]),.pz__pc:not([src]){visibility:hidden}
.pz__ok{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--on-accent);opacity:0;transition:opacity .25s;pointer-events:none}
.pz.is-ok .pz__ok{opacity:1}
.pz__tr{position:relative;height:52px;overflow:hidden;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-2);touch-action:none;-webkit-user-select:none;user-select:none}
.pz__fill{position:absolute;left:0;top:0;bottom:0;width:26px;border-radius:12px 0 0 12px;background:color-mix(in srgb,var(--accent) 12%,var(--bg))}
.pz__hint{position:absolute;inset:0 14px 0 66px;display:flex;align-items:center;font-size:13.5px;line-height:1.25;color:var(--text-3);pointer-events:none;transition:opacity .2s}
.pz__k{position:absolute;left:0;top:0;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:12px;background:var(--accent);color:var(--on-accent);cursor:grab;touch-action:none;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--accent) 70%,transparent);transition:background-color .2s}
.pz__k:hover{background:var(--accent-hover)}
.pz.is-drag .pz__k{cursor:grabbing}
.pz.is-drag .pz__hint,.pz.is-ok .pz__hint{opacity:0}
.pz.is-ok .pz__k{background:var(--text)}
.pz.is-bad .pz__v{animation:pzshake .45s}
.pz.is-bad .pz__k{background:var(--error)}
.pz__help{margin:0;font-size:13px;line-height:1.45;color:var(--text-3)}
.pz__help a{color:var(--text);font-weight:600;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
@keyframes pzshake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@media (prefers-reduced-motion:reduce){.pz.is-bad .pz__v{animation:none}}
@media (max-width:699px){.pz{padding:12px}.pz__h b{font-size:14.5px}}
