/* СИСТЕМАЛАБ (ex. Good Look Bar): демо-концепция.
   Всё локально: шрифты в ../fonts, фото в ../images, внешних адресов нет. */

/* ───── Шрифты. Titillium Web: латиница и цифры (кириллицы в нём нет). Exo 2: кириллица и знак ₽. Оба OFL, woff2 локально ───── */
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/titillium-web-300-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/titillium-web-300-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/titillium-web-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/titillium-web-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/titillium-web-600-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/titillium-web-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/titillium-web-700-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Titillium Web'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/titillium-web-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('../fonts/exo-2-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Exo 2'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('../fonts/exo-2-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ───── Токены. Цвета с логотипа: фон #044B43, надпись шампань #E2E1BC ───── */
:root {
  /* primitives */
  --teal-950: #02302b;
  --teal-900: #044b43;
  --teal-800: #0b5c52;
  --champ-300: #e2e1bc;
  --champ-200: #efeed4;
  --gold-700: #6f6226;
  --ivory-50: #fafbf6;
  --ivory-100: #f1f3ea;
  --ivory-200: #e4e8dc;
  --ink-900: #0d2b27;
  --ink-700: #34504b;
  --ink-600: #4b635e;

  /* semantic */
  --bg: var(--ivory-100);
  --surface: var(--ivory-50);
  --text: var(--ink-900);
  --text-2: var(--ink-600);
  --line: rgb(13 43 39 / .14);
  --line-strong: rgb(13 43 39 / .32);
  --ctl-border: rgb(13 43 39 / .58);     /* границы кнопок и вкладок: контраст 3:1 и выше */
  --accent-dark: var(--champ-300);   /* акцент на бирюзе */
  --accent-light: var(--gold-700);   /* акцент на светлом */
  --focus: var(--teal-900);

  /* type */
  --font: 'Titillium Web', 'Exo 2', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; /* в Titillium нет кириллицы и ₽: берутся из Exo 2 */

  /* shape: кнопки, вкладки, чипы капсулой; карточки и плашки 18; фото внутри карточек 12 */
  --r-pill: 999px;
  --r-lg: 18px;
  --r-md: 12px;

  /* layout */
  --gut: 20px;
  --maxw: 1240px;
  --hdr: 78px;

  /* motion */
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-io: cubic-bezier(.77, 0, .175, 1);
  --ease-drawer: cubic-bezier(.32, .72, 0, 1);
}
@media (min-width: 900px) { :root { --gut: 32px; --hdr: 88px; } }

/* ───── База ───── */
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr) + 8px); }
/* Полос прокрутки нет нигде: страница и ленты листаются колесом, пальцем и клавишами */
* { scrollbar-width: none; }
*::-webkit-scrollbar { display: none; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 1.0625rem/1.65 var(--font); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
h1, h2, h3, h4 { overflow-wrap: anywhere; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
address { font-style: normal; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 4px; }
.hdr, .hero, .promos, .photos, .ftr, .menu, .lb { --focus: var(--champ-300); }
.skip { position: fixed; left: 12px; top: -80px; z-index: 300; background: var(--champ-300); color: var(--teal-900); padding: 12px 18px; border-radius: var(--r-pill); font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }
.wrap { width: min(100% - 2 * var(--gut), var(--maxw)); margin-inline: auto; }
.ico { width: 1.25em; height: 1.25em; flex: none; fill: currentColor; }
.ico--s { width: 1em; height: 1em; }
.ph { border-bottom: 1px dashed currentColor; }

/* Ребристая панель: вертикальные рёбра, как рифлёная стена на фото команды */
.flutes {
  background-color: var(--teal-900);
  background-image:
    repeating-linear-gradient(90deg, rgb(255 255 255 / .045) 0 2px, rgb(0 0 0 / .07) 2px 3px, transparent 3px 16px),
    linear-gradient(180deg, rgb(255 255 255 / .05), transparent 38%);
}

/* ───── Кнопки ───── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 48px; padding: 0 22px; border-radius: var(--r-pill); font: 600 .9375rem/1.15 var(--font); text-decoration: none; text-align: center; border: 1px solid transparent; transition: transform 160ms var(--ease-out), background-color 200ms ease, color 200ms ease, border-color 200ms ease; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.btn:active { transform: scale(.97); }
.btn .ico { width: 1.3em; height: 1.3em; }
.btn--icon { padding: 0; width: 48px; }
.btn--icon .ico { width: 1.45em; height: 1.45em; }
.btn--call { min-height: 44px; padding: 0 18px 0 14px; background: var(--champ-300); color: var(--teal-900); }
.btn--primary { min-height: 58px; padding: 6px 22px 6px 18px; flex-wrap: wrap; row-gap: 0; background: var(--champ-300); color: var(--teal-900); justify-content: flex-start; gap: 12px; font-size: 1.0625rem; }
.btn--primary .btn__t { font-weight: 700; }
.btn--primary .btn__n { margin-left: auto; font-weight: 400; font-size: .9375rem; font-variant-numeric: tabular-nums; opacity: .8; }
.btn--ghost { color: var(--champ-300); border-color: rgb(226 225 188 / .62); }
.btn--solid { background: var(--teal-900); color: var(--champ-300); }
.btn--line { color: var(--teal-900); border-color: var(--ctl-border); }
.btn--cookie { flex: 1 1 8rem; min-height: 44px; background: var(--teal-900); color: var(--champ-300); border-color: var(--teal-900); }
@media (hover: hover) and (pointer: fine) {
  .btn--call:hover, .btn--primary:hover { background: #fff; }
  .btn--ghost:hover { background: rgb(226 225 188 / .12); border-color: var(--champ-300); }
  .btn--solid:hover { background: var(--teal-800); }
  .btn--line:hover { background: var(--teal-900); color: var(--champ-300); border-color: var(--teal-900); }
  .btn--cookie:hover { background: var(--teal-800); }
}
.link-btn { color: var(--champ-300); text-decoration: underline; text-underline-offset: .25em; font-weight: 600; min-height: 44px; padding: 0 2px; }
.link-arrow { display: inline-flex; align-items: center; gap: .5em; min-height: 44px; font-weight: 600; color: var(--teal-900); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: .3em; transition: text-decoration-color 200ms ease; }
@media (hover: hover) { .link-arrow:hover { text-decoration-color: var(--teal-900); } }

/* ───── Шапка: стеклянная капсула, не прилипшая к краю ───── */
.hdr { position: fixed; z-index: 100; top: max(10px, env(safe-area-inset-top)); left: 10px; right: 10px; pointer-events: none; }
.hdr__bar { pointer-events: auto; max-width: var(--maxw); margin-inline: auto; height: 62px; padding: 0 9px 0 12px; display: flex; align-items: center; gap: 10px; border-radius: var(--r-pill); background: rgb(3 56 50 / .74); border: 1px solid rgb(226 225 188 / .16); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); box-shadow: 0 18px 40px -22px rgb(2 30 27 / .7); color: var(--champ-300); transition: background-color 300ms ease; }
.hdr.is-solid .hdr__bar { background: rgb(3 56 50 / .94); }
.hdr__logo { display: block; margin-right: auto; line-height: 0; }
.hdr__logo img { height: 44px; width: auto; border-radius: 9px; }
.hdr__nav { display: none; }
.hdr__nav ul { display: flex; gap: 4px; }
.hdr__nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: var(--r-pill); font-weight: 600; font-size: .9375rem; text-decoration: none; transition: background-color 200ms ease, color 200ms ease; }
.hdr__nav a[aria-current="true"] { background: rgb(226 225 188 / .16); }
@media (hover: hover) { .hdr__nav a:hover { background: rgb(226 225 188 / .12); } }
.hdr__burger { position: relative; width: 44px; height: 44px; border-radius: 50%; flex: none; }
.hdr__burger span { position: absolute; left: 12px; right: 12px; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform 380ms var(--ease-drawer); }
.hdr__burger span:nth-child(1) { top: 18px; }
.hdr__burger span:nth-child(2) { top: 25px; }
.hdr__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(3.5px) rotate(45deg); }
.hdr__burger[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
@media (min-width: 1000px) {
  .hdr__bar { height: 66px; padding-left: 14px; }
  .hdr__logo { margin-right: 0; }
  .hdr__nav { display: block; margin-inline: auto; }
  .hdr__burger { display: none; }
  .hdr__logo img { height: 48px; }
}

/* Меню на телефоне */
.menu { overscroll-behavior: contain; position: fixed; inset: 0; z-index: 90; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--hdr) + 20px) var(--gut) 32px; color: var(--champ-300); background-color: var(--teal-950); opacity: 0; visibility: hidden; transition: opacity 320ms var(--ease-out), visibility 0s linear 320ms; }
.menu.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.menu[hidden] { display: none !important; }
.menu li { overflow: hidden; }
.menu li a { display: block; padding: 6px 0; font: 600 clamp(2.4rem, 11vw, 3.4rem)/1.12 var(--font); text-decoration: none; transform: translateY(100%); opacity: 0; transition: transform 560ms var(--ease-drawer), opacity 420ms ease; transition-delay: calc(var(--i) * 45ms + 80ms); }
.menu.is-open li a { transform: none; opacity: 1; }
.menu__tel { margin-top: 28px; font-weight: 600; font-size: 1.25rem; text-decoration: none; font-variant-numeric: tabular-nums; }
@media (min-width: 1000px) { .menu { display: none !important; } }

/* ───── Первый экран ───── */
.hero { position: relative; background: var(--teal-900); color: var(--champ-300); }
.hero__photo { position: relative; height: clamp(360px, 52svh, 520px); overflow: hidden; background: var(--teal-950); }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 22%; }
.hero__plaque { position: relative; padding-bottom: 36px; }
.hero__grid { display: grid; grid-template-columns: 98px minmax(0, 1fr); grid-template-areas: "tag gauge" "main main" "cta cta" "addr addr" "open open"; gap: 0 16px; }
.hero__side { display: contents; }
.hero__tag { grid-area: tag; position: relative; z-index: 2; display: block; width: 98px; margin-top: -58px; border-radius: 10px; overflow: hidden; box-shadow: 0 22px 44px -14px rgb(2 30 27 / .75), 0 0 0 1px rgb(226 225 188 / .14); }
.hero__tag img { width: 100%; height: auto; }
.hero__main { grid-area: main; padding-top: 26px; }
.hero h1 { font: 700 min(14vw, 3.9rem)/1 var(--font); letter-spacing: -.005em; color: #fff; text-wrap: balance; }
.hero h1 span { display: block; }
.h1__ex { margin-top: .5em; font-size: .38em; letter-spacing: .06em; color: var(--champ-300); }
.h1__kind { margin-top: .5em; font-size: .56em; line-height: 1.15; color: var(--champ-300); }
.hero__sub { margin-top: 18px; font-weight: 600; font-size: .9375rem; letter-spacing: .01em; color: var(--champ-300); }
.hero__desc { margin-top: 8px; max-width: 54ch; overflow-wrap: anywhere; color: rgb(239 238 212 / .86); }
.js .hero__desc.is-clamped { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hero__more { margin-top: 2px; }
.gauge { grid-area: gauge; align-self: end; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 0 14px; padding-bottom: 2px; color: var(--champ-300); text-decoration: none; }
.gauge__num { font: 300 min(15vw, 4.6rem)/.8 var(--font); font-variant-numeric: tabular-nums; color: #fff; }
.gauge__col { display: grid; gap: 8px; padding-bottom: 4px; min-width: 0; }
.gauge__cap { overflow-wrap: anywhere; }
.gauge__cap { font-size: .8125rem; letter-spacing: .01em; opacity: .85; }
.gauge__scale { --v: 1; position: relative; display: block; height: 20px; }
.gauge__scale::before, .gauge__scale::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; background-repeat: no-repeat; }
.gauge__scale::before { height: 8px; opacity: .5; background-image: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 10%); }
.gauge__scale::after { height: 16px; opacity: .8; background-image: repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 20%), linear-gradient(currentColor, currentColor); background-size: 100% 100%, 1px 100%; background-position: 0 0, 100% 0; }
.gauge__fill { position: absolute; left: 0; bottom: 0; height: 3px; width: calc(var(--v) * 100%); background: var(--champ-300); border-radius: 2px; }
.gauge__pin { position: absolute; bottom: -3px; left: calc(var(--v) * 100%); width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%; background: var(--champ-300); box-shadow: 0 0 0 3px var(--teal-900); }
.hero__cta { grid-area: cta; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.hero__cta .btn--primary { flex: 1 1 100%; }
.hero__addr { grid-area: addr; display: flex; align-items: flex-start; gap: 10px; margin-top: 24px; font-size: .9375rem; }
.hero__addr .ico { margin-top: .15em; color: var(--champ-300); }
.hero__addr span { text-wrap: balance; }
.hero__open { grid-area: open; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 6px; padding-left: 30px; font-size: .9375rem; color: rgb(239 238 212 / .8); }
.status { display: inline-flex; align-items: center; gap: 8px; color: var(--champ-300); font-weight: 600; }
.status i { width: 8px; height: 8px; border-radius: 50%; background: #7fd9a3; box-shadow: 0 0 0 3px rgb(127 217 163 / .22); }
.status.is-closed i { background: #e6b66b; box-shadow: 0 0 0 3px rgb(230 182 107 / .22); }

@media (min-width: 900px) {
  .hero__photo { height: clamp(380px, 46svh, 600px); }
  .hero__photo img { object-position: 50% 26%; }
  .hero__plaque { padding-bottom: 44px; }
  .hero__grid { grid-template-columns: 172px minmax(0, 1fr) minmax(340px, 400px); grid-template-areas: "tag main side"; gap: 0 clamp(28px, 4vw, 56px); align-items: start; }
  .hero__tag { width: 172px; margin-top: -96px; border-radius: 12px; }
  .hero__main { padding-top: 40px; }
  .hero h1 { font-size: clamp(3.4rem, 5.6vw, 5.6rem); }
  .hero__sub { font-size: 1rem; margin-top: 22px; }
  .hero__desc { font-size: 1.0625rem; }
  .js .hero__desc.is-clamped { display: block; overflow: visible; }
  .hero__more { display: none !important; }
  .hero__side { display: grid; grid-area: side; padding-top: 34px; gap: 0; align-content: start; }
  .gauge, .hero__cta, .hero__addr, .hero__open { grid-area: auto; }
  .gauge__num { font-size: clamp(4.2rem, 6vw, 5.4rem); }
  .hero__cta { margin-top: 28px; }
  .hero__open { padding-left: 30px; }
}

/* Появление первого экрана: один срежиссированный момент */
@media (prefers-reduced-motion: no-preference) {
  .hero__tag { animation: tag-in 1000ms var(--ease-drawer) 120ms backwards; }
  .hero__main > *, .hero__cta, .hero__addr, .hero__open, .gauge { animation: rise 760ms var(--ease-out) backwards; }
  .hero h1 { animation-delay: 220ms; }
  .hero__sub { animation-delay: 300ms; }
  .hero__desc, .hero__more { animation-delay: 360ms; }
  .gauge { animation-delay: 300ms; }
  .hero__cta { animation-delay: 440ms; }
  .hero__addr { animation-delay: 520ms; }
  .hero__open { animation-delay: 580ms; }
  .hero__photo img { animation: photo-in 1600ms var(--ease-out) backwards; }
}
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes tag-in { from { opacity: 0; transform: translateY(26px) rotate(-1.5deg); } }
@keyframes photo-in { from { transform: scale(1.06); } }

/* Рейтинг как показание шкалы: число и маркер доезжают до 5.0 (чистый CSS, без JS) */
@property --t { syntax: '<integer>'; inherits: true; initial-value: 50; }
@media (prefers-reduced-motion: no-preference) {
  .hero .gauge { animation: rise 760ms var(--ease-out) 300ms backwards, gauge-read 1500ms var(--ease-out) 700ms backwards; }
  .hero .gauge__scale { --v: calc(var(--t) / 50); }
}
@keyframes gauge-read { from { --t: 0; } }
@supports (width: round(down, 5.5px, 1px)) and (width: mod(7px, 3px)) {
  @media (prefers-reduced-motion: no-preference) {
    .hero .gauge__num > span { position: relative; color: transparent; }
    .hero .gauge__num > span::after { content: counter(gi) "." counter(gf); color: #fff; position: absolute; left: 0; top: 0; counter-reset: gi round(down, calc(var(--t) / 10), 1) gf mod(var(--t), 10); }
  }
}

/* Параллакс фото при прокрутке (прогрессивно, только где поддерживается) */
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .hero__photo img { animation: photo-in 1600ms var(--ease-out) backwards, photo-scroll linear both; animation-timeline: auto, scroll(root); animation-range: normal, 0 70vh; }
  }
}
@keyframes photo-scroll { to { transform: translateY(8%) scale(1.04); } }

/* ───── Секции ───── */
.sec { padding-block: clamp(72px, 9vw, 136px); }
.sec__bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(28px, 4vw, 52px); }
.sec h2, .sec h1 { font: 600 clamp(2.5rem, 1.5rem + 4.2vw, 4.6rem)/1 var(--font); letter-spacing: -.015em; text-wrap: balance; }
.promos h2, .photos h2 { color: #fff; }
[data-reveal] { }
html.js:not(.rm) [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 640ms var(--ease-out), transform 640ms var(--ease-out); }
html.js:not(.rm) [data-reveal].is-in { opacity: 1; transform: none; }

/* О нас */
.reviews__grid > *, .contacts__grid > * { min-width: 0; }
.reviews__grid, .contacts__grid, .ftr__grid { grid-template-columns: minmax(0, 1fr); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { min-width: 0; max-width: 100%; }
.chip span { min-width: 0; overflow-wrap: anywhere; }
.chip { display: inline-flex; align-items: center; max-width: 100%; gap: .55em; min-height: 44px; padding: 6px 16px 6px 13px; border-radius: var(--r-pill); border: 1px solid var(--ctl-border); font-size: .9375rem; font-weight: 600; color: var(--teal-900); text-decoration: none; background: transparent; transition: background-color 200ms ease, color 200ms ease, transform 160ms var(--ease-out); }
.chip .ico { width: 1.3em; height: 1.3em; color: var(--accent-light); transition: color 200ms ease; }
.chip--link { border-color: var(--teal-900); }
.chip--link:active { transform: scale(.97); }
@media (hover: hover) { .chip--link:hover { background: var(--teal-900); color: var(--champ-300); } .chip--link:hover .ico { color: var(--champ-300); } }
/* О нас: горизонтальная раскладка. На телефоне колонки листаются вбок, на десктопе идут в ряд */
.about__top { display: grid; gap: 18px; }
.about__intro { display: grid; gap: 14px; max-width: 70ch; overflow-wrap: anywhere; }
.about__intro p { text-wrap: pretty; }
.about__lead { font: 400 clamp(1.5rem, 1.05rem + 1.7vw, 2.2rem)/1.22 var(--font); letter-spacing: -.005em; color: var(--teal-900); text-wrap: balance; }
.about__cols { display: flex; gap: 12px; margin: 26px calc(var(--gut) * -1) 0; padding: 4px var(--gut) 10px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gut); }
.about__col { flex: none; width: min(84vw, 330px); scroll-snap-align: start; display: grid; align-content: start; gap: 10px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow-wrap: anywhere; }
.about__col p { text-wrap: pretty; }
.about__col--founder p:first-child, .about__h, .about__goal { font-weight: 600; color: var(--teal-900); }
.about__col ul { display: grid; gap: 2px; }
.about__col li { position: relative; padding-left: 24px; }
.about__col li::before { content: ""; position: absolute; left: 0; top: .82em; width: 12px; height: 1.5px; background: var(--accent-light); }
.about__end { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 22px; padding-top: 24px; border-top: 1px solid var(--line-strong); }
.about__closing { display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.about__close { font: 400 1.35rem/1.3 var(--font); color: var(--teal-900); text-wrap: balance; }
.about__close--end { font-weight: 600; }
@media (min-width: 640px) { .about__col { width: min(46vw, 360px); } }
@media (min-width: 900px) {
  .about__top { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 72px); align-items: end; }
  .about__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 36px 0 0; padding: 0; overflow: visible; }
  .about__col { width: auto; background: transparent; border: 0; border-radius: 0; padding: 4px clamp(20px, 2.6vw, 40px); }
  .about__col + .about__col { border-left: 1px solid var(--line-strong); }
  .about__col:first-child { padding-left: 0; }
  .about__col:last-child { padding-right: 0; }
  .about__end { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 40px; margin-top: 36px; padding-top: 28px; }
  .about__end .chips { justify-content: flex-end; max-width: 560px; }
}

/* Акции */
.promos { color: var(--champ-300); padding-bottom: clamp(56px, 7vw, 100px); }
.ctrl { display: none; gap: 10px; }
.ctrl__btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgb(226 225 188 / .62); display: grid; place-items: center; color: var(--champ-300); transition: background-color 200ms ease, transform 160ms var(--ease-out), opacity 200ms ease; }
.ctrl__btn:active { transform: scale(.94); }
.ctrl__btn[disabled] { opacity: .35; cursor: default; }
@media (hover: hover) { .ctrl__btn:not([disabled]):hover { background: rgb(226 225 188 / .14); } }
@media (min-width: 900px) { .ctrl { display: flex; } }
.promos__rail { overflow: hidden; }
.promos__track { display: flex; align-items: stretch; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: 4px var(--gut) 8px; scroll-padding-inline: var(--gut); cursor: grab; -webkit-overflow-scrolling: touch; }
.promos__track.is-drag { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.promos__track.is-drag * { pointer-events: none; user-select: none; }
@media (min-width: 1240px) { .promos__track { padding-left: calc((100vw - var(--maxw)) / 2); padding-right: calc((100vw - var(--maxw)) / 2); scroll-padding-inline: calc((100vw - var(--maxw)) / 2); } }
.promo { flex: none; display: flex; flex-direction: column; width: min(78vw, 310px); scroll-snap-align: start; background: var(--ivory-50); color: var(--ink-900); border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 30px 50px -34px rgb(0 0 0 / .6); }
@media (min-width: 900px) { .promo { width: 352px; } }
.promo__img { position: relative; flex: none; aspect-ratio: 4 / 3; overflow: hidden; background: var(--teal-800); }
.promo__bg { position: absolute; left: -24px; top: -24px; width: calc(100% + 48px); height: calc(100% + 48px); max-width: none; object-fit: cover; filter: blur(22px) saturate(1.15) brightness(.88); }
.promo__pic { position: relative; width: 100%; height: 100%; object-fit: contain; }
.promo__body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 20px 20px 22px; }
.promo__term { margin-top: auto !important; padding-top: 6px; }
.promo h3 { font: 600 1.3rem/1.2 var(--font); color: var(--teal-900); text-wrap: balance; }
.promo p { overflow-wrap: anywhere; font-size: .9688rem; line-height: 1.55; color: var(--ink-700); }
.promo__term { font-size: .875rem !important; font-weight: 600; color: var(--gold-700) !important; font-variant-numeric: tabular-nums; }
.promo__btn { display: inline-flex; align-items: center; gap: .5em; justify-self: start; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); background: var(--teal-900); color: var(--champ-300); font-weight: 600; font-size: .9375rem; text-decoration: none; transition: transform 160ms var(--ease-out), background-color 200ms ease; }
.promo__btn:active { transform: scale(.97); }
@media (hover: hover) { .promo__btn:hover { background: var(--teal-800); } }
.promos__prog { height: 2px; margin-top: 26px; border-radius: 2px; background: rgb(226 225 188 / .22); overflow: hidden; }
.promos__prog i { display: block; height: 100%; width: 100%; background: var(--champ-300); transform-origin: left; transform: scaleX(.2); transition: transform 200ms var(--ease-out); }

/* Каталог */
.catalog { padding-top: clamp(72px, 9vw, 120px); }
.sec__bar--cat { align-items: center; flex-wrap: wrap; row-gap: 16px; }
.tabs { position: sticky; top: calc(var(--hdr) - 6px); z-index: 40; margin-inline: calc(var(--gut) * -1); padding: 10px var(--gut); background: rgb(241 243 234 / .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.tabs__list { position: relative; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; padding-block: 2px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 28px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 28px), transparent 100%); padding-inline: 4px 28px; }
.tab { position: relative; z-index: 1; flex: none; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); border: 1px solid var(--ctl-border); font-weight: 600; font-size: .9375rem; color: var(--ink-900); background: transparent; scroll-snap-align: center; transition: color 240ms ease, border-color 240ms ease, transform 160ms var(--ease-out); white-space: nowrap; -webkit-tap-highlight-color: transparent; }
.tab:active { transform: scale(.97); }
.tab[aria-selected="true"] { color: var(--champ-300); border-color: transparent; }
.tabs__ind { position: absolute; z-index: 0; top: 2px; left: 0; height: 44px; width: 0; border-radius: var(--r-pill); background: var(--teal-900); transform: translateX(0); pointer-events: none; transition: transform 320ms var(--ease-drawer), width 320ms var(--ease-drawer); }
.js:not(.rm) .tab[aria-selected="true"] { background: transparent; }
html:not(.js) .tab[aria-selected="true"] { background: var(--teal-900); }
@media (min-width: 900px) {
  .tabs { margin-inline: 0; padding-inline: 0; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; position: static; }
  .tabs__list { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; padding-inline: 0; }
  .tabs__ind { display: none; }
  .tab[aria-selected="true"] { background: var(--teal-900) !important; }
  .tabs__list { gap: 5px; }
  .tab { flex: 1 1 auto; max-width: 280px; padding: 0 11px; font-size: .875rem; }
}
.svc-panels { margin-top: clamp(20px, 3vw, 36px); }
.svc-panels:focus-visible { outline-offset: 8px; }
.svc-group[hidden] { display: none; }
.svc-group__title { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; font: 600 clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem)/1.15 var(--font); color: var(--teal-900); margin: 44px 0 16px; }
.is-all .svc-group__title { position: static; width: auto; height: auto; margin: 44px 0 16px; overflow: visible; clip-path: none; white-space: normal; }
.is-all .svc-group:first-of-type .svc-group__title, html:not(.js) .svc-group:first-of-type .svc-group__title { margin-top: 0; }
.svc.is-capped { display: none; }
.svc-list { display: grid; gap: 12px; align-items: start; }
@media (min-width: 900px) { .svc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (prefers-reduced-motion: no-preference) { .svc-panels.is-in .svc { animation: rise 520ms var(--ease-out) backwards; animation-delay: calc(var(--i) * 38ms); } .svc.is-new { animation: rise 600ms var(--ease-out) backwards; animation-delay: calc(var(--n, 0) * 45ms); } }
.svc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: border-color 240ms ease, box-shadow 320ms var(--ease-out); }
.svc.is-open { border-color: var(--line-strong); box-shadow: 0 26px 40px -34px rgb(4 75 67 / .55); }
.svc__row { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding: 12px; align-items: center; }
.svc__img { width: 88px; height: 88px; object-fit: cover; border-radius: var(--r-md); background: var(--ivory-200); }
.svc__txt { display: grid; gap: 4px; justify-items: start; min-width: 0; }
.svc__name { font: 600 1.0625rem/1.3 var(--font); overflow-wrap: anywhere; text-wrap: balance; }
.svc__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.svc__sum { font-weight: 700; font-size: 1.1875rem; color: var(--teal-900); font-variant-numeric: tabular-nums; white-space: nowrap; }
.svc__unit { font-size: .875rem; color: var(--text-2); }
.svc__more { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin: 0 0 -8px -2px; padding: 0 2px; font-weight: 600; font-size: .9375rem; color: var(--accent-light); }
.svc__more .ico { width: 1.15em; height: 1.15em; transition: transform 380ms var(--ease-drawer); }
.svc.is-open .svc__more .ico { transform: rotate(180deg); }
.svc__detail { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows 340ms var(--ease-drawer), opacity 220ms ease, visibility 0s linear 340ms; }
.svc.is-open .svc__detail { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition-delay: 0s; }
.svc__detail-in { overflow: hidden; min-height: 0; }
.svc__detail p { padding: 4px 18px 20px; font-size: .9688rem; line-height: 1.7; color: var(--ink-700); border-top: 1px solid var(--line); margin: 0 12px; padding-inline: 6px; padding-top: 16px; }
@media (hover: hover) and (pointer: fine) { .svc__more:hover { text-decoration: underline; text-underline-offset: .25em; } }
@media (max-width: 380px) { .svc__row { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; } .svc__img { width: 72px; height: 72px; } }

/* Отзывы */
.reviews { background: var(--ivory-200); }
.reviews__grid { display: grid; gap: 40px; }
.reviews__score h2 { margin-bottom: 20px; }
.score { margin: 0; }
.score__num { font: 300 clamp(5.5rem, 3rem + 11vw, 9.5rem)/.85 var(--font); color: var(--teal-900); font-variant-numeric: tabular-nums; }
.gauge--light { display: block; margin-top: 18px; max-width: 320px; color: var(--teal-900); }
.gauge--light .gauge__fill { background: var(--teal-900); }
.gauge--light .gauge__pin { background: var(--teal-900); box-shadow: 0 0 0 3px var(--ivory-200); }
.score__cnt { margin-top: 12px; font-weight: 600; font-size: 1.125rem; }
.reviews__score .link-arrow { margin-top: 6px; }
.rev-list { display: grid; }
.rev { padding-block: 24px; border-top: 1px solid var(--line-strong); }
.rev:first-child { border-top: 0; padding-top: 0; }
.rev__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-bottom: 8px; }
.rev__name { font: 600 1.0625rem/1.3 var(--font); overflow-wrap: anywhere; }
.rev__stars { display: inline-flex; gap: 2px; color: var(--gold-700); }
.rev__stars .ico { width: 14px; height: 14px; }
.rev__date { font-size: .875rem; color: var(--text-2); }
.rev__text { max-width: 62ch; overflow-wrap: anywhere; text-wrap: pretty; white-space: pre-line; }
.btn--more { margin-top: 28px; }
@media (prefers-reduced-motion: no-preference) { .rev.is-new, .ph-item.is-new { animation: rise 600ms var(--ease-out) backwards; animation-delay: calc(var(--n, 0) * 55ms); } }
@media (min-width: 900px) {
  .reviews__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
  .reviews__score { position: sticky; top: calc(var(--hdr) + 24px); }
}

/* Фото */
.photos { color: var(--champ-300); }
.gal { --gap: 10px; --cols: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap); }
.ph-item { flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); }
.ph-link { display: block; position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-md); background: rgb(255 255 255 / .06); cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.ph-link img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .ph-link:hover img { transform: scale(1.045); } }
.ph-link:active img { transform: scale(.985); }
.photos .btn--more { display: flex; margin: 24px auto 0; }
@media (min-width: 600px) { .gal { --cols: 3; --gap: 14px; } }
@media (min-width: 900px) { .gal { --cols: 5; } }

/* Просмотр фото */
.lb { overscroll-behavior: contain; position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; }
.lb__bg { position: absolute; inset: 0; background: rgb(2 30 27 / .965); opacity: 0; transition: opacity 320ms var(--ease-out); }
.lb.is-open .lb__bg { opacity: 1; }
.lb__stage { position: absolute; inset: 0; display: grid; place-items: center; padding: 64px 16px 72px; pointer-events: none; touch-action: none; }
.lb__img { max-width: calc(100vw - 32px); max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); width: auto; height: auto; object-fit: contain; border-radius: var(--r-md); transform-origin: center; will-change: transform; user-select: none; -webkit-user-drag: none; pointer-events: auto; touch-action: none; }
.lb__btn { position: absolute; z-index: 2; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; color: var(--champ-300); background: rgb(2 30 27 / .55); border: 1px solid rgb(226 225 188 / .3); opacity: 0; transition: opacity 300ms ease, transform 160ms var(--ease-out), background-color 200ms ease; }
.lb.is-open .lb__btn { opacity: 1; }
.lb__btn:active { transform: scale(.94); }
.lb__close { top: max(12px, env(safe-area-inset-top)); right: 12px; }
.lb__prev, .lb__next { bottom: max(14px, env(safe-area-inset-bottom)); }
.lb__prev { left: 12px; }
.lb__next { right: 12px; }
.lb__cnt { position: absolute; bottom: max(24px, calc(env(safe-area-inset-bottom) + 10px)); left: 50%; transform: translateX(-50%); font-size: .9375rem; font-variant-numeric: tabular-nums; color: var(--champ-300); opacity: .9; }
@media (min-width: 900px) {
  .lb__stage { padding: 40px 112px; }
  .lb__img { max-width: calc(100vw - 232px); max-height: calc(100vh - 88px); max-height: calc(100dvh - 88px); }
  .lb__prev, .lb__next { bottom: auto; top: 50%; margin-top: -24px; }
  .lb__prev { left: 28px; }
  .lb__next { right: 28px; }
  .lb__cnt { bottom: 22px; }
}
@media (hover: hover) { .lb__btn:hover { background: rgb(226 225 188 / .18); } }
body.is-locked { overflow: hidden; }

/* Контакты */
.contacts__grid { display: grid; gap: 40px; align-items: center; }
.contacts__info h2 { margin-bottom: 26px; }
.contacts__addr { overflow-wrap: anywhere; font: 600 clamp(1.7rem, 1.1rem + 2.4vw, 2.7rem)/1.22 var(--font); color: var(--teal-900); text-wrap: balance; max-width: 22ch; }
.contacts__dl { display: grid; gap: 14px; margin-top: 28px; }
.contacts__dl dt { font-size: .875rem; color: var(--text-2); }
.contacts__dl dd { font-weight: 600; font-size: 1.1875rem; font-variant-numeric: tabular-nums; }
.contacts__dl a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.contacts__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.contacts__fig { border-radius: var(--r-lg); overflow: hidden; padding: 12px; }
.contacts__fig img { width: 100%; height: auto; border-radius: calc(var(--r-lg) - 6px); aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 40%; }
@media (min-width: 900px) {
  .contacts__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(40px, 6vw, 96px); }
  .contacts__fig img { aspect-ratio: 3 / 4; }
}

/* Подвал */
.ftr { background-color: var(--teal-950); color: var(--champ-300); padding-block: clamp(56px, 7vw, 96px) 72px; }
.ftr__grid { display: grid; gap: 36px; }
.ftr__tag { display: block; width: 112px; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px rgb(226 225 188 / .16); }
.ftr__h { font: 600 1.4rem/1.2 var(--font); color: #fff; margin-bottom: 14px; }
.ftr dl { display: grid; gap: 10px; font-size: .9375rem; }
.ftr dt { color: rgb(239 238 212 / .7); }
.ftr dd { color: var(--champ-200); overflow-wrap: anywhere; }
.ftr__docs ul { display: grid; gap: 4px; font-size: .9688rem; }
.ftr__docs a { display: inline-flex; align-items: center; min-height: 44px; }
.ftr__demo { margin-top: 24px; font: 600 1.25rem/1.2 var(--font); color: #fff; }
@media (min-width: 900px) {
  .ftr__grid { grid-template-columns: 140px minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
  .ftr__tag { width: 140px; }
}

/* Cookie */
.cookie { position: fixed; z-index: 150; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); display: grid; gap: 12px; padding: 14px 16px; background: var(--ivory-50); color: var(--ink-900); border-radius: var(--r-lg); box-shadow: 0 30px 60px -20px rgb(2 30 27 / .55), 0 0 0 1px var(--line); transform: translateY(0); opacity: 1; transition: transform 520ms var(--ease-drawer), opacity 320ms ease; --focus: var(--teal-900); }
.cookie.is-hiding { transform: translateY(16px); opacity: 0; }
@starting-style { .cookie { transform: translateY(24px); opacity: 0; } }
.cookie { grid-template-columns: minmax(0, 1fr); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
.cookie__text { font-size: .8438rem; line-height: 1.45; overflow-wrap: anywhere; }
.cookie__text a { color: var(--teal-900); font-weight: 600; }
.cookie__btns { display: flex; flex-wrap: wrap; gap: 10px; }
@media (min-width: 700px) { .cookie { left: 20px; right: auto; bottom: 20px; max-width: 520px; } }

/* Юридические страницы */
.docpage .hdr__bar { background: rgb(3 56 50 / .94); }
.doc { padding-block: calc(var(--hdr) + 40px) 80px; }
.wrap--doc { max-width: 780px; }
.doc h1 { font: 600 clamp(2rem, 1.2rem + 3.4vw, 3.4rem)/1.1 var(--font); color: var(--teal-900); margin-bottom: 18px; text-wrap: balance; }
.doc h2 { font: 600 1.5rem/1.2 var(--font); color: var(--teal-900); margin: 36px 0 10px; }
.doc p { margin-bottom: 12px; max-width: 68ch; }
.doc__lead { font-size: 1.125rem; color: var(--text-2); }
.doc__stub { padding: 14px 18px; border-radius: var(--r-lg); background: var(--champ-200); border: 1px dashed var(--gold-700); margin-bottom: 28px; font-size: .9688rem; }
.doc .ph { background: rgb(111 98 38 / .1); border-bottom: 1px dashed var(--gold-700); }

/* Без JS всё равно читается */
html:not(.js) .svc-group[hidden] { display: block !important; }
html:not(.js) .svc-group__title { position: static; width: auto; height: auto; margin: 44px 0 16px; overflow: visible; clip-path: none; white-space: normal; }
html:not(.js) [data-svc-more] { display: none; }
html:not(.js) .svc__detail { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
html:not(.js) .tabs { display: none; }
html:not(.js) .gal [hidden], html:not(.js) .rev[hidden] { display: block !important; }
html:not(.js) .hdr__burger { display: none; }

/* Уменьшение движения: движение убираем, а смену состояния оставляем читаемой (короткое проявление и цвет, без смещений) */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; }
  .btn, .chip, .tab, .ctrl__btn, .promo__btn, .lb__btn, .link-arrow, .svc { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease; }
  .btn:active, .tab:active, .chip--link:active, .ctrl__btn:active, .promo__btn:active, .lb__btn:active { transform: none; }
  .tabs__ind { transition: none; }
  .svc__detail { transition: opacity 180ms ease, visibility 0s linear 180ms; }
  .svc.is-open .svc__detail { transition-delay: 0s; }
  .svc__more .ico { transition: none; }
  .hdr__burger span { transition: none; }
  .menu { transition: opacity 200ms ease, visibility 0s linear 200ms; }
  .menu.is-open { transition-delay: 0s; }
  .menu li a, .menu.is-open li a { transform: none; opacity: 1; transition: none; }
  .cookie, .cookie.is-hiding { transform: none; transition: opacity 200ms ease; }
  .ph-link img, .ph-link:hover img, .ph-link:active img { transform: none; transition: none; }
  .promos__prog i { transition: none; }
  .lb__bg { transition: opacity 200ms ease; }
}
