/* «Нәтиже» — медицинская лаборатория. Вид сайта поверх base.css движка.
   Палитра: бумага с холодным мятным оттенком, чернила, бирюза, кобальт; тёмные секции — глубокий сине-зелёный.
   Шрифты: Wix Madefor Display (заголовки), Wix Madefor Text (текст), Geist Mono (коды, метки, цифры). */
:root {
  --paper: #EEF3F1; --paper-2: #E3EBE8; --card: #F9FBFA; --white: #fff;
  --ink: #0B1D26; --ink-2: #364B56; --ink-3: #536874; --line: #CEDBD7; --line-2: #AFC2BD;
  --teal: #19C3B1; --teal-2: #10A897; --teal-ink: #06756B; --teal-soft: #D3F0EB; --teal-mist: #E6F6F3;
  --blue: #2340D6; --blue-soft: #E1E7FB;
  --night: #062029; --night-2: #0B2E3A; --night-3: #134050; --on-night: #E8F4F2; --on-night-2: #A9C3C8;
  --bg: var(--paper); --fg: var(--ink); --muted: var(--ink-2); --soft: var(--paper-2); --accent: var(--ink); --accent-ink: #fff; --ok: #0E8A6E; --bad: #C2402B;
  --radius: 22px; --radius-btn: 999px; --wrap: 1320px; --pad: 40px; --gap: 24px;
  --font-head: 'Wix Madefor Display', 'Wix Madefor Text', system-ui, sans-serif;
  --font-body: 'Wix Madefor Text', system-ui, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --ease: cubic-bezier(.16, .84, .24, 1); --ease-io: cubic-bezier(.72, 0, .18, 1);
  --step--1: 14px; --step-0: 17px; --step-1: 19px; --step-2: 24px;
  --enter: .12s;
  --top-h: 72px;
}
html.pre-on { --enter: 1.12s; }
body { font-size: var(--step-0); line-height: 1.6; background: var(--paper); text-rendering: optimizeLegibility; }
::selection { background: var(--teal); color: var(--ink); }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 6px; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
.wrap { width: min(var(--wrap), 100% - 2 * var(--pad)); }
.i { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.mono, .eyebrow, .crumbs { font-family: var(--font-mono); }
.small { color: var(--ink-3); }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ——— тонкая сетка лаборатории на фоне (только десктоп) ——— */
body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: linear-gradient(to right, rgba(11, 29, 38, .045) 1px, transparent 1px); background-size: calc((100vw - 80px) / 6) 100%; background-position: 40px 0; }

/* ——— кнопки ——— */
.btn { min-height: 50px; padding: 0 24px; font: 500 16px/1 var(--font-body); letter-spacing: -.005em; gap: 10px; transition: background .25s, color .25s, border-color .25s, transform .35s var(--ease), box-shadow .3s; will-change: transform; }
.btn:hover { filter: none; }
.btn .i { width: 18px; height: 18px; }
.btn--lg { min-height: 58px; padding: 0 30px; font-size: 17px; }
.btn--teal { background: var(--teal); border-color: var(--teal); color: var(--ink); }
.btn--teal:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.btn--ink { background: var(--ink); border-color: var(--ink); color: var(--white); }
.btn--ink:hover { background: var(--teal); border-color: var(--teal); color: var(--ink); }
.btn--line { background: transparent; border-color: var(--line-2); color: var(--ink); }
.btn--line:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.btn--line-l { background: transparent; border-color: rgba(232, 244, 242, .35); color: var(--on-night); }
.btn--line-l:hover { background: var(--on-night); border-color: var(--on-night); color: var(--night); }
.more { display: inline-flex; align-items: center; gap: 10px; font: 500 13px/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; color: var(--ink); padding: 8px 0; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--ease); }
.more:hover { background-size: 100% 1px; }
.more .i { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.more:hover .i { transform: translateX(4px); }
.more--l { color: var(--on-night); }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 999px; background: transparent; font: 500 14px/1 var(--font-body); color: var(--ink); transition: background .2s, color .2s, border-color .2s; }
.chip i { font: 400 12px/1 var(--font-mono); font-style: normal; color: var(--ink-3); }
.chip:hover { border-color: var(--ink); }
.chip.is-on, .chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.chip.is-on i, .chip[aria-pressed="true"] i { color: var(--on-night-2); }
.chip .i { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.chip[aria-pressed="true"] .i { transform: rotate(45deg); }

/* ——— кнопка «в корзину» ——— */
.add { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 20px 0 6px; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: var(--white); font: 500 16px/1 var(--font-body); transition: background .25s, color .25s, border-color .25s; }
.add__i { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--teal); color: var(--ink); transition: transform .5s var(--ease), background .25s; }
.add__i .i { position: absolute; width: 18px; height: 18px; stroke-width: 2; transition: transform .45s var(--ease), opacity .25s; }
.add__i .i + .i { opacity: 0; transform: scale(.4) rotate(-40deg); }
.add:hover .add__i { transform: rotate(90deg); }
.add[aria-pressed="true"] { background: var(--teal-soft); border-color: var(--teal); color: var(--ink); }
.add[aria-pressed="true"] .add__i { background: var(--teal); transform: none; }
.add[aria-pressed="true"] .add__i .i:first-child { opacity: 0; transform: scale(.4) rotate(90deg); }
.add[aria-pressed="true"] .add__i .i + .i { opacity: 1; transform: none; }
.add--lg { min-height: 58px; font-size: 17px; padding-right: 26px; }
.add--lg .add__i { width: 46px; height: 46px; }
.add--block { width: 100%; justify-content: center; position: relative; }
.add--block .add__i { position: absolute; left: 6px; }
.add--row { min-height: 44px; width: 44px; padding: 0; justify-content: center; background: transparent; border-color: var(--line-2); color: var(--ink); position: relative; z-index: 2; }
.add--row .add__t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.add--row .add__i { width: 34px; height: 34px; background: transparent; color: var(--ink); }
.add--row:hover { background: var(--ink); border-color: var(--ink); }
.add--row:hover .add__i { color: var(--white); }
.add--row[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); }
.add--row[aria-pressed="true"] .add__i { background: transparent; color: var(--ink); }
.add.is-pop .add__i { animation: pop .5s var(--ease); }
@keyframes pop { 40% { transform: scale(1.25); } }
.fly { position: fixed; z-index: 170; left: 0; top: 0; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(25, 195, 177, .25); pointer-events: none; }

/* ——— прелоадер: пробирка наполняется ——— */
.pre { position: fixed; inset: 0; z-index: 300; background: var(--night); color: var(--on-night); display: grid; place-items: center; animation: preOut .5s var(--ease-io) .95s forwards; cursor: pointer; }
.pre-seen .pre { display: none; }
html.pre-skip .pre { animation: preOut .4s var(--ease-io) forwards; }
@keyframes preOut { to { transform: translateY(-112%); visibility: hidden; } }
.pre__edge { position: absolute; left: 0; top: 100%; width: 100%; height: 60px; fill: var(--night); }
.pre__in { display: grid; justify-items: center; gap: 22px; }
.pre__tube { width: 74px; height: auto; overflow: visible; animation: preTilt 1s var(--ease) both; }
@keyframes preTilt { from { transform: rotate(-12deg) translateY(10px); opacity: 0; } 30% { opacity: 1; } to { transform: none; } }
.pre__cap { fill: var(--teal); }
.pre__glass { fill: none; stroke: var(--on-night); stroke-width: 3; }
.pre__shine { stroke: rgba(255, 255, 255, .35); stroke-width: 3; stroke-linecap: round; }
.pre__liq { transform: translateY(300px); animation: preFill .95s cubic-bezier(.45, .05, .2, 1) .05s forwards; }
@keyframes preFill { to { transform: translateY(64px); } }
.pre__wave { fill: var(--teal); animation: preWave 1.1s linear infinite; }
.pre__wave--2 { fill: #0E8F82; opacity: .6; animation-duration: 1.6s; animation-direction: reverse; }
@keyframes preWave { to { transform: translateX(-60px); } }
.pre__b { fill: rgba(255, 255, 255, .7); animation: preBub 1s ease-in .2s infinite; }
.pre__b--2 { animation-delay: .45s; animation-duration: 1.2s; }
.pre__b--3 { animation-delay: .7s; }
@keyframes preBub { from { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } to { transform: translateY(-150px); opacity: 0; } }
.pre__txt { display: grid; justify-items: center; gap: 6px; }
.pre__brand { font: 600 30px/1 var(--font-head); letter-spacing: -.02em; }
.pre__meta { font: 400 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-2); }
@property --pn { syntax: '<integer>'; inherits: false; initial-value: 0; }
.pre__n { --pn: 0; counter-reset: pn var(--pn); animation: preN .95s cubic-bezier(.45, .05, .2, 1) .05s forwards; }
.pre__n::after { content: counter(pn) '%'; }
@keyframes preN { to { --pn: 100; } }

/* ——— шапка ——— */
.top { height: var(--top-h); background: transparent; transition: background .35s, box-shadow .35s, backdrop-filter .35s; view-transition-name: top; }
.top.is-scrolled { background: rgba(238, 243, 241, .84); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 1px 0 var(--line); }
.top__in { height: 100%; display: flex; align-items: center; gap: 28px; padding: 0 var(--pad); max-width: 1520px; margin: 0 auto; }
.logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.logo__m { width: 32px; height: 32px; }
.logo__cap { fill: var(--teal); }
.logo__glass { fill: none; stroke: currentColor; stroke-width: 2; }
.logo__liq { fill: var(--teal); }
.logo__dot { fill: currentColor; }
.logo__w { font: 600 23px/1 var(--font-head); letter-spacing: -.03em; }
.logo__s { font: 400 11px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--ink-3); }
.top__nav { display: flex; gap: 6px; margin-left: 12px; }
.top__a { padding: 8px 12px; border-radius: 999px; font-size: 15px; text-decoration: none; color: var(--ink-2); transition: background .2s, color .2s; }
.top__a:hover { background: rgba(11, 29, 38, .06); color: var(--ink); }
.top__a.is-on { color: var(--ink); background: rgba(11, 29, 38, .07); }
.top__status { display: flex; align-items: center; gap: 8px; margin: 0 0 0 auto; font: 400 12px/1.2 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.top__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); flex: none; }
.top__dot.is-open { background: var(--teal); box-shadow: 0 0 0 0 rgba(25, 195, 177, .6); animation: ping 2s infinite; }
@keyframes ping { 70% { box-shadow: 0 0 0 8px rgba(25, 195, 177, 0); } 100% { box-shadow: 0 0 0 0 rgba(25, 195, 177, 0); } }
.top__phone { display: inline-flex; align-items: center; gap: 8px; font: 500 15px/1 var(--font-body); text-decoration: none; padding: 10px 16px; border: 1px solid var(--line-2); border-radius: 999px; transition: background .2s, color .2s, border-color .2s; }
.top__phone:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.top__phone .i { width: 16px; height: 16px; }
.top__menu { display: none; align-items: center; gap: 10px; height: 44px; padding: 0 14px 0 12px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--card); font: 500 14px/1 var(--font-body); }
.top__burger { display: grid; gap: 5px; width: 18px; }
.top__burger i { display: block; height: 1.6px; background: currentColor; border-radius: 2px; }
.top__burger i + i { width: 12px; }

/* ——— док: главная навигация ——— */
.dock { position: fixed; z-index: 90; left: 50%; bottom: 18px; display: flex; align-items: center; gap: 4px; padding: 6px; border-radius: 999px; background: rgba(249, 251, 250, .82); backdrop-filter: blur(18px) saturate(1.5); -webkit-backdrop-filter: blur(18px) saturate(1.5); border: 1px solid rgba(11, 29, 38, .08); box-shadow: 0 24px 60px -24px rgba(6, 32, 42, .45), 0 2px 6px rgba(6, 32, 42, .06); transform: translateX(-50%); view-transition-name: dock; }
html.pre-on .dock { animation: dockIn .9s var(--ease) var(--enter) both; }
@keyframes dockIn { from { transform: translate(-50%, 140%); } }
.dock a { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 16px; border-radius: 999px; text-decoration: none; font: 500 15px/1 var(--font-body); color: var(--ink-2); white-space: nowrap; transition: background .25s, color .25s; }
.dock a .i { width: 18px; height: 18px; }
.dock__a:hover { background: rgba(11, 29, 38, .06); color: var(--ink); }
.dock__a.is-on { background: var(--ink); color: var(--white); }
.dock__search { margin: 0 4px; min-width: 210px; border: 1px solid var(--line); background: var(--white); color: var(--ink-3) !important; }
.dock__search:hover { border-color: var(--ink); }
.dock__search span { flex: 1; }
.dock__more { font-style: normal; }
.dock__search kbd { font: 500 12px/1 var(--font-mono); padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink-3); }
.dock__cart { background: var(--teal); color: var(--ink) !important; position: relative; }
.dock__cart:hover { background: var(--ink); color: var(--white) !important; }
.dock__cart b { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--ink); color: var(--white); font: 500 12px/1 var(--font-mono); transition: transform .4s var(--ease); }
.dock__cart:hover b { background: var(--teal); color: var(--ink); }
.dock__cart.is-bump b { animation: pop .5s var(--ease); }
.dock__sum { font: 500 13px/1 var(--font-mono); }
.dock__sum:empty { display: none; }

/* ——— общие заголовки ——— */
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 12px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.eyebrow > span:first-child:not(.pulse) { display: inline-grid; place-items: center; min-width: 30px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--ink); color: var(--white); letter-spacing: .04em; }
.eyebrow--l { color: var(--on-night-2); }
.eyebrow--l > span:first-child { background: var(--teal) !important; color: var(--ink) !important; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); animation: ping 2s infinite; }
.h2 { font: 600 clamp(34px, 4.5vw, 66px)/.98 var(--font-head); letter-spacing: -.028em; text-transform: uppercase; }
.shead { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: clamp(24px, 5vw, 80px); align-items: end; margin-bottom: clamp(32px, 4vw, 56px); }
.shead .eyebrow { grid-column: 1 / -1; }
.shead .h2 { grid-column: 1; max-width: 17ch; }
.shead__p { grid-column: 2; margin: 0; color: var(--ink-2); max-width: 46ch; }
.shead .more { grid-column: 2; justify-self: start; margin-top: 14px; }
.sec { padding: clamp(72px, 9vw, 136px) 0; }
.sec--tight { padding: clamp(40px, 5vw, 72px) 0; }
.sec--top0 { padding-top: clamp(28px, 3vw, 44px); }
.sec--soft { background: var(--paper-2); }
.sec--dark { background: var(--night); color: var(--on-night); }
.sec--dark .shead__p, .sec--dark .eyebrow { color: var(--on-night-2); }
.sec--dark .eyebrow > span:first-child { background: var(--teal); color: var(--ink); }

/* разбивка заголовков на слова */
.nz [data-split] .w { display: inline-block; opacity: 0; transform: translate3d(0, .42em, 0) rotate(2.5deg); transform-origin: 0 100%; transition: opacity .7s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--sd, 0s) + var(--wi) * 55ms); }
.nz [data-split].is-in .w { opacity: 1; transform: none; }
/* раскрытие картинок */
.nz [data-clip] { clip-path: inset(10% 8% 10% 8% round 28px); transition: clip-path 1.3s var(--ease); }
.nz [data-clip] img { transform: scale(1.18); transition: transform 1.6s var(--ease); }
.nz [data-clip].is-in { clip-path: inset(0 0 0 0 round 28px); }
.nz [data-clip].is-in img { transform: none; }
.rv [data-reveal] { transform: translateY(32px); transition: opacity .9s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--i, 0) * 70ms); }

/* ——— главный экран: поле микроскопа ——— */
.hero { position: relative; isolation: isolate; min-height: max(680px, min(calc(100svh - var(--top-h)), 980px)); display: flex; flex-direction: column; overflow: clip; padding-bottom: 92px; }
.hero__cv { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; touch-action: pan-y; }
.hero__veil { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(238, 243, 241, .96) 0%, rgba(238, 243, 241, .86) 34%, rgba(238, 243, 241, 0) 62%), linear-gradient(0deg, rgba(238, 243, 241, .9) 0, rgba(238, 243, 241, 0) 22%); }
.hero__in { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 5vh, 64px) 0 clamp(32px, 5vh, 56px); pointer-events: none; }
.hero__in > * { pointer-events: auto; max-width: 780px; }
.hero__t { font: 600 clamp(46px, 6.5vw, 110px)/1 var(--font-head); letter-spacing: -.035em; text-transform: uppercase; margin: 0 0 26px; --sd: var(--enter); }
.hero__t em { font-style: normal; color: var(--teal-ink); position: relative; }
.hero__lead { font-size: var(--step-1); line-height: 1.55; color: var(--ink-2); max-width: 54ch !important; margin-bottom: 28px; }
.hsearch { display: flex; align-items: center; gap: 12px; max-width: 560px !important; padding: 6px 6px 6px 22px; border: 1px solid var(--line-2); border-radius: 999px; background: rgba(255, 255, 255, .86); backdrop-filter: blur(8px); transition: border-color .25s, box-shadow .3s; }
.hsearch:focus-within { border-color: var(--ink); box-shadow: 0 0 0 5px rgba(25, 195, 177, .22); }
.hsearch .i { color: var(--ink-3); }
.hsearch input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 17px; height: 46px; }
.hsearch input::-webkit-search-cancel-button { display: none; }
.hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 22px; }
.hero__alt { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; text-decoration: none; color: var(--ink); border-bottom: 1px solid var(--line-2); padding-bottom: 3px; transition: border-color .25s; }
.hero__alt:hover { border-color: var(--ink); }
.hero__facts { position: relative; z-index: 1; list-style: none; margin: 0 var(--pad); padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-2); border-radius: 20px; background: rgba(249, 251, 250, .74); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hero__facts li { display: grid; gap: 4px; padding: 18px 24px 20px; border-right: 1px solid var(--line); }
.hero__facts li:last-child { border-right: 0; }
.hero__facts b { font: 600 15px/1.2 var(--font-head); text-transform: uppercase; letter-spacing: .01em; }
.hero__facts span { font-size: 14px; color: var(--ink-3); }
.hud { position: absolute; z-index: 1; display: flex; gap: 14px; font: 400 11px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); pointer-events: none; }
.hud--tl { top: 22px; right: var(--pad); }
.hud--tl span + span { color: var(--teal-ink); }
.hud--br { bottom: 190px; right: var(--pad); flex-direction: column; align-items: flex-end; gap: 6px; }
.nz .hero__in .eyebrow, .nz .hero__lead, .nz .hsearch, .nz .hero__cta, .nz .hero__facts, .nz .hud { animation: up 1s var(--ease) both; animation-delay: calc(var(--enter) + var(--d, .2s)); }
.nz .hero__lead { --d: .35s; } .nz .hsearch { --d: .45s; } .nz .hero__cta { --d: .55s; } .nz .hero__facts { --d: .7s; } .nz .hero__in .eyebrow { --d: 0s; }
@keyframes up { from { opacity: 0; transform: translateY(24px); } }

/* ——— бегущая строка ——— */
.ticker { overflow: hidden; border-block: 1px solid var(--ink); background: var(--ink); color: var(--on-night); }
.ticker__track { display: flex; width: max-content; animation: tick 48s linear infinite; }
.ticker__track > div { display: flex; align-items: center; gap: 28px; padding: 16px 14px; font: 400 14px/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.ticker i { font-style: normal; color: var(--teal); margin-left: 6px; }
.ticker b { color: var(--teal); font-weight: 400; }
.ticker:hover .ticker__track { animation-play-state: paused; }
@keyframes tick { to { transform: translateX(-50%); } }

/* ——— таблица анализов ——— */
.ltable { border-top: 1.5px solid var(--ink); }
.lrow { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr) 96px 150px 110px 44px; align-items: center; gap: 20px; padding: 18px 12px; border-bottom: 1px solid var(--line); transition: background .3s; }
.lrow::before { content: ''; position: absolute; left: 0; top: -1px; bottom: -1px; width: 3px; background: var(--teal); transform: scaleY(0); transform-origin: 50% 0; transition: transform .45s var(--ease); }
.lrow:hover { background: var(--card); }
.lrow:hover::before { transform: none; }
.lrow__code { font: 400 13px/1 var(--font-mono); color: var(--teal-ink); letter-spacing: .02em; }
.lrow__name h3 { font: 500 18px/1.3 var(--font-body); letter-spacing: -.005em; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.lrow__name { min-width: 0; }
.krow a, .kz-it__n a, .finder__it b, .kz-sug span { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.cr-list a { white-space: nowrap; }
.lrow__name a { text-decoration: none; }
.lrow__name a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.lrow__name a:focus-visible { outline: none; }
.lrow__name a:focus-visible::after { outline: 2px solid var(--blue); outline-offset: -2px; border-radius: 4px; }
.lrow__name p { margin: 4px 0 0; font-size: 14px; color: var(--ink-3); }
.lrow__tube { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-2); }
.tm { width: 12px; height: 26px; flex: none; transition: transform .45s var(--ease); }
.tm__g { fill: rgba(255, 255, 255, .6); stroke: var(--ink-2); stroke-width: 1.4; }
.tm__l { fill: #9E2B3A; }
.lrow:hover .tm { transform: rotate(-14deg) translateY(-2px); }
.lrow__days { font: 400 13px/1.3 var(--font-mono); color: var(--ink-2); }
.lrow__price { font: 600 19px/1 var(--font-head); text-align: right; letter-spacing: -.01em; white-space: nowrap; }
.lrow.is-show { animation: up .6s var(--ease) both; animation-delay: calc(var(--k, 0) * 28ms); }

/* ——— путь пробы (прилипающая история) ——— */
.story { padding: clamp(72px, 9vw, 136px) 0; background: var(--card); border-block: 1px solid var(--line); }
.story__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.story__stick { position: sticky; top: calc(var(--top-h) + 20px); height: min(calc(100vh - var(--top-h) - 120px), 700px); min-height: 420px; }
.story__frame { position: relative; height: 100%; border-radius: 28px; overflow: hidden; background: var(--night); }
.story__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: inset(100% 0 0 0); transform: scale(1.12); transition: clip-path 1.1s var(--ease-io), transform 1.6s var(--ease); }
.story__img.is-on { clip-path: inset(0 0 0 0); transform: none; }
.story__hud { position: absolute; left: 20px; right: 20px; top: 18px; display: flex; justify-content: space-between; font: 400 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.story__rec { color: var(--teal); animation: blink 1.4s steps(2) infinite; }
@keyframes blink { 50% { opacity: .2; } }
.story__gauge { position: absolute; right: 20px; top: 56px; bottom: 24px; width: 4px; border-radius: 4px; background: rgba(255, 255, 255, .25); overflow: hidden; }
.story__gauge i { position: absolute; inset: 0; background: var(--teal); transform: scaleY(var(--p, 0)); transform-origin: 50% 0; }
.story__steps { list-style: none; margin: 0; padding: 0; }
.story__step { min-height: min(68vh, 620px); display: flex; flex-direction: column; justify-content: center; padding: 24px 0; border-top: 1px solid var(--line); transition: opacity .6s; }
.story__step:first-child { border-top: 0; }
.nz .story__step { opacity: .32; }
.nz .story__step.is-on { opacity: 1; }
.story__n { font: 500 clamp(64px, 7vw, 112px)/.9 var(--font-head); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.5px var(--ink); margin-bottom: 18px; transition: color .6s; }
.story__step.is-on .story__n { color: var(--teal); -webkit-text-stroke-color: var(--teal); }
.story__step h3 { font: 600 clamp(26px, 2.6vw, 40px)/1.05 var(--font-head); text-transform: uppercase; letter-spacing: -.02em; margin-bottom: 14px; }
.story__step p { color: var(--ink-2); max-width: 44ch; font-size: var(--step-1); }
.story__time { display: inline-flex; align-items: center; gap: 8px; font: 400 13px/1 var(--font-mono) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--teal-ink) !important; }
.story__mimg { display: none; }

/* ——— комплексы: стопка папок ——— */
.stack { display: grid; gap: 34px; padding-top: 18px; }
.fold { position: sticky; top: calc(var(--top-h) + 14px + var(--i) * 56px); --fc: var(--card); }
.fold:nth-child(3n+2) { --fc: #DDF1ED; }
.fold:nth-child(3n+3) { --fc: #E4E9F7; }
.fold__tab { position: relative; display: inline-flex; align-items: center; gap: 16px; height: 50px; padding: 0 26px 0 22px; border-radius: 20px 20px 0 0; background: var(--fc); font: 400 13px/1 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.fold__tab::after { content: ''; position: absolute; left: 100%; bottom: 0; width: 22px; height: 22px; background: radial-gradient(circle at 100% 0, transparent 21.5px, var(--fc) 22px); }
.fold__code { color: var(--white); background: var(--ink); padding: 5px 8px; border-radius: 6px; }
.fold__tn { font: 600 14px/1 var(--font-head); color: var(--ink); }
.fold__body { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 3vw, 44px); padding: clamp(16px, 1.6vw, 22px); background: var(--fc); border-radius: 0 28px 28px 28px; box-shadow: 0 -18px 50px -30px rgba(6, 32, 42, .35); min-height: clamp(440px, 37vw, 530px); }
.fold__img { position: relative; margin: 0; border-radius: 20px; overflow: hidden; background: var(--paper-2); }
.fold__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.fold:hover .fold__img img { transform: scale(1.04); }
.fold__save { z-index: 1; position: absolute; left: 16px; top: 16px; padding: 8px 12px; border-radius: 999px; background: var(--teal); font: 500 14px/1 var(--font-mono); }
.fold__txt { display: flex; flex-direction: column; padding: clamp(8px, 2vw, 28px) clamp(4px, 1vw, 12px) 8px 0; }
.fold__t { font: 600 clamp(32px, 3.6vw, 56px)/.96 var(--font-head); text-transform: uppercase; letter-spacing: -.03em; margin-bottom: 16px; }
.fold__t a { text-decoration: none; }
.fold__t a:hover { color: var(--teal-ink); }
.fold__lead { color: var(--ink-2); font-size: var(--step-1); max-width: 40ch; }
.fold__list { list-style: none; padding: 0; margin: 6px 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.fold__list li { padding: 7px 12px; border: 1px solid rgba(11, 29, 38, .16); border-radius: 999px; font: 400 13px/1 var(--font-mono); }
.fold__foot { margin-top: auto; display: grid; gap: 16px; }
.fold__price { display: flex; align-items: baseline; gap: 16px; margin: 0; }
.fold__price s { color: var(--ink-3); font: 400 16px/1 var(--font-mono); }
.fold__price b { font: 600 clamp(30px, 3vw, 44px)/1 var(--font-head); letter-spacing: -.02em; }
.fold__btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* ——— выезд на дом (тёмная секция) ——— */
.visit { background: var(--night); color: var(--on-night); padding: clamp(72px, 9vw, 136px) 0; overflow: clip; }
.visit__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.visit__img { position: relative; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 5; }
.visit__img img { width: 100%; height: 100%; object-fit: cover; }
.visit__tag { position: absolute; left: 18px; bottom: 18px; display: grid; gap: 4px; padding: 14px 18px; border-radius: 18px; background: rgba(6, 32, 42, .62); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #fff; }
.visit__tag span { font: 400 11px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-2); }
.visit__tag b { font: 600 20px/1.1 var(--font-head); }
.visit .h2 { max-width: 15ch; margin-bottom: 22px; }
.visit__p { color: var(--on-night-2); font-size: var(--step-1); max-width: 52ch; }
.visit__steps { list-style: none; padding: 0; margin: 28px 0; display: grid; gap: 0; border-top: 1px solid var(--night-3); }
.visit__steps li { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--night-3); }
.visit__steps b { font: 400 13px/1.6 var(--font-mono); color: var(--teal); }
.visit__price { display: flex; flex-wrap: wrap; gap: 14px 48px; margin-bottom: 30px; }
.visit__price p { display: grid; gap: 4px; margin: 0; }
.visit__price b { font: 600 clamp(32px, 3.4vw, 50px)/1 var(--font-head); letter-spacing: -.02em; color: var(--teal); }
.visit__price span { font-size: 14px; color: var(--on-night-2); }
.visit__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

/* ——— схема города ——— */
.cmap { width: 100%; height: auto; border-radius: 24px; display: block; }
.cmap__bg { fill: #F6FAF9; }
.cmap__dot { fill: rgba(11, 29, 38, .12); }
.cmap__roads path { fill: none; stroke: #D7E2DF; stroke-width: 9; stroke-linecap: round; }
.cmap__river { fill: none; stroke: #A9DDF0; stroke-width: 26; stroke-linecap: round; }
.cmap__park { fill: #CFEBDD; }
.cmap__zone { fill: rgba(25, 195, 177, .08); stroke: var(--teal-2); stroke-width: 2; stroke-dasharray: 8 8; animation: dash 30s linear infinite; }
@keyframes dash { to { stroke-dashoffset: -400; } }
.cmap__lbl text { font: 500 15px var(--font-mono); fill: var(--ink-3); letter-spacing: .04em; text-transform: uppercase; }
.cmap__lbl .cmap__lbl--s { font-size: 12px; }
.cmap__pin { cursor: pointer; }
.cmap__halo { fill: rgba(25, 195, 177, .22); transform-box: fill-box; transform-origin: center; animation: halo 2.6s var(--ease) infinite; }
.cmap__core { fill: var(--ink); transition: fill .3s; }
.cmap__in { fill: var(--teal); }
.cmap__name { font: 600 16px var(--font-head); fill: var(--ink); paint-order: stroke; stroke: #F6FAF9; stroke-width: 5px; stroke-linejoin: round; }
.cmap__pin.is-on .cmap__core { fill: var(--teal-2); }
.cmap__pin.is-on .cmap__in { fill: var(--white); }
.cmap__pin.is-on .cmap__halo { fill: rgba(25, 195, 177, .4); }
@keyframes halo { 0% { transform: scale(.5); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
.branches { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.branches__map { border: 1px solid var(--line); border-radius: 26px; padding: 8px; background: var(--card); }
.branches__list { list-style: none; padding: 0; margin: 0; border-top: 1.5px solid var(--ink); }
.branches__list a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; padding: 20px 8px; border-bottom: 1px solid var(--line); text-decoration: none; transition: background .25s, padding .35s var(--ease); }
.branches__list a:hover, .branches__list li.is-on a { background: var(--card); padding-left: 16px; }
.branches__n { grid-row: span 2; font: 400 13px/1.7 var(--font-mono); color: var(--teal-ink); }
.branches__nm { display: grid; gap: 2px; }
.branches__nm b { font: 600 22px/1.1 var(--font-head); text-transform: uppercase; letter-spacing: -.01em; }
.branches__nm small { font-size: 14px; color: var(--ink-3); }
.branches__h { font: 400 13px/1.4 var(--font-mono); color: var(--ink-2); }

/* ——— вопросы ——— */
.faq-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 80px); align-items: start; }
.faq-grid .shead { display: block; margin-bottom: 18px; }
.faq-grid .shead .h2, .kgrid .shead .h2, .vprice .shead .h2, .vzone .shead .h2, .vform .shead .h2, .lab-how .shead .h2, .blank .shead .h2 { margin-bottom: 18px; }
.faq details { border-color: var(--line-2); }
.faq summary { font: 500 19px/1.35 var(--font-body); padding: 22px 0; }
.faq summary::after { font: 300 28px/1 var(--font-head); color: var(--teal-ink); }
.faq details > div { color: var(--ink-2); }

/* ——— финальная полоса ——— */
.band { position: relative; overflow: clip; background: var(--teal); color: var(--ink); padding: clamp(80px, 10vw, 150px) 0; }
.band__in { position: relative; z-index: 1; }
.band .eyebrow { color: var(--ink); }
.band .eyebrow > span:first-child { background: var(--ink) !important; color: var(--teal) !important; }
.band__t { font: 600 clamp(40px, 6.4vw, 104px)/.93 var(--font-head); text-transform: uppercase; letter-spacing: -.035em; max-width: 16ch; margin-bottom: 24px; }
.band__p { font-size: var(--step-1); max-width: 54ch; color: #0B2C2B; }
.band__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.band .btn--teal { background: var(--ink); border-color: var(--ink); color: var(--white); }
.band .btn--teal:hover { background: var(--white); border-color: var(--white); color: var(--ink); }
.band .btn--line-l { border-color: rgba(11, 29, 38, .4); color: var(--ink); }
.band .btn--line-l:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.band__cells i { position: absolute; border-radius: 50%; border: 1.5px solid rgba(11, 29, 38, .16); background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, .35), rgba(255, 255, 255, 0) 60%); animation: floaty 14s ease-in-out infinite; }
.band__cells i::after { content: ''; position: absolute; left: 34%; top: 30%; width: 30%; height: 30%; border-radius: 46% 54% 50% 50%; background: rgba(11, 29, 38, .1); }
.band__cells i:nth-child(1) { width: 300px; height: 300px; right: 6%; top: -60px; }
.band__cells i:nth-child(2) { width: 140px; height: 140px; right: 28%; bottom: 40px; animation-delay: -4s; animation-duration: 18s; }
.band__cells i:nth-child(3) { width: 90px; height: 90px; right: 4%; bottom: 60px; animation-delay: -7s; }
.band__cells i:nth-child(4) { width: 200px; height: 200px; right: -50px; top: 45%; animation-delay: -2s; animation-duration: 20s; }
.band__cells i:nth-child(5) { width: 60px; height: 60px; right: 40%; top: 40px; animation-delay: -9s; }
@keyframes floaty { 50% { transform: translate(-24px, 18px) rotate(20deg) scale(1.05); } }

/* ——— подвал ——— */
.foot { background: var(--night); color: var(--on-night); padding: clamp(64px, 8vw, 110px) 0 120px; overflow: clip; }
.foot__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.foot__big { font: 600 clamp(26px, 2.6vw, 38px)/1.08 var(--font-head); letter-spacing: -.02em; max-width: 18ch; }
.foot__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.foot .eyebrow { color: var(--on-night-2); }
.foot__h { font: 400 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-2); margin-bottom: 18px; }
.foot__col ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.foot__col a, .foot__col span { text-decoration: none; color: var(--on-night); font-size: 15px; }
.foot__col a:hover { color: var(--teal); }
.foot__word { margin: clamp(48px, 7vw, 100px) 0 0; font: 600 23.5vw/.78 var(--font-head); letter-spacing: -.055em; color: var(--night-2); text-align: center; white-space: nowrap; user-select: none; }
.foot__word span { display: inline-block; background: linear-gradient(180deg, #0F3A49 0%, var(--night) 92%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.foot__legal { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 20px; padding-top: 22px; border-top: 1px solid var(--night-3); font-size: 13px; color: var(--on-night-2); }
.foot__legal p { margin: 0; }
.foot__legal a { color: var(--on-night); }
.foot__made { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--night-3); }
.foot__made a { display: inline-flex; align-items: center; gap: 8px; font: 500 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-2); text-decoration: none; padding: 6px 0; transition: color .25s; }
.foot__made a:hover { color: var(--teal); }
.foot__made .i { width: 14px; height: 14px; transition: transform .35s var(--ease); }
.foot__made a:hover .i { transform: translate(2px, -2px); }

/* ——— мобильное меню ——— */
.mnav { background: var(--paper); width: min(460px, 100%); padding-bottom: 110px; }
.mnav ul { gap: 0; border-top: 1.5px solid var(--ink); }
.mnav li a { display: flex; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font: 600 26px/1.1 var(--font-head); text-transform: uppercase; letter-spacing: -.02em; }
.mnav li a small { font: 400 12px/1 var(--font-mono); color: var(--teal-ink); }
.mnav li a.is-on { color: var(--teal-ink); }
.mnav__tel { font: 600 22px/1 var(--font-head); text-decoration: none; }

/* ——— поиск-палитра ——— */
.finder { position: fixed; inset: 0; z-index: 140; display: grid; align-items: start; justify-items: center; padding: max(10vh, 60px) 16px 16px; background: rgba(6, 32, 42, .42); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.finder.is-open { opacity: 1; visibility: visible; }
.finder__box { width: min(700px, 100%); background: var(--card); border-radius: 26px; overflow: hidden; box-shadow: 0 40px 100px -30px rgba(6, 32, 42, .6); transform: translateY(18px) scale(.98); transition: transform .45s var(--ease); }
.finder.is-open .finder__box { transform: none; }
.finder__field { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.finder__field .i { width: 24px; height: 24px; color: var(--teal-ink); }
.finder__field input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font: 500 22px/1.2 var(--font-body); }
.finder__field input::-webkit-search-cancel-button, .cat__search input::-webkit-search-cancel-button, .kz-add input::-webkit-search-cancel-button { display: none; }
.finder__x { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: none; display: grid; place-items: center; }
.finder__hint { margin: 0; padding: 12px 22px 0; font: 400 12px/1.4 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.finder__hint button { border: 0; background: none; padding: 0 2px; font: inherit; color: var(--teal-ink); text-decoration: underline; text-underline-offset: 3px; }
.finder__list { list-style: none; margin: 0; padding: 8px; max-height: min(56vh, 520px); overflow: auto; }
.finder__it { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 44px; gap: 14px; align-items: center; padding: 10px 12px; border-radius: 16px; }
.finder__it.is-act { background: var(--teal-mist); }
.finder__it a { text-decoration: none; display: grid; gap: 2px; }
.finder__it a b { font-weight: 500; }
.finder__it a small { font-size: 13px; color: var(--ink-3); }
.finder__c { font: 400 12px/1 var(--font-mono); color: var(--teal-ink); }
.finder__p { font: 600 16px/1 var(--font-head); white-space: nowrap; }
.finder__empty { padding: 26px 22px; color: var(--ink-2); }
.finder__foot { display: flex; justify-content: space-between; gap: 12px; padding: 12px 22px; border-top: 1px solid var(--line); font: 400 12px/1.3 var(--font-mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.finder__foot a { color: var(--ink); }

/* ——— шапка внутренних страниц ——— */
.phead { padding: 0 0 clamp(36px, 5vw, 72px); border-bottom: 1px solid var(--line); }
.crumbs { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding-top: 18px; }
.phead__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-top: clamp(20px, 4vw, 56px); }
.phead__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.phead__meta span { padding: 7px 10px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--ink-2); }
.phead__meta span:first-child { background: var(--ink); border-color: var(--ink); color: var(--white); }
.phead__t { font: 600 clamp(44px, 7vw, 116px)/.92 var(--font-head); letter-spacing: -.04em; text-transform: uppercase; max-width: 15ch; margin-bottom: 24px; }
.phead__lead { font-size: var(--step-1); color: var(--ink-2); max-width: 58ch; margin: 0; }
.phead__bc { display: grid; gap: 8px; width: 200px; padding-bottom: 6px; font: 400 12px/1 var(--font-mono); letter-spacing: .16em; text-align: center; color: var(--ink-2); }
.phead__bc .bar { width: 100%; height: 70px; fill: var(--ink); }

/* ——— каталог ——— */
.cat { padding: clamp(28px, 3vw, 44px) 0 clamp(72px, 8vw, 120px); scroll-margin-top: 80px; }
.cat__bar { display: flex; gap: 14px; align-items: stretch; margin-bottom: 18px; }
.cat__search { flex: 1; display: flex; align-items: center; gap: 12px; padding: 0 22px; min-height: 64px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--white); transition: border-color .25s, box-shadow .3s; }
.cat__search:focus-within { border-color: var(--ink); box-shadow: 0 0 0 5px rgba(25, 195, 177, .22); }
.cat__search .i { width: 22px; height: 22px; color: var(--ink-3); }
.cat__search input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font-size: 19px; }
.cat__sort { display: flex; align-items: center; gap: 10px; padding: 0 8px 0 22px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--white); font: 400 12px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.cat__sort select { border: 0; background: none; font: 500 15px/1 var(--font-body); color: var(--ink); min-height: 60px; padding-right: 10px; }
.cat__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.cat__toggles { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-bottom: 26px; }
.tog { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.tog input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tog span { position: relative; width: 42px; height: 24px; border-radius: 999px; background: var(--line-2); transition: background .25s; }
.tog span::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .35s var(--ease); }
.tog input:checked + span { background: var(--teal-2); }
.tog input:checked + span::after { transform: translateX(18px); }
.tog input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 3px; }
.cat__count { margin: 0 0 0 auto; font: 400 13px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.cat__count b { color: var(--ink); font-weight: 500; }
.cat__empty { padding: 48px 0; border-bottom: 1px solid var(--line); }
.cat__empty-t { font: 600 26px/1.1 var(--font-head); text-transform: uppercase; }
.cxmini { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cxmini a { position: relative; display: grid; gap: 6px; height: 100%; padding: 22px 22px 20px; border-radius: 22px; background: var(--card); border: 1px solid var(--line); text-decoration: none; transition: transform .45s var(--ease), border-color .3s, box-shadow .4s; }
.cxmini a:hover { transform: translateY(-4px); border-color: var(--ink); box-shadow: 0 18px 40px -26px rgba(6, 32, 42, .5); }
.cxmini__c { font: 400 12px/1 var(--font-mono); color: var(--teal-ink); letter-spacing: .06em; }
.cxmini b { font: 600 22px/1.1 var(--font-head); text-transform: uppercase; letter-spacing: -.01em; }
.cxmini small { font-size: 14px; color: var(--ink-3); }
.cxmini__p { margin-top: 10px; font: 600 20px/1 var(--font-head); display: flex; gap: 10px; align-items: baseline; }
.cxmini__p s { font: 400 14px/1 var(--font-mono); color: var(--ink-3); }

/* ——— страница анализа ——— */
.ahero { padding: 0 0 clamp(44px, 5vw, 80px); }
.ahero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(28px, 5vw, 80px); align-items: start; }
.ahero__main { padding-top: 4px; }
.ahero__main .eyebrow { margin-top: clamp(24px, 4vw, 52px); }
.ahero__t { font: 600 clamp(36px, 4.6vw, 72px)/1.0 var(--font-head); letter-spacing: -.035em; margin-bottom: 22px; max-width: 19ch; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.ahero__lead { font-size: var(--step-1); color: var(--ink-2); max-width: 58ch; }
.ahero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 30px 0 0; border-top: 1.5px solid var(--ink); }
.ahero__facts div { padding: 16px 16px 4px 0; border-right: 1px solid var(--line); }
.ahero__facts div + div { padding-left: 18px; }
.ahero__facts div:last-child { border-right: 0; }
.ahero__facts dt { display: flex; align-items: center; gap: 8px; font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 10px; }
.ahero__facts dt .i { width: 16px; height: 16px; color: var(--teal-ink); }
.ahero__facts dd { margin: 0; font: 500 18px/1.3 var(--font-body); }
.ahero__cx { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0 0; }
.ahero__cx + .ahero__cx { margin-top: 10px; }
.ahero__cx span { min-width: 150px; font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.ahero__cx a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line-2); text-decoration: none; font-size: 15px; transition: background .2s, color .2s, border-color .2s; }
.ahero__cx a:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.ahero__cx i { font: 400 12px/1 var(--font-mono); font-style: normal; color: var(--teal-ink); }
.ahero__cx a:hover i { color: var(--teal); }
.label { position: sticky; top: calc(var(--top-h) + 16px); margin-top: 22px; padding: 18px 22px 22px; border-radius: 26px; background: var(--white); border: 1px solid var(--line); box-shadow: 0 30px 60px -40px rgba(6, 32, 42, .45); display: grid; gap: 12px; }
.label__top { display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1.5px dashed var(--line-2); font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.label__tube { display: grid; place-items: center; height: 230px; background: radial-gradient(circle at 50% 55%, var(--teal-mist), rgba(230, 246, 243, 0) 65%); }
.tb { height: 220px; width: auto; overflow: visible; }
.tb__g { fill: rgba(255, 255, 255, .45); stroke: var(--ink); stroke-width: 3; }
.tb__lbl { fill: #fff; stroke: var(--line-2); stroke-width: 1; }
.tb__code { font: 500 11px var(--font-mono); fill: var(--ink); }
.tb__bc { fill: var(--ink); }
.tb__liq { transform: translateY(120px); transition: transform 1.6s var(--ease) .3s; }
.label__tube.is-in .tb__liq, .no-js .tb__liq { transform: none; }
.label__tube.is-in .tb { animation: tilt 1.8s var(--ease) .2s; transform-origin: 50% 90%; }
@keyframes tilt { 30% { transform: rotate(-8deg); } 65% { transform: rotate(3deg); } }
.label__tn { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; color: var(--ink-2); }
.label__tn i { width: 12px; height: 12px; border-radius: 3px; flex: none; }
.label__price { display: flex; justify-content: space-between; align-items: baseline; margin: 6px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.label__price span { font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.label__price b { font: 600 42px/1 var(--font-head); letter-spacing: -.03em; }
.label__note { margin: 0; font-size: 14px; color: var(--ink-3); }
.agrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ablock { padding: clamp(24px, 3vw, 36px); border-radius: 24px; background: var(--card); border: 1px solid var(--line); }
.ablock__k { margin: 0 0 14px; font: 400 12px/1 var(--font-mono); color: var(--teal-ink); letter-spacing: .08em; }
.ablock h2 { font: 600 clamp(24px, 2.2vw, 32px)/1.05 var(--font-head); text-transform: uppercase; letter-spacing: -.02em; margin-bottom: 20px; }
.ablock__p { color: var(--ink-2); margin: 16px 0 0; }
.ablock--prep { background: var(--teal-mist); border-color: #BFE6DF; }
.checks { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 12px; }
.checks li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start; }
.checks .i { width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--teal); color: var(--ink); stroke-width: 2.4; }
.checks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin-top: 8px; }
.dots { padding-left: 1.1em; display: grid; gap: 8px; margin: 0; }
.dots li::marker { color: var(--teal-2); }
.mini { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; counter-reset: m; }
.mini li { display: grid; grid-template-columns: 36px 1fr; gap: 2px 14px; padding: 14px 0; border-top: 1px solid var(--line); counter-increment: m; }
.mini li::before { content: '0' counter(m); grid-row: span 2; font: 400 12px/1.8 var(--font-mono); color: var(--teal-ink); }
.mini b { font-weight: 600; }
.mini span { color: var(--ink-2); font-size: 15px; }
.mini--big b { font: 600 20px/1.2 var(--font-head); text-transform: uppercase; }
.tl { display: grid; gap: 14px; }
.tl__row { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 4px 14px; align-items: center; }
.tl__d { font: 400 12px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.tl__b { height: 10px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }
.tl__b i { display: block; height: 100%; width: var(--w); border-radius: 99px; background: linear-gradient(90deg, var(--teal), var(--teal-2)); transform-origin: 0 50%; transition: transform 1.4s var(--ease) .2s; }
.rv .ablock:not(.is-in) .tl__b i { transform: scaleX(0); }
.tl__t { grid-column: 2; font-size: 14px; color: var(--ink-2); }
.note { display: flex; gap: 14px; align-items: flex-start; margin: 32px 0 0; padding: 18px 22px; border-radius: 18px; background: var(--blue-soft); color: #1B2C66; font-size: 15px; }
.note .i { color: var(--blue); margin-top: 2px; }
.pband { position: relative; isolation: isolate; min-height: 420px; display: flex; align-items: flex-end; color: #fff; overflow: clip; }
.pband figure { position: absolute; inset: 0; margin: 0; z-index: -1; }
.pband img { width: 100%; height: 100%; object-fit: cover; }
.pband figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6, 32, 42, .9) 0%, rgba(6, 32, 42, .35) 60%, rgba(6, 32, 42, .2)); }
.pband__in { padding: 48px 0; display: grid; gap: 14px; justify-items: start; }
.pband__k { margin: 0; padding: 6px 10px; border-radius: 999px; background: var(--teal); font: 500 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.pband__t { margin: 0; font: 600 clamp(28px, 3.6vw, 52px)/1 var(--font-head); text-transform: uppercase; letter-spacing: -.02em; max-width: 20ch; }

/* ——— страница комплекса ——— */
.khero { padding: 0 0 clamp(44px, 5vw, 80px); }
.khero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: end; }
.khero__txt .eyebrow { margin-top: clamp(24px, 4vw, 52px); }
.khero__t { font: 600 clamp(44px, 6.4vw, 104px)/.92 var(--font-head); letter-spacing: -.04em; text-transform: uppercase; margin-bottom: 22px; }
.khero__lead { font-size: var(--step-1); color: var(--ink-2); max-width: 46ch; }
.khero__price { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 12px 40px; margin: 28px 0; padding: 20px 0; border-block: 1px solid var(--line-2); }
.khero__price p { margin: 0; display: grid; gap: 8px; }
.khero__price span { font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.khero__price s { font: 400 22px/1 var(--font-mono); color: var(--ink-3); }
.khero__price b { font: 600 clamp(30px, 3vw, 44px)/1 var(--font-head); letter-spacing: -.02em; }
.khero__save b { color: var(--teal-ink); }
.khero__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.khero__img { position: relative; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 5; max-height: 640px; }
.khero__img img { width: 100%; height: 100%; object-fit: cover; }
.khero__img figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.khero__img figcaption span { padding: 9px 12px; border-radius: 999px; background: rgba(249, 251, 250, .88); backdrop-filter: blur(8px); font: 400 12px/1 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.kgrid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.kgrid .shead { display: block; }
.kside { display: grid; gap: 16px; }
.krow { display: grid; grid-template-columns: 70px minmax(0, 1fr) 140px 96px; gap: 16px; align-items: center; padding: 16px 6px; border-bottom: 1px solid var(--line); }
.krow__c { font: 400 12px/1 var(--font-mono); color: var(--teal-ink); }
.krow a { text-decoration: none; font-weight: 500; }
.krow a:hover { color: var(--teal-ink); }
.krow__d { font: 400 12px/1.3 var(--font-mono); color: var(--ink-3); }
.krow b { font: 600 17px/1 var(--font-head); text-align: right; white-space: nowrap; }
.krow--sum span, .krow--sum b { color: var(--ink-3); }
.krow--sum b { text-decoration: line-through; font-weight: 500; }
.krow--tot { border-bottom: 0; }
.krow--tot span { font-weight: 600; }
.krow--tot b { font-size: 26px; color: var(--teal-ink); }
.memo__g { padding: 14px 0; border-top: 1px solid var(--line); }
.memo__g:first-of-type { border-top: 0; padding-top: 0; }
.memo__g h3 { font: 500 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--teal-ink); margin-bottom: 10px; }
.memo__g ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.memo__g li { display: grid; gap: 4px; padding-left: 18px; position: relative; }
.memo__g li::before { content: ''; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.memo__g small { font: 400 12px/1.3 var(--font-mono); color: var(--ink-3); }

/* ——— сравнение комплексов ——— */
.cmp__scroll { position: relative; overflow-x: auto; border-radius: 22px; border: 1px solid var(--line); background: var(--card); }
.cmp__t { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 15px; }
.cmp__t th, .cmp__t td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: center; }
.cmp__t thead th { font: 400 12px/1.3 var(--font-mono); letter-spacing: .04em; vertical-align: bottom; }
.cmp__t thead a { text-decoration: none; color: var(--teal-ink); }
.cmp__t thead span { color: var(--ink); font: 600 14px/1.2 var(--font-head); text-transform: uppercase; }
.cmp__t tbody th { text-align: left; font-weight: 500; }
.cmp__t tbody th a { text-decoration: none; }
.cmp__t tbody tr:hover { background: var(--teal-mist); }
.cmp__y { font-style: normal; color: var(--teal-2); font-size: 14px; }
.cmp__sum td, .cmp__sum th { border-bottom: 0; font-family: var(--font-head); }

/* ——— выезд ——— */
.vhero { padding: 0 0 clamp(44px, 5vw, 80px); }
.vhero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: end; }
.vhero__txt .eyebrow { margin-top: clamp(24px, 4vw, 52px); }
.vhero__t { font: 600 clamp(44px, 6vw, 98px)/.92 var(--font-head); letter-spacing: -.04em; text-transform: uppercase; margin-bottom: 22px; }
.vhero__lead { font-size: var(--step-1); color: var(--ink-2); max-width: 50ch; }
.vhero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.vhero__img { position: relative; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 3 / 2.4; }
.vhero__img img { width: 100%; height: 100%; object-fit: cover; }
.vsteps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vsteps li { position: relative; padding: 26px 0 0; }
.vsteps li::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--ink); transform-origin: 0 50%; transition: transform 1.2s var(--ease); transition-delay: calc(var(--i) * 140ms); }
.rv .vsteps li:not(.is-in)::before { transform: scaleX(0); }
.vsteps__n { font: 400 13px/1 var(--font-mono); color: var(--teal-ink); }
.vsteps h3 { font: 600 24px/1.1 var(--font-head); text-transform: uppercase; margin: 16px 0 10px; }
.vsteps p { color: var(--ink-2); font-size: 15px; }
.vprice { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.vprice .shead, .vzone .shead, .vform .shead { display: block; }
.ptable { width: 100%; border-collapse: collapse; border-top: 1.5px solid var(--ink); margin-bottom: 12px; }
.ptable th, .ptable td { padding: 18px 4px; border-bottom: 1px solid var(--line-2); font-size: 17px; }
.ptable th { text-align: left; font-weight: 500; }
.ptable td { text-align: right; font: 600 20px/1 var(--font-head); white-space: nowrap; }
.ptable td b { color: var(--teal-ink); }
.vwin { padding: 28px; border-radius: 24px; background: var(--night); color: var(--on-night); }
.vwin__t { font: 600 24px/1 var(--font-head); text-transform: uppercase; margin-bottom: 18px; }
.vwin__l { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 8px; }
.vwin__l li { display: grid; gap: 4px; padding: 14px 16px; border-radius: 14px; background: var(--night-2); }
.vwin__l b { font: 500 20px/1 var(--font-mono); color: var(--teal); }
.vwin__l span { font-size: 14px; color: var(--on-night-2); }
.vwin .small { color: var(--on-night-2); }
.vzone { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.vzone__map { border: 1px solid var(--line); border-radius: 26px; padding: 8px; background: var(--card); }
.vform { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.vform__box { padding: clamp(22px, 3vw, 36px); border-radius: 26px; background: var(--white); border: 1px solid var(--line); }
.vform .faq { margin-top: 24px; }

/* ——— отделения ——— */
.obr { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 44px); align-items: start; }
.obr__map { position: sticky; top: calc(var(--top-h) + 16px); border: 1px solid var(--line); border-radius: 28px; padding: 8px; background: var(--card); }
.obr__2gis { position: absolute; right: 22px; top: 22px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--ink); color: var(--white); text-decoration: none; font: 500 14px/1 var(--font-body); }
.obr__2gis .i { width: 16px; height: 16px; }
.obr__list { display: grid; gap: 14px; }
.bcard { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; padding: 14px; border-radius: 24px; background: var(--card); border: 1.5px solid var(--line); transition: border-color .35s, box-shadow .4s, transform .45s var(--ease); scroll-margin-top: 90px; }
.bcard.is-on { border-color: var(--teal-2); box-shadow: 0 24px 50px -36px rgba(6, 32, 42, .6); }
.bcard__img { margin: 0; border-radius: 16px; overflow: hidden; }
.bcard__img img { width: 100%; height: 100%; object-fit: cover; min-height: 180px; }
.bcard__txt { padding: 6px 4px 4px 0; }
.bcard__k { margin: 0 0 6px; font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--teal-ink); }
.bcard__t { font: 600 24px/1.05 var(--font-head); text-transform: uppercase; letter-spacing: -.015em; margin-bottom: 8px; }
.bcard__a { margin: 0 0 6px; color: var(--ink-2); font-size: 15px; }
.bcard__h { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 400 13px/1.3 var(--font-mono); }
.bcard__h .i { width: 16px; height: 16px; color: var(--teal-ink); }
.bcard__f { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.bcard__f li { padding: 6px 10px; border-radius: 999px; background: var(--paper-2); font-size: 13px; }
.bcard__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.bcard__btns .btn { min-height: 44px; padding: 0 18px; font-size: 15px; }
.ogall__g { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px; }
.ogall__g figure { margin: 0; border-radius: 24px; overflow: hidden; height: clamp(260px, 30vw, 440px); }
.ogall__g img { width: 100%; height: 100%; object-fit: cover; }

/* ——— подготовка ——— */
.prep__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; padding: 6px; border-radius: 999px; background: var(--paper-2); width: fit-content; max-width: 100%; }
.prep__tabs [role="tab"] { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: transparent; font: 500 16px/1 var(--font-body); color: var(--ink-2); transition: background .25s, color .25s; }
.prep__tabs [role="tab"][aria-selected="true"] { background: var(--ink); color: var(--white); }
.prep__sub { font: 400 13px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); margin-bottom: 18px; }
.prep__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.prep__list li { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 26px; border-radius: 22px; background: var(--card); border: 1px solid var(--line); animation: up .6s var(--ease) both; }
.prep__list li:nth-child(2) { animation-delay: .06s; } .prep__list li:nth-child(3) { animation-delay: .12s; } .prep__list li:nth-child(4) { animation-delay: .18s; }
.prep__list span { font: 600 34px/1 var(--font-head); color: var(--teal-2); }
.prep__list p { margin: 0; font-size: var(--step-1); }
.clock { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative; }
.clock::before { content: ''; position: absolute; left: 0; right: 0; top: 46px; height: 2px; background: var(--line-2); }
.clock li { position: relative; display: grid; gap: 30px; padding-right: 16px; }
.clock li::after { content: ''; position: absolute; left: 0; top: 40px; width: 14px; height: 14px; border-radius: 50%; background: var(--paper-2); border: 3px solid var(--teal-2); }
.clock li:last-child::after { background: var(--teal); }
.clock b { font: 600 clamp(26px, 2.6vw, 38px)/1 var(--font-head); letter-spacing: -.02em; }
.clock span { font-size: 15px; color: var(--ink-2); padding-top: 4px; }
.prep-meds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.prep-meds__box { padding: clamp(26px, 3.4vw, 44px); border-radius: 26px; background: var(--card); border: 1px solid var(--line); }
.prep-meds__box:first-child { background: var(--night); color: var(--on-night); border-color: var(--night); }
.prep-meds__box:first-child .eyebrow { color: var(--on-night-2); }
.prep-meds__box:first-child .eyebrow > span:first-child { background: var(--teal); color: var(--ink); }
.prep-meds__box .h2 { font-size: clamp(28px, 3vw, 44px); margin-bottom: 16px; }
.prep-meds__box p { font-size: var(--step-1); }

/* ——— о лаборатории ——— */
.aimg { display: grid; grid-template-columns: 1.5fr 1fr; gap: 14px; padding: 14px var(--pad) 0; max-width: 1520px; margin: 0 auto; }
.aimg figure { margin: 0; border-radius: 28px; overflow: hidden; height: clamp(300px, 42vw, 620px); }
.aimg img { width: 100%; height: 100%; object-fit: cover; }
.princ { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.princ--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.princ li { padding: 26px 0 0; border-top: 2px solid var(--ink); }
.princ span { font: 400 13px/1 var(--font-mono); color: var(--teal-ink); }
.princ h3 { font: 600 26px/1.05 var(--font-head); text-transform: uppercase; margin: 18px 0 12px; letter-spacing: -.015em; }
.princ p { color: var(--ink-2); font-size: 16px; }
.stats { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stats li { display: grid; gap: 10px; padding: 28px 0 0; border-top: 1px solid var(--night-3); }
.stats b { font: 600 clamp(64px, 8vw, 128px)/.86 var(--font-head); letter-spacing: -.05em; color: var(--teal); }
.stats span { color: var(--on-night-2); }
.team { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.team li { padding: 12px 12px 22px; border-radius: 24px; background: var(--card); border: 1px solid var(--line); }
.team__ph { position: relative; margin: 0 0 18px; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--paper-2); }
.team__ph img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.02); transform: scale(1.02); transition: filter .6s, transform 1.2s var(--ease); }
.team li:hover .team__ph img { filter: none; transform: scale(1.06); }
.team__ph figcaption { position: absolute; left: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; background: rgba(249, 251, 250, .9); backdrop-filter: blur(6px); font: 500 11px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.team h3, .team p { padding: 0 10px; }
.team__note { margin: 18px 0 0; font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.team h3 { font: 600 20px/1.15 var(--font-head); margin-bottom: 6px; }
.team p { margin: 0; color: var(--ink-3); font-size: 15px; }
.lab-how { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.lab-how .shead { display: block; }
.lab-how__img { margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 5; max-height: 600px; }
.lab-how__img img { width: 100%; height: 100%; object-fit: cover; }

/* ——— результаты ——— */
.rways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rway { padding: 30px; border-radius: 24px; background: var(--card); border: 1px solid var(--line); }
.rway .i { width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: var(--teal-soft); color: var(--teal-ink); margin-bottom: 26px; }
.rway h2 { font: 600 26px/1.05 var(--font-head); text-transform: uppercase; margin-bottom: 10px; }
.rway p { color: var(--ink-2); margin: 0; }
.blank { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.blank .shead { display: block; }
.blank__exp { min-height: 120px; padding: 22px 24px; border-radius: 20px; background: var(--night); color: var(--on-night); font-size: var(--step-1); }
.blank__sheet { padding: 28px; border-radius: 6px 28px 28px 28px; background: var(--white); box-shadow: 0 40px 70px -48px rgba(6, 32, 42, .6); border: 1px solid var(--line); }
.blank__head, .blank__row { display: grid; grid-template-columns: minmax(0, 1.3fr) 70px 64px minmax(0, 1.3fr); gap: 12px; align-items: center; }
.blank__head { padding: 0 12px 12px; border-bottom: 1.5px solid var(--ink); font: 400 11px/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.blank__row { width: 100%; padding: 16px 12px; border: 0; border-bottom: 1px solid var(--line); background: none; text-align: left; font: 400 15px/1.3 var(--font-body); border-radius: 10px; transition: background .25s; }
.blank__row:hover, .blank__row.is-on { background: var(--teal-mist); }
.blank__v { font: 500 16px/1 var(--font-mono); }
.blank__v.is-out { color: var(--blue); }
.blank__r { display: grid; gap: 6px; font: 400 12px/1 var(--font-mono); color: var(--ink-3); }
.blank__rng { position: relative; height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--paper-2) 0 20%, var(--teal-soft) 20% 80%, var(--paper-2) 80%); }
.blank__rng i { position: absolute; top: -4px; width: 4px; height: 16px; margin-left: -2px; border-radius: 2px; background: var(--ink); transition: transform .4s var(--ease); }
.blank__row.is-on .blank__rng i { transform: scaleY(1.3); background: var(--teal-2); }
.blank__foot { margin: 16px 0 0; font: 400 11px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }

/* ——— корзина ——— */
.kz-head { padding: 0 0 clamp(24px, 3vw, 40px); }
.kz-head__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; margin-top: clamp(20px, 3.4vw, 44px); }
.kz-head__t { font: 600 clamp(40px, 5.6vw, 92px)/.93 var(--font-head); letter-spacing: -.04em; text-transform: uppercase; max-width: 17ch; }
.kz-steps { list-style: none; padding: 0; margin: 0; display: flex; gap: 6px; }
.kz-steps li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; border: 1px solid var(--line-2); font-size: 14px; color: var(--ink-3); transition: background .3s, color .3s, border-color .3s; }
.kz-steps li span { font: 400 11px/1 var(--font-mono); }
.kz-steps li.is-on { background: var(--ink); color: var(--white); border-color: var(--ink); }
.kz-steps li.is-done { border-color: var(--teal-2); color: var(--teal-ink); }
.kz { padding: 0 0 clamp(80px, 8vw, 120px); }
.kz__grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
.kz__main { display: grid; gap: 16px; }
.kz__side { position: sticky; top: calc(var(--top-h) + 12px); display: grid; gap: 14px; }
.kz-card { padding: clamp(20px, 2.6vw, 32px); border-radius: 26px; background: var(--card); border: 1px solid var(--line); scroll-margin-top: 90px; }
.kz-card__h { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.kz-card__h h2 { display: flex; align-items: center; gap: 12px; font: 600 clamp(22px, 2vw, 30px)/1 var(--font-head); text-transform: uppercase; letter-spacing: -.015em; }
.kz-card__h h2 span { display: inline-grid; place-items: center; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--ink); color: var(--white); font: 400 12px/1 var(--font-mono); letter-spacing: .04em; }
.kz-clear, .kz-print { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; font: 400 12px/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); padding: 8px 0; }
.kz-clear:hover, .kz-print:hover { color: var(--ink); }
.kz-print .i { width: 16px; height: 16px; }
.kz-add { position: relative; display: flex; align-items: center; gap: 12px; padding: 0 18px; min-height: 56px; border: 1px solid var(--line-2); border-radius: 18px; background: var(--white); }
.kz-add:focus-within { border-color: var(--ink); box-shadow: 0 0 0 5px rgba(25, 195, 177, .2); }
.kz-add > .i { color: var(--ink-3); }
.kz-add input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font-size: 17px; }
.kz-sug { position: absolute; z-index: 20; left: -1px; right: -1px; top: calc(100% + 6px); list-style: none; margin: 0; padding: 6px; border-radius: 18px; background: var(--white); border: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(6, 32, 42, .5); max-height: 320px; overflow: auto; }
.kz-sug button { width: 100%; display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 0; border-radius: 12px; background: none; text-align: left; font-size: 15px; }
.kz-sug button:hover, .kz-sug button.is-act { background: var(--teal-mist); }
.kz-sug small { font: 400 12px/1 var(--font-mono); color: var(--teal-ink); }
.kz-sug b { font: 600 15px/1 var(--font-head); white-space: nowrap; }
.kz-sug .is-in b::after { content: ' ✓'; color: var(--teal-2); }
.kz-items { list-style: none; padding: 0; margin: 16px 0 0; display: grid; }
.kz-it { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto 40px; gap: 14px; align-items: center; padding: 14px 4px; border-bottom: 1px solid var(--line); transition: background .4s; }
.kz-it:first-child { border-top: 1.5px solid var(--ink); }
.kz-it.is-new { animation: itIn .55s var(--ease) both; }
@keyframes itIn { from { opacity: 0; transform: translateX(-14px); } }
.kz-it.is-hl { background: var(--teal-mist); }
.kz-it .tm { width: 14px; height: 30px; }
.kz-it__n { min-width: 0; }
.kz-it__n a { font-weight: 500; text-decoration: none; }
.kz-it__n a:hover { color: var(--teal-ink); }
.kz-it__n small { display: block; margin-top: 2px; font-size: 13px; color: var(--ink-3); }
.kz-it__p { font: 600 17px/1 var(--font-head); white-space: nowrap; text-align: right; }
.kz-it__p s { display: block; margin-bottom: 4px; font: 400 12px/1 var(--font-mono); color: var(--ink-3); }
.kz-it__x { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: none; color: var(--ink-3); transition: background .2s, color .2s, border-color .2s; }
.kz-it__x:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.kz-it__x .i { width: 16px; height: 16px; }
.kz-it--cx .kz-it__cx { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: var(--ink); color: var(--teal); font: 500 10px/1 var(--font-mono); }
.kz-it__tests { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.kz-it__tests span { padding: 3px 8px; border-radius: 999px; background: var(--paper-2); font: 400 11px/1.3 var(--font-mono); }
.kz-empty { padding: 26px 0 8px; }
.kz-empty__t { font: 600 22px/1 var(--font-head); text-transform: uppercase; margin-bottom: 8px; }
.kz-empty p { margin-bottom: 4px; color: var(--ink-2); }
.kz-quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.kz-tip { position: relative; overflow: hidden; margin-top: 18px; padding: 20px 22px; border-radius: 20px; background: var(--night); color: var(--on-night); display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; animation: tipIn .7s var(--ease) both; }
.kz-tip::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(25, 195, 177, .22) 50%, transparent 70%); transform: translateX(-100%); animation: shine 1.6s var(--ease) .3s; pointer-events: none; }
@keyframes tipIn { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@keyframes shine { to { transform: translateX(100%); } }
.kz-tip__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--teal); color: var(--ink); font: 600 18px/1 var(--font-head); }
.kz-tip__k { margin: 0 0 6px; font: 400 11px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--teal); }
.kz-tip__t { margin: 0 0 8px; font: 600 20px/1.2 var(--font-head); }
.kz-tip__p { margin: 0 0 14px; color: var(--on-night-2); font-size: 15px; }
.kz-tip__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.kz-tip__btns .btn { min-height: 44px; font-size: 15px; padding: 0 18px; }
.kz-tip--dup .kz-tip__ic { background: var(--blue-soft); color: var(--blue); }
.seg { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: var(--paper-2); margin-bottom: 20px; }
.seg label { position: relative; cursor: pointer; }
.seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.seg span { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 999px; font-weight: 500; color: var(--ink-2); transition: background .25s, color .25s; }
.seg input:checked + span { background: var(--ink); color: var(--white); }
.seg input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.kz-branch { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.kz-bmap { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.kz-bmap .cmap { border-radius: 0; }
.kz-blist { display: grid; gap: 8px; }
.kz-b { position: relative; cursor: pointer; }
.kz-b input { position: absolute; opacity: 0; }
.kz-b > span { display: grid; gap: 2px; padding: 12px 16px 12px 44px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--white); transition: border-color .25s, background .25s; position: relative; }
.kz-b > span::before { content: ''; position: absolute; left: 16px; top: 15px; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--line-2); transition: border .25s, background .25s; }
.kz-b input:checked + span { border-color: var(--teal-2); background: var(--teal-mist); }
.kz-b input:checked + span::before { border: 5px solid var(--teal-2); background: var(--white); }
.kz-b input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.kz-b b { font: 600 17px/1.1 var(--font-head); text-transform: uppercase; }
.kz-b small { font-size: 13px; color: var(--ink-3); }
.kz-home { display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; }
.kz-lbl { margin: 22px 0 10px; font: 400 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.kz-days { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.kz-day, .kz-time { position: relative; flex: none; cursor: pointer; }
.kz-day input, .kz-time input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.kz-day span { display: grid; justify-items: center; gap: 4px; min-width: 72px; padding: 12px 10px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--white); transition: border-color .2s, background .2s, color .2s; }
.kz-day small { font: 400 11px/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.kz-day b { font: 600 22px/1 var(--font-head); }
.kz-day input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--white); }
.kz-day input:checked + span small { color: var(--on-night-2); }
.kz-day input:disabled + span { opacity: .4; text-decoration: line-through; }
.kz-day input:focus-visible + span, .kz-time input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.kz-times { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.kz-time span { display: grid; place-items: center; min-height: 44px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--white); font: 500 15px/1 var(--font-mono); transition: border-color .2s, background .2s, color .2s; }
.kz-time input:checked + span { background: var(--teal); border-color: var(--teal); color: var(--ink); }
.kz-time input:disabled + span { color: var(--line-2); text-decoration: line-through; background: transparent; }
.kz-time.is-fast span { box-shadow: inset 0 -3px 0 var(--teal-soft); }
.kz-times .kz-time { animation: up .4s var(--ease) both; animation-delay: calc(var(--k) * 12ms); }
.kz-warn { margin-top: 16px; padding: 16px 18px; border-radius: 16px; background: var(--blue-soft); color: #1B2C66; font-size: 15px; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.kz-warn button { border: 0; background: var(--blue); color: #fff; border-radius: 999px; padding: 10px 16px; font: 500 14px/1 var(--font-body); }
.kz-memo__when { margin: 0 0 18px; padding: 16px 18px; border-radius: 16px; background: var(--teal-mist); font-weight: 500; }
.kz-memo .memo__g { animation: up .5s var(--ease) both; }
.kz-form__s { margin: 0 0 18px; color: var(--ink-2); }
.kz-wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font: 500 15px/1 var(--font-body); color: var(--teal-ink); }
.kz-rack { padding: 22px; border-radius: 26px; background: var(--night); color: var(--on-night); overflow: hidden; }
.kz-rack__h { display: flex; justify-content: space-between; font: 400 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--on-night-2); }
.kz-rack__h p { margin: 0; }
.kz-rack__h p + p { color: var(--teal); }
.kz-rack__stage { position: relative; height: 210px; margin: 18px 0 12px; display: flex; align-items: flex-end; justify-content: center; }
.kz-rack__slots { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 10px; padding: 0 12px 24px; }
.kz-rack__base { position: absolute; left: 6px; right: 6px; bottom: 0; height: 64px; border-radius: 10px; background: linear-gradient(180deg, #164556 0 30%, #0F3644 30% 100%); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .08); }
.kz-rack__base::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 30%; border-radius: 10px 10px 0 0; background: repeating-linear-gradient(90deg, transparent 0 14px, rgba(0, 0, 0, .25) 14px 34px); }
.kz-rack__empty { position: absolute; z-index: 2; left: 0; right: 0; top: 64px; text-align: center; font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--on-night-2); }
.rt { position: relative; width: 26px; height: 150px; animation: rtIn .8s cubic-bezier(.3, 1.4, .5, 1) both; animation-delay: calc(var(--k) * 70ms); }
.rt svg { width: 100%; height: 100%; overflow: visible; }
.rt__g { fill: rgba(255, 255, 255, .1); stroke: rgba(232, 244, 242, .75); stroke-width: 2; }
.rt__liq { transform: scaleY(0); transform-box: fill-box; transform-origin: 50% 100%; animation: rtFill 1s var(--ease) both; animation-delay: calc(.35s + var(--k) * 70ms); }
.rt__lbl { position: absolute; left: 50%; bottom: -22px; transform: translateX(-50%); font: 400 10px/1 var(--font-mono); color: var(--on-night-2); white-space: nowrap; }
@keyframes rtIn { from { transform: translateY(-190px); opacity: 0; } 40% { opacity: 1; } }
@keyframes rtFill { to { transform: scaleY(1); } }
.rt.is-out { animation: rtOut .45s var(--ease-io) forwards; }
@keyframes rtOut { to { transform: translateY(-190px); opacity: 0; } }
.kz-rack__n { margin: 18px 0 0; font-size: 13px; color: var(--on-night-2); }
.kz-bill { padding: 22px; border-radius: 26px; background: var(--white); border: 1px solid var(--line); }
.kz-bill__l { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; max-height: 280px; overflow: auto; }
.kz-bill__l li { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.kz-bill__l li span { color: var(--ink-2); min-width: 0; }
.kz-bill__l li b { font: 500 15px/1.4 var(--font-mono); white-space: nowrap; }
.kz-bill__l li.is-save b { color: var(--teal-ink); }
.kz-bill__l li.is-sub { padding-top: 8px; border-top: 1px dashed var(--line-2); }
.kz-bill__tot { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding: 14px 0; border-top: 1.5px solid var(--ink); }
.kz-bill__tot span { font: 400 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.kz-bill__tot b { font: 600 40px/1 var(--font-head); letter-spacing: -.03em; }
.kz-bill__d { font-size: 14px; color: var(--ink-3); margin-bottom: 14px; }

/* ——— 404 ——— */
.lostp { padding: clamp(60px, 9vw, 140px) 0; }
.lostp__in { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 48px; align-items: center; }
.lostp__tube { width: 120px; color: var(--ink); transform: rotate(-18deg); animation: wobble 4s ease-in-out infinite; }
@keyframes wobble { 50% { transform: rotate(-8deg); } }
.lostp__code { margin: 0; font: 600 clamp(80px, 14vw, 200px)/.8 var(--font-head); letter-spacing: -.05em; color: var(--teal); }
.lostp .page-title { text-transform: uppercase; letter-spacing: -.03em; font-weight: 600; }
.lostp__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.lost__code { color: var(--teal); opacity: 1; }

/* ——— формы ——— */
.field { color: var(--ink-3); font-size: 13px; }
.field input, .field select, .field textarea { border-radius: 14px; border-color: var(--line-2); background: var(--white); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(25, 195, 177, .2); }
.modal__box { border-radius: 28px; background: var(--card); }
.modal__t { font: 600 clamp(26px, 3vw, 34px)/1.05 var(--font-head); text-transform: uppercase; letter-spacing: -.02em; }
.modal__k { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }
.done { border-radius: 18px; background: var(--teal-mist); border-color: #BFE6DF; }
.done__t { font: 600 24px/1.1 var(--font-head); text-transform: uppercase; }
.wrap.narrow .page-title { text-transform: uppercase; font-weight: 600; letter-spacing: -.03em; }

/* ——— переходы между страницами (волна жидкости) ——— */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-out .62s var(--ease-io) both; }
::view-transition-new(root) { animation: vt-in .72s var(--ease-io) both; }
@keyframes vt-out { to { opacity: .55; transform: translateY(-48px) scale(.985); } }
@keyframes vt-in{0%{clip-path:polygon(0% 100%,0.0% 104.0%,6.3% 105.4%,12.5% 106.5%,18.8% 107.0%,25.0% 106.8%,31.3% 105.9%,37.5% 104.6%,43.8% 103.1%,50.0% 101.9%,56.3% 101.1%,62.5% 101.1%,68.8% 101.7%,75.0% 102.9%,81.3% 104.3%,87.5% 105.7%,93.8% 106.6%,100.0% 107.0%,100% 100%)}30%{clip-path:polygon(0% 100%,0.0% 82.7%,6.3% 83.0%,12.5% 82.1%,18.8% 80.3%,25.0% 77.9%,31.3% 75.5%,37.5% 73.8%,43.8% 73.0%,50.0% 73.4%,56.3% 74.9%,62.5% 77.1%,68.8% 79.6%,75.0% 81.6%,81.3% 82.8%,87.5% 82.9%,93.8% 81.8%,100.0% 79.8%,100% 100%)}60%{clip-path:polygon(0% 100%,0.0% 45.4%,6.3% 43.2%,12.5% 40.8%,18.8% 38.7%,25.0% 37.3%,31.3% 37.1%,37.5% 38.0%,43.8% 39.8%,50.0% 42.2%,56.3% 44.5%,62.5% 46.3%,68.8% 47.0%,75.0% 46.5%,81.3% 45.0%,87.5% 42.8%,93.8% 40.3%,100.0% 38.3%,100% 100%)}85%{clip-path:polygon(0% 100%,0.0% 8.7%,6.3% 7.6%,12.5% 7.0%,18.8% 7.2%,25.0% 8.0%,31.3% 9.3%,37.5% 10.8%,43.8% 12.1%,50.0% 12.8%,56.3% 13.0%,62.5% 12.4%,68.8% 11.2%,75.0% 9.8%,81.3% 8.4%,87.5% 7.4%,93.8% 7.0%,100.0% 7.3%,100% 100%)}100%{clip-path:polygon(0% 100%,0.0% -6.0%,6.3% -6.0%,12.5% -6.0%,18.8% -6.0%,25.0% -6.0%,31.3% -6.0%,37.5% -6.0%,43.8% -6.0%,50.0% -6.0%,56.3% -6.0%,62.5% -6.0%,68.8% -6.0%,75.0% -6.0%,81.3% -6.0%,87.5% -6.0%,93.8% -6.0%,100.0% -6.0%,100% 100%)}}
::view-transition-group(top), ::view-transition-group(dock) { animation-duration: .5s; }

/* ——— улучшение: лёгкое «утопание» карточек стопки при прокрутке ——— */
@supports (animation-timeline: view()) {
  @media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
    .fold__body { animation: sink linear both; animation-timeline: view(); animation-range: exit-crossing 10% exit-crossing 90%; }
    @keyframes sink { to { transform: scale(.94); filter: brightness(.93); } }
  }
}

/* ═════ адаптив ═════ */
@media (max-width: 1240px) {
  .top__nav { display: none; }
  .lrow { grid-template-columns: 72px minmax(0, 1fr) 90px 128px 100px 44px; gap: 14px; }
  .foot__grid { grid-template-columns: 1fr 1fr 1fr; }
  .foot__cta { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
  :root { --pad: 28px; }
  .top__status { display: none; }
  .top__phone { margin-left: auto; }
  .top__menu { display: inline-flex; }
  .dock { left: 12px; right: 12px; bottom: 12px; transform: none; justify-content: space-between; border-radius: 26px; padding: 6px; }
  html.pre-on .dock { animation-name: dockInM; }
  @keyframes dockInM { from { transform: translateY(140%); } }
  .dock a { flex: 1; flex-direction: column; justify-content: center; gap: 4px; height: 56px; padding: 0 4px; border-radius: 18px; font-size: 11px; }
  .dock a .i { width: 22px; height: 22px; }
  .dock__a--3 { display: none !important; }
  .dock__a--0 { order: 1; } .dock__a--1 { order: 2; } .dock__search { order: 3; } .dock__a--2 { order: 4; } .dock__cart { order: 5; }
  .dock__search { min-width: 0; margin: 0; border: 0; background: var(--ink); color: var(--white) !important; }
  .dock__search kbd { display: none; }
  .dock__search span { flex: none; }
  .dock__more { display: none; }
  .dock__cart { background: transparent; color: var(--ink-2) !important; }
  .dock__cart:hover { background: rgba(11, 29, 38, .06); color: var(--ink) !important; }
  .dock__cart.is-on { background: var(--ink); color: var(--white) !important; }
  .dock__cart b { position: absolute; top: 4px; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 4px; font-size: 10px; background: var(--teal); color: var(--ink); }
  .dock__sum { display: none; }
  .dock__cl { order: 2; }
  .hero { padding-top: var(--band); min-height: 0; --band: 320px; }
  .hero__veil { background: linear-gradient(180deg, rgba(238, 243, 241, 0) 0, rgba(238, 243, 241, 0) calc(var(--band) - 90px), rgba(238, 243, 241, .97) calc(var(--band) - 6px), var(--paper) 100%); }
  .hero__in { padding-top: 8px; padding-bottom: 24px; }
  .hero { padding-bottom: 96px; }
  .hud, .hero__facts { display: none !important; }
  .story__grid { grid-template-columns: 1fr; }
  .story__stick { display: none; }
  .nz .story__step { opacity: 1; }
  .story__step { min-height: 0; padding: 36px 0; }
  .story__mimg { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 22px; margin-top: 18px; }
  .story__step .story__n { color: var(--teal); -webkit-text-stroke-color: var(--teal); font-size: 56px; }
  .fold { position: relative; top: 0; }
  .fold__body { grid-template-columns: 1fr; min-height: 0; }
  .fold__img { aspect-ratio: 16 / 9; }
  .visit__grid { grid-template-columns: 1fr; }
  .visit__img { aspect-ratio: 4 / 3.4; }
  .branches, .faq-grid, .kgrid, .vprice, .vzone, .vform, .obr, .lab-how, .blank { grid-template-columns: 1fr; }
  .obr__map { position: relative; top: 0; }
  .ahero__grid { grid-template-columns: 1fr; }
  .label { position: relative; top: 0; grid-template-columns: 1fr 1fr; align-items: center; column-gap: 20px; }
  .label__top, .label__price, .label__note, .label .add, .label .btn { grid-column: 1 / -1; }
  .label__tube { grid-row: span 1; height: 200px; }
  .khero__grid, .vhero__grid { grid-template-columns: 1fr; align-items: start; }
  .khero__img { aspect-ratio: 16 / 10; }
  .vsteps, .princ, .team, .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .clock { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; }
  .clock::before { display: none; }
  .kz-head__row { grid-template-columns: 1fr; gap: 18px; }
  .lrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 16px 6px; }
  .lrow__code { order: 1; flex: 1; }
  .lrow__price { order: 2; font-size: 18px; }
  .lrow__name { order: 3; width: 100%; }
  .lrow__name h3 { font-size: 17px; }
  .lrow__tube { order: 4; font-size: 13px; }
  .lrow__days { order: 5; margin-right: auto; font-size: 12px; }
  .add--row { order: 6; }

  .kz__grid { display: flex; flex-direction: column; }
  .kz__main { display: contents; }
  .kz__side { position: relative; top: 0; display: grid; grid-template-columns: 1fr 1fr; order: 2; }
  .kz-list { order: 1; } .kz-where { order: 3; } .kz-memo { order: 4; } .kz-form { order: 5; }
  .kz__main > *, .kz__side { width: 100%; }
  .foot { padding-bottom: 130px; }
}
@media (max-width: 760px) {
  :root { --pad: 16px; --top-h: 62px; --step-0: 16px; --step-1: 17px; }
  body::before { display: none; }
  .top__in { gap: 10px; }
  .logo__s { display: none; }
  .logo__w { font-size: 21px; }
  .top__phone { width: 44px; height: 44px; padding: 0; justify-content: center; }
  .top__phone span { display: none; }
  .top__ml { display: none; }
  .top__menu { width: 44px; padding: 0; justify-content: center; }
  .h2 { font-size: clamp(30px, 8.6vw, 40px); }
  .shead { display: block; }
  .shead .h2 { margin-bottom: 14px; }
  .shead .more { margin-top: 10px; }
  .hero { --band: 236px; padding-bottom: 104px; }
  .hero__in { justify-content: flex-start; padding-top: 4px; }
  .hero__facts { display: none; }
  .hero__t { font-size: clamp(38px, 11.4vw, 52px); margin-bottom: 18px; }
  .hero__lead { font-size: 16px; margin-bottom: 20px; }
  .hsearch { padding-left: 16px; }
  .hsearch .btn { padding: 0 16px; min-height: 44px; }
  .hero__cta { margin-top: 16px; gap: 14px; }
  .hero__cta .btn { width: 100%; }
  .hero__facts li { padding: 12px 14px; }
  .hero__facts b { font-size: 13px; }
  .hero__facts span { font-size: 12px; }
  .hud--tl { top: 12px; right: 16px; }
  .cmap__name { font-size: 30px; stroke-width: 8px; }
  .cmap__lbl text { font-size: 24px; }
  .cmap__lbl .cmap__lbl--s { font-size: 20px; }
  .cmap__core { r: 15px; }
  .story__n { font-size: 48px !important; }
  .fold__tab { height: 44px; padding: 0 16px 0 12px; gap: 10px; max-width: calc(100% - 22px); }
  .fold__tm { display: none; }
  .fold__body { border-radius: 0 22px 22px 22px; padding: 12px; }
  .fold__txt { padding: 8px 6px 6px; }
  .fold__t { font-size: 32px; }
  .fold__btns > * { flex: 1 1 100%; justify-content: center; }
  .visit__price { gap: 14px 28px; }
  .visit__btns .btn { width: 100%; }
  .phead__row { grid-template-columns: 1fr; }
  .phead__bc { display: none; }
  .phead__t { font-size: clamp(36px, 10.6vw, 52px); }
  .cat__bar { flex-direction: column; }
  .cat__search { min-height: 56px; }
  .cat__sort { justify-content: space-between; }
  .cat__sort select { min-height: 50px; }
  .cat__chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--pad)); padding: 0 var(--pad) 6px; scrollbar-width: none; }
  .cat__chips .chip { flex: none; }
  .cat__count { width: 100%; margin: 0; }
  .cxmini { grid-template-columns: 1fr; }
  .ahero__t { font-size: clamp(30px, 8.6vw, 42px); }
  .ahero__facts { grid-template-columns: 1fr; }
  .ahero__facts div { border-right: 0; border-bottom: 1px solid var(--line); padding: 12px 0 !important; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
  .ahero__facts dt { margin: 0; }
  .ahero__facts dd { font-size: 16px; text-align: right; }
  .ahero__cx span { min-width: 0; width: 100%; }
  .label { grid-template-columns: 1fr; }
  .label__tube { height: 190px; }
  .tb { height: 180px; }
  .agrid { grid-template-columns: 1fr; }
  .checks--2 { grid-template-columns: 1fr; }
  .pband { min-height: 340px; }
  .khero__t, .vhero__t { font-size: clamp(36px, 10.4vw, 52px); }
  .khero__price { grid-template-columns: 1fr 1fr; gap: 16px; }
  .khero__save { grid-column: 1 / -1; }
  .khero__btns > * { flex: 1 1 100%; justify-content: center; }
  .krow { grid-template-columns: 1fr auto; gap: 4px 12px; }
  .krow__c { grid-column: 1; }
  .krow a { grid-column: 1 / -1; grid-row: 2; }
  .krow__d { grid-column: 1; grid-row: 3; }
  .krow b { grid-column: 2; grid-row: 1; }
  .krow--sum, .krow--tot { grid-template-columns: 1fr auto; }
  .krow--sum span:first-child, .krow--tot span:first-child, .krow--sum span:nth-child(3), .krow--tot span:nth-child(3) { display: none; }
  .krow--sum span, .krow--tot span { grid-row: 1; grid-column: 1; }
  .vsteps, .princ, .princ--3, .rways, .prep__list, .prep-meds, .ogall__g { grid-template-columns: 1fr; }
  .team { grid-template-columns: 1fr 1fr; gap: 10px; }
  .team li { padding: 8px 8px 16px; border-radius: 20px; }
  .team__ph { margin-bottom: 12px; border-radius: 14px; }
  .team h3 { font-size: 16px; padding: 0 6px; }
  .team p { font-size: 13px; padding: 0 6px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stats b { font-size: 64px; }
  .clock { grid-template-columns: 1fr; row-gap: 0; }
  .clock li { grid-template-columns: 76px 1fr; gap: 14px; padding: 14px 0 14px 28px; border-left: 2px solid var(--line-2); }
  .clock li::after { left: -8px; top: 18px; }
  .clock b { font-size: 24px; }
  .clock span { padding-top: 2px; }
  .ptable th, .ptable td { font-size: 15px; padding: 14px 2px; }
  .ptable td { font-size: 17px; }
  .bcard { grid-template-columns: 1fr; }
  .bcard__img img { min-height: 0; aspect-ratio: 16 / 9; }
  .obr__2gis { right: 14px; top: 14px; }
  .aimg { grid-template-columns: 1fr; padding-top: 0; }
  .aimg figure { height: 300px; }
  .aimg figure + figure { display: none; }
  .blank__sheet { padding: 16px 10px; }
  .blank__head, .blank__row { grid-template-columns: minmax(0, 1fr) 58px 54px; }
  .blank__head span:last-child { display: none; }
  .blank__r { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; }
  .prep__tabs { border-radius: 20px; width: 100%; }
  .prep__tabs [role="tab"] { flex: 1 1 40%; padding: 0 12px; font-size: 15px; }
  .kz-head__row { grid-template-columns: 1fr; gap: 18px; }

  .kz-head__t { font-size: clamp(34px, 9.6vw, 46px); }
  .kz-steps { overflow-x: auto; scrollbar-width: none; }
  .kz-steps li { flex: none; font-size: 13px; padding: 8px 12px; }
  .kz__side { grid-template-columns: 1fr; }
  .kz-branch { grid-template-columns: 1fr; }
  .kz-home { grid-template-columns: 1fr; }
  .kz-it { grid-template-columns: 16px minmax(0, 1fr) auto 36px; gap: 10px; }
  .kz-it__x { width: 36px; height: 36px; }
  .kz-tip { grid-template-columns: 1fr; }
  .kz-tip__btns .btn { flex: 1 1 100%; }
  .seg { width: 100%; }
  .seg label { flex: 1; }
  .seg span { justify-content: center; padding: 0 8px; width: 100%; white-space: nowrap; font-size: 15px; gap: 6px; }
  .kz-rack__stage { height: 190px; }
  .foot__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .foot__legal { grid-template-columns: 1fr; gap: 8px; }
  .foot__word { font-size: 25vw; }
  .lostp__in { grid-template-columns: 1fr; gap: 24px; }
  .lostp__tube { width: 80px; }
  .finder { padding-top: 16px; }
  .finder__it { grid-template-columns: minmax(0, 1fr) auto 44px; }
  .finder__c { display: none; }
  .finder__field input { font-size: 18px; }
  .finder__foot span:first-child { display: none; }
  .band__btns .btn { width: 100%; }
  .modal__box { border-radius: 24px; }
}
@media (max-width: 380px) {
  .dock a { font-size: 10px; }
  .hero__facts span { display: none; }
}

/* ——— уменьшенная анимация ——— */
@media (prefers-reduced-motion: reduce) {
  .pre { display: none !important; }
  .dock { animation: none; }
  .nz [data-split] .w { opacity: 1; transform: none; }
  .nz [data-clip], .nz [data-clip] img { clip-path: none; transform: none; }
  .nz .story__step { opacity: 1; }
  .ticker__track { animation: none; }
  .tb__liq { transform: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* ——— печать памятки ——— */
@media print {
  body * { visibility: hidden; }
  .kz-memo, .kz-memo * { visibility: visible; }
  .kz-memo { position: absolute; left: 0; top: 0; width: 100%; border: 0; }
  .kz-print { display: none; }
  body::before { display: none; }
}
