/* «Тұлпар» — внешний вид. Характер референса: белый, строгий, «инженерный»; тонкие широкие заглавные с косой чертой,
   строки с тонкими линиями, крупные фото в прямоугольных рамках, маленький яркий красный круглый акцент.
   Цвета и шрифты — токены ниже. */
:root {
  --bg: #ffffff; --fg: #17191c; --muted: #5f6368; --line: #e3e3e1; --line-2: #a9abae; --soft: #f4f4f2; --graph: #1c1e21;
  --red: #e0202c; --red-d: #c41722; --accent: #17191c; --accent-ink: #fff; --bad: #c8341f;
  --font-body: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-head: 'Unbounded', 'Onest', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Onest', ui-monospace, monospace;
  --wrap: 1240px; --pad: 32px; --gap: 28px;
  --step--1: 13px; --step-0: 17px; --step-1: 19px; --step-2: 22px;
  --step-3: clamp(27px, 4.4vw, 48px); --step-4: clamp(30px, 6.4vw, 92px);
  --sec: clamp(64px, 7.6vw, 116px);
}
body { font-size: var(--step-0); line-height: 1.6; }
::selection { background: var(--red); color: #fff; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
h1, h2, h3 { font-weight: 300; }
a { text-underline-offset: 3px; }

/* ——— общие приёмы ——— */
.sl { color: var(--red); font-family: var(--font-head); font-weight: 300; margin-right: .08em; }
.k { margin: 0 0 14px; font: 500 12px/1.4 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.intro { font-size: var(--step-1); line-height: 1.6; color: #3d4045; max-width: 60ch; }
.small { font-size: var(--step--1); color: var(--muted); line-height: 1.5; }
.sec { padding-block: var(--sec); }
.sec--tight { padding-block: clamp(40px, 5vw, 72px) var(--sec); }
.sec--soft { background: var(--soft); }
.sec--line { border-top: 1px solid var(--line); }
.frame { margin: 0; position: relative; overflow: hidden; background: var(--soft); }
.frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.frame figcaption { font: 500 12px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-top: 14px; background: var(--bg); }

/* заголовок секции: строка и сдвинутая строка с косой чертой */
.t2 { font: 300 var(--step-3)/1.08 var(--font-head); text-transform: uppercase; letter-spacing: .005em; margin-bottom: 28px; }
.t2__a, .t2__b { display: block; }
.t2__b { padding-left: 1.15em; }

/* кнопки: графит, красная — для главных действий, красная точка-стрелка */
.btn { font-weight: 500; letter-spacing: .01em; min-height: 52px; padding: 0 24px; }
.btn--lg { min-height: 60px; padding: 0 28px; font-size: 17px; }
.btn--red { background: var(--red); border-color: var(--red); color: #fff; }
.btn--red:hover { filter: none; background: var(--red-d); border-color: var(--red-d); }
.btn--ghost { border-color: var(--line-2); }
.btn--ghost:hover { background: var(--fg); border-color: var(--fg); color: #fff; }
.dot { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--red); color: #fff; flex: none; transition: transform .25s; }
.dot svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.btn--red .dot { background: #fff; color: var(--red); margin-right: -10px; }
.btn:hover .dot, .dotbtn:hover .dot, .lnk:hover .dot { transform: translateX(3px); }
.dotbtn { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.lnk { display: inline-flex; align-items: center; gap: 12px; font-weight: 500; text-decoration: none; border: 0; background: none; padding: 0; min-height: 44px; }
.lnk .dot { width: 26px; height: 26px; }
.lnk--btn { color: var(--muted); font-size: var(--step--1); text-decoration: underline; min-height: 36px; }

/* ——— шапка ——— */
.top { background: rgba(255,255,255,.96); border-bottom: 1px solid transparent; transition: border-color .25s; }
.top.is-scrolled { border-color: var(--line); }
.top__in { display: flex; align-items: center; gap: 28px; min-height: 78px; }
.logo { display: inline-flex; align-items: baseline; gap: 10px; text-decoration: none; color: var(--fg); white-space: nowrap; }
.logo__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--red); align-self: center; flex: none; }
.logo__t { font: 600 19px/1 var(--font-body); letter-spacing: .2em; text-transform: uppercase; }
.logo__s { font: 500 11px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.nav { display: flex; gap: 26px; margin-left: auto; }
.nav a { position: relative; text-decoration: none; font-size: 15px; font-weight: 500; padding: 6px 0; }
.nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--fg); transition: right .3s; }
.nav a:hover::after { right: 0; }
.nav a[aria-current="page"]::before { content: ''; position: absolute; left: 50%; top: -6px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--red); }
.top__tel { font: 500 14px/1 var(--font-mono); text-decoration: none; white-space: nowrap; }
.top__cta { font-size: 15px; }
.burger { display: none; width: 46px; height: 46px; border: 1px solid var(--line-2); background: none; padding: 0; margin-left: auto; position: relative; }
.burger span { position: absolute; left: 12px; right: 12px; height: 1.5px; background: var(--fg); }
.burger span:first-child { top: 18px; } .burger span:last-child { top: 26px; right: 18px; }
.mnav { padding-top: 18px; }
.mnav ul { gap: 0; }
.mnav li a { font: 300 21px/1.2 var(--font-head); text-transform: uppercase; padding: 14px 0; border-bottom: 1px solid var(--line); }
.mnav li a[aria-current="page"] { color: var(--red); }
.mnav__foot .btn { width: 100%; }

/* ——— заголовок страницы (hx) ——— */
.hx { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); column-gap: 40px; padding-top: clamp(36px, 6vw, 84px); }
.hx--in { padding-top: 0; }
.hx .crumbs { grid-column: 1 / -1; padding: 22px 0 clamp(20px, 3vw, 44px); font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.hx__h { display: contents; }
.hx { --fit: 9; --fitm: 9; }
.hx__a, .hx__b { font: 300 min(92px, calc((min(100vw, var(--wrap) + 2 * var(--pad)) - 2 * var(--pad) - 340px) / (var(--fit) * .95)))/1 var(--font-head); text-transform: uppercase; letter-spacing: -.005em; }
.hx__a { grid-column: 1; grid-row: 2; padding-bottom: clamp(14px, 1.6vw, 22px); }
.hx__b { grid-column: 1; grid-row: 4; padding: clamp(14px, 1.6vw, 22px) 0 0 1.05em; }
.hx__c1 { grid-column: 2; grid-row: 2; align-self: end; margin: 0 0 clamp(16px, 1.8vw, 24px); font: 500 12px/1.55 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.hx__rule { grid-column: 1 / -1; grid-row: 3; height: 1px; background: var(--line-2); }
.hx__c2 { grid-column: 2; grid-row: 4; align-self: center; margin: clamp(14px, 1.6vw, 22px) 0 0; font-size: 15px; line-height: 1.6; color: var(--muted); }

/* ——— главная: первый экран ——— */
.hero { padding-bottom: clamp(40px, 6vw, 80px); }
.hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin: clamp(30px, 4vw, 52px) 0 clamp(30px, 4vw, 48px); }
.hero__hours { font: 500 12px/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-left: auto; }
.hero__ph { position: relative; margin: 0; aspect-ratio: 2.15 / 1; }
.hero__ph > img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 55%; }
.hero__round { position: absolute; right: clamp(16px, 3vw, 44px); bottom: clamp(-62px, -4.4vw, -40px); width: clamp(96px, 9vw, 128px); aspect-ratio: 1; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-content: center; justify-items: center; gap: 6px; text-decoration: none; text-align: center; font: 500 12px/1.25 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 0 0 10px var(--bg); transition: transform .3s cubic-bezier(.2,.7,.2,1), background .2s; }
.hero__round svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hero__round:hover { transform: rotate(-12deg) scale(1.04); background: var(--red-d); }
.hero__facts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); padding-right: clamp(120px, 12vw, 180px); }
.hero__facts li { padding: 20px 0; font: 500 12px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }

/* ——— о сервисе и строки услуг ——— */
.about__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px clamp(40px, 7vw, 120px); align-items: start; margin-bottom: clamp(48px, 6vw, 88px); }
.about__l .intro { margin-left: 1.15em; margin-left: clamp(0px, 3.5vw, 52px); }
.cls { list-style: none; padding: 0; margin: 40px 0 0 clamp(0px, 3.5vw, 52px); border-top: 1px solid var(--line-2); max-width: 560px; }
.cls li { display: grid; grid-template-columns: 36px minmax(0, 220px) minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cls__n { font: 500 12px/1 var(--font-mono); color: var(--muted); }
.cls__t { font: 300 16px/1.2 var(--font-head); text-transform: uppercase; white-space: nowrap; }
.cls__d { font-size: 14px; color: var(--muted); }
.about__ph { aspect-ratio: 4 / 5; max-width: 420px; justify-self: end; width: 100%; }
.srows { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.srows li { border-bottom: 1px solid var(--line-2); }
.srow { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(0, 300px) 140px; align-items: center; gap: 24px; min-height: 86px; padding: 14px 0; text-decoration: none; }
.srow__n { font: 500 12px/1 var(--font-mono); color: var(--muted); letter-spacing: .08em; }
.srow__t { font: 300 clamp(18px, 1.85vw, 27px)/1.15 var(--font-head); text-transform: uppercase; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.srow__d { font-size: 15px; color: var(--muted); transition: opacity .3s; }
.srow__p { font: 500 14px/1.2 var(--font-mono); text-align: right; white-space: nowrap; }
.srow__img { position: absolute; right: 190px; top: 50%; width: 132px; aspect-ratio: 4 / 5; overflow: hidden; opacity: 0; transform: translate(0, -50%) scale(.92) rotate(2deg); transition: opacity .35s, transform .45s cubic-bezier(.2,.7,.2,1); pointer-events: none; z-index: 2; }
.srow__img img { width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) and (min-width: 1000px) {
  .srow:hover .srow__t { transform: translateX(36px); }
  .srow:hover .srow__d { opacity: 0; }
  .srow:hover .srow__img { opacity: 1; transform: translate(0, -50%) scale(1) rotate(0); }
}
.srow:hover .srow__p { color: var(--red); }
.about__more { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 30px 0 0; }

/* ——— тизер расчёта ——— */
.teaser { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(90deg, var(--bg) 0 50%, var(--soft) 50% 100%); }
.teaser__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); }
.tform { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin-top: 30px; max-width: 520px; }
.tform .btn { grid-column: 1 / -1; justify-self: start; }
.teaser__r { padding-left: clamp(0px, 2vw, 24px); }
.teaser__big { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; font: 300 clamp(40px, 5vw, 72px)/1 var(--font-head); text-transform: uppercase; }
.teaser__km { font: 500 clamp(18px, 1.8vw, 24px)/1 var(--font-mono); color: var(--red); }
.teaser__left { margin: 12px 0 18px; font: 500 13px/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ruler { width: 100%; height: auto; overflow: visible; margin: 0 0 18px; }
.rl-base { stroke: var(--fg); stroke-width: 1.2; }
.rl-s { stroke: var(--line-2); stroke-width: 1; }
.rl-b { stroke: var(--fg); stroke-width: 1.2; }
.rl-t { font: 500 13px var(--font-mono); fill: var(--muted); text-anchor: middle; }
.rl-t.rl-m { fill: var(--red); }
.rl-u { font: 500 11px var(--font-mono); fill: var(--muted); text-anchor: end; letter-spacing: .08em; }
.rl-gap { fill: var(--red); opacity: .28; }
.rl-dot { fill: var(--red); stroke: var(--soft); stroke-width: 3; }
.rl-now { fill: var(--fg); } .rl-nowl { stroke: var(--fg); stroke-width: 1; stroke-dasharray: 2 3; }
.teaser__list { list-style: none; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.teaser__list li { padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; }

/* ——— правила цеха ——— */
.rules__i { margin: -8px 0 48px clamp(0px, 3.5vw, 52px); }
.rules__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--gap); }
.rules__grid li { border-top: 1px solid var(--line-2); padding: 22px 0 38px; }
.rules__n { display: block; font: 500 13px/1 var(--font-mono); letter-spacing: .08em; margin-bottom: 30px; }
.rules__grid h3 { font: 500 21px/1.25 var(--font-body); margin-bottom: 10px; }
.rules__grid p { color: var(--muted); margin: 0; max-width: 38ch; }

/* ——— пять шагов ——— */
.flow__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 40px; align-items: end; margin-bottom: 40px; }
.flow__head .t2 { margin: 0; }
.flow__head .intro { margin: 0; font-size: 16px; color: var(--muted); }
.flow__ph { margin-left: clamp(0px, 14vw, 200px); }
.flow__ph img { aspect-ratio: 21 / 8; height: auto; }
.steps { list-style: none; padding: 0; margin: clamp(40px, 5vw, 64px) 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 20px; counter-reset: s; }
.steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.steps li { position: relative; padding-top: 30px; border-top: 1px solid var(--line-2); }
.steps li::before { content: ''; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--red); }
.steps__n { display: block; font: 300 34px/1 var(--font-head); color: var(--fg); margin-bottom: 18px; }
.steps h3 { font: 500 19px/1.25 var(--font-body); margin-bottom: 8px; }
.steps p { margin: 0; font-size: 15px; color: var(--muted); }

/* ——— гарантия ——— */
.guar__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 7vw, 110px); align-items: start; }
.guar .intro { margin-bottom: 18px; }
.doc { border: 1px solid var(--fg); background: var(--bg); padding: clamp(22px, 3vw, 38px); position: relative; }
.doc::after { content: ''; position: absolute; right: 22px; top: -9px; width: 18px; height: 18px; border-radius: 50%; background: var(--red); }
.doc__head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 20px; padding-bottom: 16px; border-bottom: 1px solid var(--fg); font: 500 12px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.doc__list { list-style: none; padding: 0; margin: 0; }
.doc__list li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.doc__n { font: 500 14px/1.6 var(--font-mono); color: var(--red); }
.doc__foot { margin: 16px 0 0; font-size: var(--step--1); color: var(--muted); }

/* ——— работы ——— */
.works__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 36px; }
.works__head .t2 { margin: 0; }
.cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--gap); margin-bottom: 26px; }
.case { display: flex; flex-direction: column; }
.case__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--soft); margin-bottom: 18px; }
.case__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.case:hover .case__img img { transform: scale(1.04); }
.case__tag { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 10px; font: 500 12px/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.case__tag > span:last-child { color: var(--muted); }
.case__t { font: 500 21px/1.25 var(--font-body); margin-bottom: 6px; }
.case__car { margin: 0 0 14px; font-size: 14px; color: var(--muted); }
.case__dl { margin: 0 0 16px; display: grid; gap: 10px; }
.case__dl div { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; font-size: 15px; }
.case__dl dt { font: 500 11px/1.9 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.case__dl dd { margin: 0; }
.case__foot { margin: auto 0 0; display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--line-2); font: 500 14px/1.3 var(--font-mono); }
.case__foot span:last-child { color: var(--red); }
.fbar { align-items: center; gap: 8px; margin-bottom: 40px; }
.fbtn { min-height: 42px; font: 500 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; border-color: var(--line-2); }
.fbtn:hover { border-color: var(--fg); }
.fbtn.is-on { background: var(--fg); border-color: var(--fg); color: #fff; }
.fbar__c { margin-left: auto; font: 500 12px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.fbar__c b { color: var(--fg); }
.cases__note { margin-top: 10px; }

/* ——— вопросы ——— */
.qa__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: clamp(40px, 6vw, 100px); }
.faq details { border-color: var(--line-2); }
.faq summary { font: 500 var(--step-1)/1.35 var(--font-body); padding: 22px 0; }
.faq summary::after { font-family: var(--font-mono); font-weight: 400; color: var(--red); }
.faq details > div { color: #4a4d52; }

/* ——— форма ——— */
.fsec { border-top: 1px solid var(--line); }
.fgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 110px); }
.clist { list-style: none; padding: 0; margin: 32px 0 0; border-top: 1px solid var(--line-2); }
.clist li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.clist li > span:first-child { font: 500 11px/1.9 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.clist a { text-decoration: none; font-weight: 500; }
.clist a:hover { color: var(--red); }
.clist--big li { font-size: 18px; padding: 18px 0; }
.lead--page { align-content: start; }
.field { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.field small { text-transform: none; letter-spacing: 0; }
.field input, .field select, .field textarea { font-family: var(--font-body); letter-spacing: 0; text-transform: none; border-color: var(--line-2); min-height: 52px; transition: border-color .2s; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--fg); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--fg); outline: none; box-shadow: inset 0 -2px 0 var(--red); }
.field select { appearance: none; -webkit-appearance: none; padding-right: 40px; background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191c' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px; }
.agree input { accent-color: var(--red); }
.done { border-color: var(--fg); background: var(--bg); border-left: 4px solid var(--red); }
.modal__box { border-top: 4px solid var(--red); }
.modal__k { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.modal__t { font: 300 clamp(22px, 2.6vw, 30px)/1.15 var(--font-head); text-transform: uppercase; }
.modal .btn { background: var(--red); border-color: var(--red); }

/* ——— подвал ——— */
.foot { border-top: 1px solid var(--line-2); padding: clamp(56px, 7vw, 96px) 0 28px; }
.foot__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.foot__brand p { margin: 18px 0 16px; color: var(--muted); font-size: 15px; max-width: 34ch; }
.foot__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; font-size: 15px; }
.foot__col a { text-decoration: none; }
.foot__col a:hover { color: var(--red); }
.foot__word { margin: clamp(48px, 7vw, 96px) 0 18px; font: 300 clamp(52px, 15vw, 228px)/.8 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--fg); white-space: nowrap; overflow: hidden; }
.foot__word span { color: var(--red); font-family: var(--font-head); letter-spacing: 0; }
.foot__bot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.foot__bot a { color: inherit; }
.fab { position: fixed; z-index: 60; right: 22px; bottom: 22px; width: 58px; height: 58px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 26px rgba(224,32,44,.35), 0 0 0 6px rgba(255,255,255,.9); transition: transform .3s, opacity .3s, visibility .3s; opacity: 0; visibility: hidden; transform: translateY(14px); }
html.is-down .fab { opacity: 1; visibility: visible; transform: none; }
.fab:hover { transform: scale(1.06); }
html.locked .fab { visibility: hidden; }
.fab svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; }

/* ——— услуги ——— */
.ulist { display: grid; gap: 0; border-top: 1px solid var(--line-2); }
.ublock { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); padding: clamp(32px, 4vw, 52px) 0; border-bottom: 1px solid var(--line-2); }
.ublock:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
.ublock:nth-child(even) .ublock__ph { order: 2; }
.ublock__ph { aspect-ratio: 4 / 5; display: block; }
.ublock__ph:hover img { transform: scale(1.04); }
.ublock__t { font: 300 clamp(24px, 2.8vw, 40px)/1.1 var(--font-head); text-transform: uppercase; margin-bottom: 18px; }
.ublock__t a { text-decoration: none; }
.ublock__t a:hover { color: var(--red); }
.ticks { list-style: none; padding: 0; margin: 22px 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; max-width: 640px; }
.ticks li { padding: 9px 0 9px 22px; border-bottom: 1px solid var(--line); font-size: 15px; position: relative; }
.ticks li::before { content: ''; position: absolute; left: 0; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.ublock__foot { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.ublock__p { font: 500 18px/1 var(--font-mono); }
.band { position: relative; color: #fff; background: var(--graph); overflow: hidden; }
.band__bg { position: absolute; inset: 0; }
.band__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .32; filter: grayscale(1); }
.band__in { position: relative; padding-block: clamp(64px, 8vw, 120px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 20px 60px; align-items: end; }
.band__in .t2 { margin: 0; grid-row: span 2; }
.band__in p { margin: 0; color: rgba(255,255,255,.82); font-size: 17px; }
.band__in .btn { justify-self: start; }
.band__in .btn--red .dot { background: #fff; }

/* ——— страница услуги ——— */
.sp__cta { display: flex; flex-wrap: wrap; gap: 14px; margin: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 44px); }
.sp__ph { aspect-ratio: 2.35 / 1; }
.hx + .sp__ph { margin-top: clamp(28px, 4vw, 48px); }
.sp__ph img { object-position: 50% 50%; }
.sp__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 140px); align-items: center; }
.sp__side { aspect-ratio: 4 / 5; max-width: 400px; justify-self: end; width: 100%; }
.slist { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); }
.slist li { padding: 18px 0; border-bottom: 1px solid var(--line-2); font: 300 clamp(17px, 1.6vw, 21px)/1.35 var(--font-head); text-transform: uppercase; letter-spacing: .01em; }
.sp__two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(40px, 7vw, 110px); align-items: start; }
.tlist { margin: 0 0 16px; border-top: 1px solid var(--line-2); }
.tlist div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.tlist dt { font-size: 16px; }
.tlist dd { margin: 0; font: 500 14px/1.6 var(--font-mono); text-align: right; }
.ptab { overflow-x: auto; border-top: 1px solid var(--fg); }
.ptab table { width: 100%; border-collapse: collapse; font-size: 16px; }
.ptab th, .ptab td { padding: 16px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ptab thead th { font: 500 11px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-block: 14px; }
.ptab tbody th { font-weight: 400; padding-left: 0; }
.ptab td { font: 500 15px/1.5 var(--font-mono); white-space: nowrap; text-align: right; width: 16%; }
.ptab thead th:not(:first-child) { text-align: right; }
.ptab thead th:first-child { padding-left: 0; }
.ptab th:last-child, .ptab td:last-child { padding-right: 0; }
.ptab tbody tr:hover { background: var(--soft); }
.calc-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; margin-top: 40px; padding: 26px 30px; border: 1px solid var(--fg); position: relative; }
.calc-cta::before { content: ''; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 4px; background: var(--red); }
.calc-cta p { margin: 0; max-width: 62ch; }

/* ——— цены ——— */
.pfacts { list-style: none; padding: 0; margin: 0 0 48px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.pfacts li { padding: 20px 20px 20px 0; display: grid; gap: 6px; }
.pfacts li + li { padding-left: 20px; border-left: 1px solid var(--line); }
.pfacts .k { margin: 0; }
.pfacts b { font: 300 clamp(18px, 1.8vw, 24px)/1.2 var(--font-head); text-transform: uppercase; }
.tabs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 34px; border-bottom: 1px solid var(--line-2); }
.tabs [role="tab"] { border: 0; background: none; padding: 14px 18px 14px 0; margin-right: 18px; font: 500 15px/1.2 var(--font-body); color: var(--muted); position: relative; min-height: 48px; }
.tabs [role="tab"]::after { content: ''; position: absolute; left: 0; right: 18px; bottom: -1px; height: 2px; background: transparent; }
.tabs [role="tab"][aria-selected="true"] { color: var(--fg); }
.tabs [role="tab"][aria-selected="true"]::after { background: var(--red); right: 0; }
.tabs [role="tab"]:hover { color: var(--fg); }
.tpanel__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 16px; }
.tpanel__t { font: 300 clamp(22px, 2.4vw, 32px)/1.15 var(--font-head); text-transform: uppercase; }

/* ——— о сервисе ——— */
.zrows { list-style: none; padding: 0; margin: 0 0 16px; border-top: 1px solid var(--line-2); }
.zrows li { display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(0, 420px); gap: 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line-2); }
.zrows__n { font: 500 12px/1 var(--font-mono); color: var(--muted); }
.zrows__t { font: 300 clamp(18px, 2vw, 28px)/1.2 var(--font-head); text-transform: uppercase; }
.zrows__d { color: var(--muted); font-size: 15px; }
.eq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); }
.eq__ph { aspect-ratio: 4 / 5; max-width: 380px; margin-top: 34px; }
.eq { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line-2); align-self: start; }
.eq li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--line-2); font-size: 17px; }
.eq li span { font: 500 13px/1.7 var(--font-mono); color: var(--red); }
.keep { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.keep__i { border-top: 1px solid var(--line-2); padding-top: 22px; }
.keep__n { display: block; font: 500 13px/1 var(--font-mono); margin-bottom: 26px; }
.keep__i h3 { font: 500 19px/1.25 var(--font-body); margin-bottom: 8px; }
.keep__i p { margin: 0; color: var(--muted); font-size: 15px; }
.team { list-style: none; padding: 0; margin: 0 0 16px; border-top: 1px solid var(--line-2); }
.team li { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 240px) minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.team__n { font: 300 clamp(18px, 1.8vw, 24px)/1.2 var(--font-head); text-transform: uppercase; }
.team__r { font: 500 12px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.team__d { color: var(--muted); font-size: 15px; }

/* ——— контакты ——— */
.ct__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 90px); align-items: start; }
.ct__grid .clist { margin-top: 0; }
.ct__map { background: var(--bg); }
.ct__map figcaption { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 20px; text-transform: none; letter-spacing: 0; font: 400 13px/1.4 var(--font-body); }
.ct__map figcaption .lnk { color: var(--fg); font-size: 15px; }
.map { width: 100%; height: auto; border: 1px solid var(--line-2); }
.map__bg { fill: var(--soft); }
.map__road { stroke: #fff; stroke-width: 34; fill: none; }
.map__axis { stroke: var(--line-2); stroke-width: 1; stroke-dasharray: 6 8; fill: none; }
.map__blk { fill: #e6e6e3; } .map__blk2 { fill: #ebebe8; }
.map__svc { fill: var(--fg); }
.map__in { stroke: var(--red); stroke-width: 2.5; fill: none; stroke-dasharray: 5 5; }
.map__arr { stroke: var(--red); stroke-width: 2.5; fill: none; }
.map__dot { fill: var(--red); stroke: #fff; stroke-width: 3; }
.map__t { font: 500 13px var(--font-body); fill: #fff; letter-spacing: .1em; }
.map__s { font: 500 12px var(--font-mono); fill: var(--muted); letter-spacing: .06em; }
.prep { list-style: none; padding: 0; margin: 10px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.prep li { border-top: 1px solid var(--line-2); padding-top: 22px; }
.prep h3 { font: 500 19px/1.25 var(--font-body); margin-bottom: 8px; }
.prep p { margin: 0; color: var(--muted); font-size: 15px; }

/* ——— 404 ——— */
.lost { padding: 30px 0 var(--sec); }
.lost__code { font: 300 clamp(120px, 22vw, 300px)/1 var(--font-head); opacity: 1; color: #e9e9e6; margin-bottom: 10px; }
.cr-list a { white-space: nowrap; }
.lost__a { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; }

/* ——— расчёт ТО ——— */
.p-calc .hx { padding-bottom: 0; }
.calc { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); padding-top: clamp(36px, 4vw, 60px); align-items: start; }
.calc__in { position: sticky; top: 96px; display: grid; gap: 16px; padding: 26px; border: 1px solid var(--fg); background: var(--bg); }
.calc__step { display: flex; align-items: baseline; gap: 12px; margin: 0 0 4px; font: 500 12px/1.4 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.calc__step span { color: var(--red); }
.calc__step small { font-size: 12px; color: var(--muted); letter-spacing: .06em; }
.fs { border: 0; padding: 0; margin: 0; min-width: 0; }
.fs legend { padding: 0; margin-bottom: 6px; font: 500 11px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.seg { display: flex; flex-wrap: wrap; border: 1px solid var(--line-2); }
.seg label { flex: 1 1 0; position: relative; min-width: 0; }
.seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.seg span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 6px; font-size: 14px; font-weight: 500; border-left: 1px solid var(--line-2); transition: background .2s, color .2s; text-align: center; line-height: 1.2; }
.seg label:first-child span { border-left: 0; }
.seg input:checked + span { background: var(--fg); color: #fff; }
.seg input:focus-visible + span { outline: 2px solid var(--red); outline-offset: -4px; }
.seg label:hover span { background: var(--soft); }
.seg label:hover input:checked + span { background: var(--fg); }
.range { width: 100%; margin: -4px 0 0; accent-color: var(--red); height: 28px; }
.calc__out { min-width: 0; }
.nx { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 40px; align-items: end; padding-bottom: 28px; border-bottom: 1px solid var(--fg); }
.nx .k { margin-bottom: 10px; }
.nx__big { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 22px; font: 300 clamp(44px, 6vw, 88px)/1 var(--font-head); text-transform: uppercase; }
.nx__km { font: 500 clamp(18px, 2vw, 26px)/1 var(--font-mono); color: var(--red); }
.nx__left { margin: 12px 0 0; font: 500 13px/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.nx__r { text-align: right; }
.nx__sum { margin: 0; font: 500 clamp(26px, 3vw, 40px)/1 var(--font-mono); letter-spacing: -.02em; }
.nx__time { margin: 10px 0 0; font-size: 14px; color: var(--muted); }
.mx-wrap { padding: 30px 0 34px; border-bottom: 1px solid var(--line); }
.mx__g { --lw: 250px; position: relative; display: grid; padding-bottom: 30px; }
.mx__row { display: grid; grid-template-columns: var(--lw) repeat(var(--cols), minmax(0, 1fr)); align-items: center; min-height: 44px; border-bottom: 1px solid var(--line); }
.mx__row--h { min-height: 34px; border-bottom-color: var(--line-2); }
.mx__l { font-size: 14px; color: var(--muted); padding-right: 12px; line-height: 1.25; }
.mx__l small { display: block; font: 500 11px/1.5 var(--font-mono); letter-spacing: .04em; color: #8a8d91; }
.mx__row.is-due .mx__l { color: var(--fg); font-weight: 600; }
.mx__row--h .mx__l, .mx__row--h .mx__c { font: 500 12px/1 var(--font-mono); letter-spacing: .06em; color: var(--muted); }
.mx__c { display: grid; place-items: center; height: 100%; }
.mx__c.is-m { background: rgba(224,32,44,.07); box-shadow: inset 1px 0 0 rgba(224,32,44,.35), inset -1px 0 0 rgba(224,32,44,.35); }
.mx__row--h .mx__c.is-m { color: var(--red); font-weight: 600; }
.mx__d { width: 12px; height: 12px; border-radius: 50%; background: var(--fg); }
.mx__e { width: 4px; height: 4px; border-radius: 50%; background: var(--line-2); }
.mx__row.is-due .mx__c.is-m .mx__d { background: var(--red); width: 14px; height: 14px; box-shadow: 0 0 0 4px rgba(224,32,44,.18); }
.mx__now { position: absolute; top: 34px; bottom: 0; left: calc(var(--lw) + (100% - var(--lw)) * var(--x)); width: 0; border-left: 1px dashed var(--fg); pointer-events: none; }
.mx__now span { position: absolute; bottom: 0; left: 0; transform: translateX(-50%); font: 500 11px/1 var(--font-mono); background: var(--fg); color: #fff; padding: 5px 7px; white-space: nowrap; }
.wl-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px 30px; padding-top: 30px; margin-bottom: 14px; }
.wl-head .k { margin: 0; }
.fs--inline { display: flex; align-items: center; gap: 14px; }
.fs--inline legend { float: left; margin: 0; }
.fs--inline .seg { min-width: 220px; }
.wl table { width: 100%; border-collapse: collapse; }
.wl th, .wl td { padding: 14px 10px; border-bottom: 1px solid var(--line); text-align: right; vertical-align: top; }
.wl thead th { font: 500 11px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); border-bottom-color: var(--fg); padding-block: 10px; }
.wl thead th:first-child, .wl tbody th { text-align: left; padding-left: 0; }
.wl tbody th { font-weight: 400; }
.wl tbody th b { display: block; font-weight: 500; font-size: 16px; }
.wl tbody th small { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; }
.wl td { font: 500 15px/1.5 var(--font-mono); white-space: nowrap; }
.wl td:last-child { padding-right: 0; }
.tot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr); gap: 0; margin-top: 24px; border: 1px solid var(--fg); }
.tot__i { padding: 18px 20px; display: grid; gap: 4px; align-content: start; }
.tot__i + .tot__i { border-left: 1px solid var(--line-2); }
.tot__i .k { margin: 0; }
.tot__i b { font: 500 22px/1.2 var(--font-mono); }
.tot__i small { font-size: 12px; color: var(--muted); line-height: 1.4; }
.tot__i--all { background: var(--fg); color: #fff; }
.tot__i--all .k, .tot__i--all small { color: rgba(255,255,255,.72); }
.tot__i--all b { font-size: 28px; color: #fff; }
.calc__note { margin: 18px 0 0; padding-left: 16px; border-left: 2px solid var(--red); font-size: 14px; color: var(--muted); max-width: 70ch; }
.book { border-top: 1px solid var(--line); margin-top: var(--sec); }
.book__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 30px 60px; align-items: end; margin-bottom: 40px; }
.book__head .t2 { margin: 0; }
.book__head .intro { margin: 0; font-size: 16px; color: var(--muted); }
.book__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: clamp(28px, 4vw, 64px); align-items: start; }
.book__pick > .calc__step { margin-top: 30px; margin-bottom: 14px; }
.book__pick > .calc__step:first-child { margin-top: 0; }
.days { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.day { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "w w" "d m" "f f"; align-items: baseline; gap: 2px 6px; padding: 12px 14px; border: 1px solid var(--line-2); background: var(--bg); text-align: left; min-height: 88px; transition: border-color .2s, background .2s; }
.day:hover:not([disabled]) { border-color: var(--fg); }
.day__w { grid-area: w; font: 500 11px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.day__d { grid-area: d; font: 300 28px/1.1 var(--font-head); }
.day__m { grid-area: m; font-size: 13px; color: var(--muted); }
.day__f { grid-area: f; font: 500 11px/1.4 var(--font-mono); color: var(--muted); margin-top: 4px; }
.day[aria-pressed="true"] { background: var(--fg); border-color: var(--fg); color: #fff; }
.day[aria-pressed="true"] .day__w, .day[aria-pressed="true"] .day__m, .day[aria-pressed="true"] .day__f { color: rgba(255,255,255,.75); }
.day[aria-pressed="true"] .day__f::before { content: '● '; color: var(--red); }
.day[disabled] { opacity: .45; cursor: not-allowed; }
.times { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; }
.tm { min-height: 44px; border: 1px solid var(--line-2); background: var(--bg); font: 500 14px/1 var(--font-mono); transition: border-color .2s, background .2s; }
.tm:hover:not([disabled]) { border-color: var(--fg); }
.tm[aria-pressed="true"] { background: var(--red); border-color: var(--red); color: #fff; }
.tm[disabled] { color: #b4b6b9; background: repeating-linear-gradient(135deg, var(--bg) 0 6px, var(--soft) 6px 7px); border-color: var(--line); cursor: not-allowed; text-decoration: line-through; }
.book__pick .fs .seg { max-width: 520px; }
.book__pick [data-b-stay] { margin-top: 10px; max-width: 60ch; }
.book__sum { position: sticky; top: 96px; border: 1px solid var(--fg); padding: 26px; background: var(--bg); }
.bs { margin: 0 0 20px; }
.bs div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.bs dt { font: 500 11px/1.7 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.bs dd { margin: 0; }
.bs__msg { margin: 10px 0 0; font-size: 14px; color: var(--red-d); min-height: 0; }
.bs__msg:empty { display: none; }
.bs--modal { margin: 0 0 6px; padding: 4px 14px; background: var(--soft); }
.bs--modal div { font-size: 14px; grid-template-columns: 96px minmax(0, 1fr); }

/* ——— адаптив ——— */
@media (max-width: 1180px) {
  .nav { gap: 18px; }
  .top__tel { display: none; }
  .srow { grid-template-columns: 44px minmax(0, 1fr) minmax(0, 260px) 130px; }
  .foot__grid { grid-template-columns: 1fr 1fr 1fr; }
  .foot__brand { grid-column: 1 / -1; }
  .tot { grid-template-columns: 1fr 1fr; }
  .tot__i:nth-child(3) { border-left: 0; }
  .tot__i:nth-child(n+3) { border-top: 1px solid var(--line-2); }
  .tot__i--all { border-top-color: var(--fg); }
}
@media (max-width: 980px) {
  .nav, .top__cta { display: none; }
  .burger { display: block; }
  .hx { grid-template-columns: minmax(0, 1fr); }
  .hx .crumbs { grid-row: 1; }
  .hx__c1 { grid-column: 1; grid-row: 2; margin: 0 0 18px; }
  .hx__a { grid-row: 3; }
  .hx__rule { grid-row: 4; }
  .hx__b { grid-row: 5; }
  .hx__c2 { grid-row: 6; }
  .hx__c2 { grid-column: 1; margin-top: 22px; max-width: 60ch; font-size: 16px; }
  .hx__a, .hx__b { font-size: min(76px, calc((100vw - 2 * var(--pad)) / (var(--fitm) * .95))); }
  .hero__hours { margin-left: 0; width: 100%; }
  .about__grid, .teaser__grid, .guar__grid, .qa__grid, .fgrid, .sp__grid, .sp__two, .eq__grid, .ct__grid, .book__grid, .flow__head, .book__head { grid-template-columns: minmax(0, 1fr); }
  .about__ph { justify-self: start; max-width: 360px; }
  .srow { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .srow__d { display: none; }
  .teaser { background: var(--bg); }
  .teaser__r { padding: 30px 24px; background: var(--soft); }
  .rules__grid { grid-template-columns: 1fr 1fr; }
  .steps, .steps--4 { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .flow__ph { margin-left: 0; }
  .cases { grid-template-columns: 1fr 1fr; }
  .ublock, .ublock:nth-child(even) { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
  .ublock:nth-child(even) .ublock__ph { order: 0; }
  .band__in { grid-template-columns: minmax(0, 1fr); }
  .band__in .t2 { grid-row: auto; }
  .sp__side { justify-self: start; max-width: 340px; }
  .zrows li { grid-template-columns: 44px minmax(0, 1fr); }
  .zrows__d { grid-column: 2; }
  .keep, .prep { grid-template-columns: 1fr 1fr; }
  .team li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .team__d { grid-column: 1 / -1; }
  .pfacts { grid-template-columns: 1fr 1fr; }
  .pfacts li:nth-child(3) { padding-left: 0; border-left: 0; }
  .pfacts li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .calc { grid-template-columns: minmax(0, 1fr); }
  .calc__in { position: static; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
  .calc__in > .calc__step, .calc__in > .range, .calc__in > .small { grid-column: 1 / -1; }
  .book__sum { position: static; }
  .eq__ph { display: none; }
}
@media (max-width: 760px) {
  :root { --step-0: 16px; --step-1: 17px; --gap: 20px; }
  .top__in { min-height: 64px; }
  .logo__s { display: none; }
  .hero__ph { aspect-ratio: 4 / 3.4; }
  .hero__ph > img { object-position: 38% 50%; }
  .hero__cta .btn { width: 100%; }
  .hero__facts { grid-template-columns: 1fr; padding-right: 0; padding-top: 44px; }
  .hero__facts li { padding: 12px 0; border-top: 1px solid var(--line); }
  .hero__round { bottom: -46px; right: 16px; width: 92px; font-size: 11px; box-shadow: 0 0 0 7px var(--bg); }
  .t2__b, .hx__b { padding-left: .8em; }
  .about__l .intro, .rules__i, .cls { margin-left: 0; }
  .cls li { grid-template-columns: 28px minmax(0, 1fr); }
  .cls__d { grid-column: 2; }
  .srow { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; min-height: 72px; }
  .srow__n { display: none; }
  .srow__p { font-size: 13px; }
  .tform { grid-template-columns: 1fr; }
  .tform .btn { width: 100%; }
  .teaser__r { margin-inline: calc(-1 * var(--pad)); padding: 28px var(--pad); }
  .teaser__list { grid-template-columns: 1fr; }
  .rules__grid, .steps, .steps--4, .keep, .prep, .cases { grid-template-columns: 1fr; }
  .steps { gap: 0; margin-top: 32px; }
  .steps li { display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 8px; padding: 22px 0 24px; }
  .steps li::before { top: -5px; }
  .steps__n { grid-row: span 2; font-size: 26px; margin: 0; }
  .flow__ph img { aspect-ratio: 16 / 10; object-fit: cover; }
  .ublock, .ublock:nth-child(even) { grid-template-columns: 1fr; }
  .ublock__ph { aspect-ratio: 16 / 10; }
  .ticks { grid-template-columns: 1fr; }
  .works__head { flex-direction: column; align-items: flex-start; }
  .clist li { grid-template-columns: 1fr; gap: 2px; }
  .sp__ph { aspect-ratio: 4 / 3; }
  .sp__cta .btn { width: 100%; }
  .ptab table, .ptab tbody, .ptab tr, .ptab th, .ptab td { display: block; }
  .ptab thead { display: none; }
  .ptab tr { padding: 14px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .ptab tbody th { grid-column: 1 / -1; border: 0; padding: 0 0 4px; font-weight: 500; }
  .ptab td { border: 0; padding: 0; width: auto; text-align: left; font-size: 13px; white-space: normal; }
  .ptab td::before { content: attr(data-c); display: block; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
  .ptab tbody tr:hover { background: none; }
  .calc-cta { padding: 22px 20px; }
  .calc-cta .btn { width: 100%; }
  .tabs { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--pad)); padding-inline: var(--pad); scrollbar-width: none; }
  .tabs [role="tab"] { white-space: nowrap; }
  .tpanel__head { flex-direction: column; align-items: flex-start; gap: 4px; }
  .pfacts li { padding: 16px 12px 16px 0; }
  .pfacts li + li { padding-left: 12px; }
  .pfacts li:nth-child(3) { padding-left: 0; }
  .team li { grid-template-columns: 1fr; gap: 4px; }
  .foot__grid { grid-template-columns: 1fr 1fr; }
  .foot__col:last-child { grid-column: 1 / -1; }
  .foot__word { letter-spacing: .08em; }
  .fab { right: 14px; bottom: 14px; width: 52px; height: 52px; }
  .fbar { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--pad)); padding-inline: var(--pad); scrollbar-width: none; }
  .fbtn { white-space: nowrap; flex: none; }
  .fbar__c { display: none; }
  .calc__in { grid-template-columns: 1fr; padding: 20px 16px; margin-inline: calc(-1 * var(--pad) + 0px); border-left: 0; border-right: 0; }
  .nx { grid-template-columns: 1fr; }
  .nx__r { text-align: left; }
  .mx__g { --lw: 128px; }
  .mx__l { font-size: 12px; }
  .mx__l small { font-size: 10px; }
  .wl table, .wl tbody, .wl tr { display: block; }
  .wl thead { display: none; }
  .wl tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .wl tbody th { grid-column: 1 / -1; border: 0; padding: 0 0 4px; }
  .wl td { border: 0; padding: 0; text-align: left; font-size: 13px; }
  .wl td::before { content: attr(data-l); display: block; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
  .fs--inline { width: 100%; }
  .fs--inline .seg { flex: 1; min-width: 0; }
  .tot { grid-template-columns: 1fr 1fr; }
  .tot__i { padding: 14px; }
  .tot__i b { font-size: 18px; }
  .tot__i--all { grid-column: 1 / -1; border-left: 0 !important; }
  .tot__i:nth-child(3) { grid-column: 1 / -1; }
  .rl-t { font-size: 21px; } .rl-u { font-size: 17px; }
  .p-calc .fab { display: none; }
  .tot__i--all b { font-size: 26px; }
  .days { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 92px; overflow-x: auto; margin-inline: calc(-1 * var(--pad)); padding: 2px var(--pad) 8px; scrollbar-width: none; }
  .times { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .book__sum { padding: 20px 16px; }
  .bs div { grid-template-columns: 1fr; gap: 0; }
  .seg span { padding: 0 8px; font-size: 13px; }
}
@media (max-width: 400px) {
  .seg span { font-size: 13px; padding: 0 4px; }
}
