@import url('./tokens.css?v=surface-deep-084974-2026');

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  background: var(--color-paper);
}
body {
  margin: 0;
  color: var(--color-ink);
  background: var(--color-paper);
  font-family: var(--font-sans);
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, summary { cursor: pointer; }
button { border: 0; }
p, h1, h2, h3, h4, ul, ol { margin-top: 0; }
svg { display: block; }
::selection { color: #fff; background: var(--color-accent); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }

.wrap { width: min(100% - 96px, 1456px); margin-inline: auto; }
.sec { padding: var(--space-40) 0; position: relative; overflow: clip; }
.sec--sand { background: var(--color-paper-2); }
.sec--navy { color: var(--color-ink-inverse); background: var(--color-surface-deep); }
.sec--navy .kicker, .sec--navy .sub { color: #b9d5e5; }

.kicker {
  display: block;
  margin-bottom: 28px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.h2 {
  max-width: 1000px;
  margin-bottom: 28px;
  font-size: var(--type-section);
  font-weight: 550;
  line-height: .98;
  letter-spacing: -.055em;
}
.sub { max-width: 680px; margin-bottom: 0; color: var(--color-ink-2); font-size: 18px; line-height: 1.55; }
.head { margin-bottom: var(--space-18); }
.head--row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 48px; align-items: end; }
.head--row .sub, .head--row > .btn { justify-self: end; }

/* ---------- controls ---------- */
.btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 500;
  transition: color var(--duration-base), background var(--duration-base), border-color var(--duration-base), transform var(--duration-fast);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--blue { color: #fff; background: var(--color-accent); }
.btn--blue:hover { background: var(--color-accent-deep); }
.btn--line { color: var(--color-ink); border-color: var(--color-rule-strong); background: transparent; }
.btn--line:hover { color: #fff; border-color: var(--color-accent); background: var(--color-accent); }
.btn--white { color: var(--color-ink); background: #fff; }
.btn--white:hover { color: #fff; background: var(--color-accent); }
.field, select.field, textarea.field {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-field);
  color: var(--color-ink);
  background: #fff;
  outline: none;
  transition: border-color var(--duration-base), box-shadow var(--duration-base);
}
textarea.field { min-height: 120px; padding-block: 14px; resize: vertical; }
.field::placeholder { color: #728592; }
.field:hover { border-color: var(--color-rule-strong); }
.field:focus { border-color: var(--color-focus); box-shadow: 0 0 0 3px rgba(36, 137, 197, .13); }
.field.err { border-color: var(--color-danger); }
.agree { display: flex; gap: 10px; color: var(--color-ink-2); font-size: 12px; line-height: 1.4; }
.agree input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--color-accent); }
.agree a { color: var(--color-accent-deep); text-decoration: underline; text-underline-offset: 2px; }
.agree.err { color: var(--color-danger); }
.ok { display: none; padding: 14px 16px; border: 1px solid var(--color-blue-mid); border-radius: var(--radius-field); background: var(--color-blue-soft); }
form.done > :not(.ok) { display: none !important; }
form.done .ok { display: block; }
form.failed .ok { display: block; border-color: #d98585; background: #fff1f1; }

/* ---------- chrome ---------- */
.topline { color: var(--color-ink-2); border-bottom: 1px solid var(--color-rule); background: rgba(255,255,255,.96); font-size: 11px; }
.topline .wrap { height: 29px; min-height: 29px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topline a { color: var(--color-ink); }
.hdr {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid rgba(215,225,232,.9);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
}
.hdr .wrap { height: 88px; min-height: 88px; display: grid; grid-template-columns: 230px 1fr auto auto; gap: 32px; align-items: center; }
.logo { display: inline-flex; width: 220px; max-width: 100%; align-items: center; }
.logo img { width: 100%; height: auto; }
.logo__t, .logo__s { display: none; }
.nav { display: flex; justify-content: center; gap: clamp(18px, 2.3vw, 38px); font-size: 13px; font-weight: 500; }
.nav a { position: relative; padding: 8px 0; }
.nav a::after { content: ''; position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--duration-base) var(--ease-out); }
.nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.hdr__ph { display: grid; gap: 1px; white-space: nowrap; font-size: 12px; font-weight: 600; line-height: 1.3; }
.hdr__ph a:first-child { font-size: 15px; }
.burger, .mph { display: none; }

/* ---------- hero: Figma desktop composition ---------- */
.home .sec { padding: 100px 0; }
.home .kicker { display: none; }
.home .h2 { margin-bottom: 28px; font-size: 48px; font-weight: 600; line-height: 52px; letter-spacing: -1.2px; }
.home .head--row .h2, .home .head--row .sub { margin-bottom: 0; }
.home .vehicle-section .h2 { font-size: 76.8px; line-height: 75.264px; letter-spacing: -4.224px; }
.hero {
  height: 769px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--color-ink);
  background: var(--color-paper-2);
}
.hero__content { height: 100%; position: relative; z-index: 2; }
.hero h1 {
  width: 714px;
  max-width: 58vw;
  position: absolute;
  top: 85px;
  left: 0;
  margin: 0;
  font-size: 72px;
  font-weight: 600;
  line-height: 76px;
  letter-spacing: -2.2px;
  text-wrap: balance;
  animation: hero-copy .9s .12s var(--ease-out) both;
}
.hero h1 em { color: inherit; font: inherit; }
.hero__pic { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.hero__pic::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(91.915deg, rgb(220,236,245) 10.602%, rgba(185,213,229,.18) 99.371%);
  pointer-events: none;
}
.hero__pic img { width: 100%; height: 140.52%; position: absolute; top: -17.66%; left: 0; object-fit: cover; animation: hero-image 1.25s var(--ease-out) both; }
.badge {
  position: absolute;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 26px;
  align-items: center;
  padding: 19px 23px;
  border: 1px solid #fff;
  color: #fff;
  background: var(--color-surface-deep);
  backdrop-filter: blur(12px);
  font-size: 16px;
  line-height: 1.15;
}
.badge b, .badge span { display: block; }
.badge b { font-size: 32px; font-weight: 500; line-height: 38px; letter-spacing: -.6px; }
.badge__ic img { width: 54px; height: 54px; }
.badge--a { top: 333px; left: 674px; }
.badge--b { top: 556px; right: 0; }

@keyframes hero-copy { from { opacity: 0; transform: translateY(36px); } to { opacity: 1; transform: none; } }
@keyframes hero-image { from { opacity: .4; transform: scale(1.035); } to { opacity: 1; transform: none; } }

/* ---------- hero form + scroll scene + metrics ---------- */
.quick {
  width: 1046px;
  max-width: calc(100% - 182px);
  position: absolute;
  top: 375px;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 36px 45px;
  border-radius: 10px;
  background: #fff;
}
.quick__head { display: grid; gap: 10px; }
.quick__t { font-size: 28px; font-weight: 600; line-height: 29.4px; letter-spacing: -.98px; }
.quick__s { color: var(--color-ink-2); line-height: 24.8px; }
.quick__mobile-cta { display: none; }
.quick__fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.quick__foot { display: flex; gap: 36px; align-items: center; }
.quick__foot .agree { flex: 1; gap: 25px; white-space: nowrap; }
.quick__foot .btn { width: 156px; flex: 0 0 156px; }

.benefits-scroll { padding: 146px 0 118px; background: var(--color-paper); }
.benefits-scroll .wrap { width: min(100% - 92px, 1462px); }
.benefits-scroll__grid { display: grid; grid-template-columns: 537px minmax(0, 864px); gap: 61px; align-items: stretch; }
.benefits-scroll__rail { display: grid; gap: 37px; align-content: start; padding-right: 49px; border-right: 1px solid var(--color-rule); }
.benefit-card { display: grid; gap: 30px; margin: 0; padding: 0 0 37px; border-bottom: 1px solid var(--color-rule); }
.benefit-card:last-child { padding-bottom: 0; border-bottom: 0; }
.benefit-card img { width: 100%; height: 234px; object-fit: cover; }
.benefit-card p { margin: 0; padding: 0 20px; color: var(--color-ink-2); font-size: 18px; line-height: 1.25; }
.benefits-scroll__copy { min-width: 0; }
.benefits-scroll__sticky {
  position: sticky;
  top: clamp(138px, calc((100vh - 360px) / 2), 230px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
.benefits-scroll__sticky h2 { margin: 0 0 42px; font-size: 48px; font-weight: 600; line-height: 52px; letter-spacing: -1.2px; }
.benefits-scroll__sticky p { margin: 0 0 71px; color: var(--color-ink-2); font-size: 18px; line-height: 1.55; }
.benefits-scroll__sticky .btn { width: 171.812px; }

.trust { border-top: 1px solid var(--color-rule); border-bottom: 1px solid var(--color-rule); background: #fff; }
.trust .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust__i { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px 28px 30px 0; border-right: 1px solid var(--color-rule); }
.trust__i:not(:first-child) { padding-left: 28px; }
.trust__i:last-child { border-right: 0; }
.trust__i b { font-size: 72px; font-weight: 500; line-height: 76px; letter-spacing: -2.2px; white-space: nowrap; }
.trust__i b small { font-size: 45px; font-weight: inherit; letter-spacing: -1.3px; }
.trust__i span { max-width: 190px; color: var(--color-ink-2); font-size: 14px; }

/* ---------- services: Atria-like three-up overview + editorial list ---------- */
.svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svc__r { min-height: 132px; position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr) 184px; gap: 24px; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--color-rule); grid-column: 1 / -1; transition: color var(--duration-base); }
.svc__r:last-child { grid-template-columns: 54px minmax(0, 1fr) 368px; }
.svc__r::after { content: '↗'; width: 40px; height: 40px; position: absolute; right: 0; top: 50%; display: grid; place-items: center; border: 1px solid var(--color-rule-strong); border-radius: 50%; opacity: 0; transform: translate(-14px,-50%); transition: opacity var(--duration-base), transform var(--duration-base), color var(--duration-base), background var(--duration-base); }
.svc__r:hover { color: var(--color-accent-deep); }
.svc__r:not(.svc__r--feature):hover::after { opacity: 1; transform: translate(0,-50%); color: #fff; border-color: var(--color-accent); background: var(--color-accent); }
.svc__r:not(.svc__r--feature):hover .svc__p { transform: translateX(-64px); }
.svc__r h3 { margin: 0 0 6px; font-size: 32px; font-weight: 500; line-height: 35.2px; letter-spacing: -.96px; }
.svc__r p { margin: 0; color: var(--color-ink-2); font-size: 18px; line-height: 1.55; }
.svc__p { width: 100%; min-width: 0; overflow: visible; padding-right: 0; color: var(--color-accent); font-size: 32px; font-weight: 500; line-height: 38px; letter-spacing: -.6px; text-align: right; white-space: nowrap; transition: transform var(--duration-base) var(--ease-out); }
.svc__p small { display: block; margin-top: 2px; color: var(--color-ink-2); font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: 0; }
.ic { width: 44px; height: 44px; display: grid; place-items: center; color: var(--color-accent); border: 1px solid var(--color-rule); border-radius: 50%; }
.ic svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ic img { width: 23px; height: 23px; }
.svc__media { display: none; }
.svc__r--feature {
  height: 932.188px;
  min-height: 932.188px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0 32px 36px;
  border-right: 1px solid var(--color-rule);
  grid-column: auto;
}
.svc__r--feature:nth-child(1) { padding-left: 0; }
.svc__r--feature:nth-child(3) { padding-right: 0; border-right: 0; }
.svc__r--feature .svc__media { height: 566.672px; flex: 0 0 auto; display: block; margin: 0; overflow: hidden; background: var(--color-paper-3); }
.svc__r--feature:nth-child(1) .svc__media { height: 565.406px; }
.svc__r--feature:nth-child(2) .svc__media { height: 567px; }
.svc__r--feature .svc__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.svc__r--feature .svc__media img { object-position: center; }
.svc__r--feature:hover .svc__media img { transform: scale(1.025); }
.svc__r--feature .ic { display: none; }
.svc__r--feature h3 { margin-bottom: 12px; font-size: 32px; line-height: 38px; letter-spacing: -.6px; }
.svc__r--feature p { min-height: 52px; max-width: 360px; font-size: 16px; line-height: 1.55; }
.svc__r--feature .svc__p { width: 100%; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--color-rule); text-align: left; }
.svc__r--feature .svc__p small { font-size: 11px; line-height: 17.05px; }

/* ---------- comparison ---------- */
.cmp { border-top: 1px solid var(--color-rule); }
.cmp__row { display: grid; grid-template-columns: 1.25fr 1fr 1fr; border-bottom: 1px solid var(--color-rule); }
.cmp__row > div { min-height: 74px; display: flex; align-items: center; gap: 10px; padding: 20px 24px; border-right: 1px solid var(--color-rule); }
.cmp__row > div:first-child { padding-left: 0; font-weight: 600; }
.cmp__row > div:last-child { border-right: 0; color: var(--color-accent-deep); }
.cmp__h { color: var(--color-ink-2); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.no, .yes { flex: 0 0 auto; font-weight: 700; }
.no { color: var(--color-danger); }
.yes { color: var(--color-accent); }

/* ---------- pricing + calculator ---------- */
.tariffs { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-rule); border-bottom: 1px solid var(--color-rule); }
.tf { min-height: 430px; display: flex; flex-direction: column; padding: 34px 34px 38px; border-right: 1px solid var(--color-rule); }
.tf:first-child { padding-left: 0; }
.tf:last-child { padding-right: 0; border-right: 0; }
.tf--main { color: #fff; background: var(--color-accent); padding-inline: 34px !important; }
.tf__n { margin-bottom: 42px; color: var(--color-ink-2); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.tf--main .tf__n { color: #dcecf5; }
.tf h3 { margin-bottom: 12px; font-size: 28px; font-weight: 550; letter-spacing: -.035em; }
.tf__p { margin-bottom: 28px; font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 520; line-height: 1; letter-spacing: -.06em; }
.tf__p small { font-size: .42em; }
.tf ul { margin: auto 0 0; padding: 0; list-style: none; }
.tf li { padding: 13px 0; border-top: 1px solid var(--color-rule); color: var(--color-ink-2); }
.tf--main li { color: #fff; border-color: rgba(255,255,255,.25); }
.calc { display: grid; grid-template-columns: 1.5fr .7fr; margin-top: var(--space-28); border: 1px solid var(--color-rule); }
.calc__in { display: grid; gap: 34px; padding: 48px; }
.calc__out { min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; padding: 48px; color: #fff; background: var(--color-surface-deep); }
.calc__out > small { color: #b9d5e5; }
.calc__sum {
  margin: 12px 0 34px;
  font-size: clamp(2.5rem, 3.6vw, 4rem);
  font-weight: 520;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.calc__br { width: 100%; margin: 0 0 38px; padding: 0; list-style: none; }
.calc__br li { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.2); font-size: 13px; }
.calc__br li > span:last-child { flex: 0 0 auto; white-space: nowrap; }
.calc__out .btn { width: 100%; margin-top: auto; }
.calc__note { margin-top: 16px; color: #b9d5e5; font-size: 11px; }
.calc__l { margin-bottom: 13px; font-size: 13px; font-weight: 600; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { min-height: 42px; padding: 0 17px; border: 1px solid var(--color-rule); border-radius: var(--radius-pill); background: #fff; font-size: 13px; }
.chip:hover { border-color: var(--color-accent); }
.chip.on { color: #fff; border-color: var(--color-accent); background: var(--color-accent); }
.calc input[type=range] { width: 100%; accent-color: var(--color-accent); }
.calc__row { display: flex; align-items: center; gap: 28px; }
.cnt { display: flex; border: 1px solid var(--color-rule); border-radius: var(--radius-pill); overflow: hidden; }
.cnt button, .cnt span { width: 48px; height: 42px; display: grid; place-items: center; background: #fff; }
.cnt button:hover { background: var(--color-blue-soft); }
.tgl { display: flex; align-items: flex-start; gap: 12px; }
.tgl input { width: 20px; height: 20px; accent-color: var(--color-accent); }
.tgl span, .tgl small { display: block; }
.tgl small { margin-top: 3px; color: var(--color-ink-2); font-size: 11px; }
.full { margin-top: 28px; border-top: 1px solid var(--color-rule); border-bottom: 1px solid var(--color-rule); }
.full summary {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  padding: 12px 0;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.full summary::-webkit-details-marker { display: none; }
.full summary::after {
  content: '+';
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  margin-left: auto;
  color: var(--color-accent);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}
.full[open] summary::after { content: '−'; }
.tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.tbl th, .tbl td { padding: 16px; border-top: 1px solid var(--color-rule); text-align: left; vertical-align: top; }
.tbl th { color: var(--color-ink-2); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.tbl th:first-child, .tbl td:first-child { padding-left: 0; }
.tbl .grp td { color: #fff; background: var(--color-accent); font-weight: 600; }
.conds { padding: 24px 0; color: var(--color-ink-2); font-size: 12px; }

/* ---------- process / equipment ---------- */
.steps { display: grid; grid-template-columns: .95fr 1.05fr; gap: 9vw; align-items: start; }
.steps__pic { height: min(78vh, 820px); position: sticky; top: 116px; overflow: hidden; }
.steps__pic img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tl { margin: 0; padding: 0; counter-reset: process; list-style: none; }
.tl li { position: relative; display: grid; grid-template-columns: 54px 1fr auto; column-gap: 18px; padding: 26px 0 34px; border-top: 1px solid var(--color-rule); }
.tl__n { grid-row: 1 / span 2; color: var(--color-accent); font-size: 13px; font-weight: 600; }
.tl h3 { margin-bottom: 9px; font-size: 24px; font-weight: 540; letter-spacing: -.03em; }
.tl p { grid-column: 2; max-width: 500px; margin: 0; color: var(--color-ink-2); }
.tl__t { grid-column: 3; grid-row: 1; color: var(--color-ink-2); font-size: 12px; white-space: nowrap; }
.car { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 70px; border-top: 1px solid #fff; }
.car__box { padding: 38px 44px 10px 0; border-right: 1px solid #fff; }
.car__box + .car__box { padding-left: 44px; border-right: 0; }
.car__box h3 { margin-bottom: 30px; font-size: 26px; font-weight: 500; }
.car__list { margin: 0; padding: 0; list-style: none; }
.car__list li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 20px 0; border-top: 1px solid #fff; }
.car__list .ic {
  display: grid;
  place-items: center;
  align-self: start;
  color: var(--color-blue-mid);
  border-color: #fff;
}
.car__list .ic img { display: block; width: 20px; height: 20px; }
.car__list b, .car__list span { display: block; }
.car__list b { margin-bottom: 3px; }
.car__list span { color: #b9d5e5; font-size: 13px; }
.car__mobile-ph { display: none; }
.car__grid { display: grid; grid-template-columns: 1fr 1.45fr; gap: 24px; margin-top: 70px; }
.car__ph { height: min(70vh, 690px); overflow: hidden; }
.car__ph img { width: 100%; height: 100%; object-fit: cover; }
.car__ph:first-child img { object-position: center 34%; }
.car__ph:last-child img { object-position: 61% center; }

/* ---------- secondary service / reviews / editorial modules ---------- */
.care-section { padding: 100px 0; }
.care-section .wrap { width: min(100% - 90px, 1459px); }
.care {
  height: 356px;
  display: grid;
  grid-template-columns: 868px minmax(0, 1fr);
  overflow: hidden;
  border-radius: 10px;
  background: var(--color-paper-3);
}
.care__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 55.5px 64px; }
.care h3 { margin: 0 0 34px; font-size: 48px; font-weight: 600; line-height: 52px; letter-spacing: -1.2px; }
.care p { max-width: 650px; margin: 0 0 34px; color: var(--color-ink-2); font-size: 18px; line-height: 22px; }
.care__action { display: flex; gap: 47px; align-items: center; }
.care__action .btn { width: 209px; }
.care__p { min-height: 81px; display: flex; flex-direction: column; justify-content: center; padding-left: 47px; border-left: 1px solid var(--color-rule); color: var(--color-ink-2); }
.care__p b { color: var(--color-accent); font-size: 32px; font-weight: 500; line-height: 38px; letter-spacing: -.6px; white-space: nowrap; }
.care__p span { font-size: 16px; }
.care__media { min-width: 0; position: relative; overflow: hidden; }
.care__media img { width: 716px; max-width: none; height: 402px; position: absolute; top: 27px; left: -137px; object-fit: cover; }
.comparison-section .sub { width: 100%; max-width: none; }
.reviews-section { padding-top: 148px; }
.reviews-head {
  display: grid;
  grid-template-columns: minmax(0, 900px) 1fr;
  gap: 32px;
  align-items: start;
  margin-bottom: 72px;
  padding-top: 22px;
  border-top: 1px solid var(--color-rule);
}
.reviews-head__eyebrow { color: var(--color-accent); font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.reviews-head .h2 { max-width: 900px; margin: 0; text-wrap: balance; }
.reviews-head .btn { justify-self: end; margin-top: 4px; white-space: nowrap; }
.vids {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--color-rule);
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}
.vid { min-width: 0; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--color-paper-3); }
.vid img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out), filter var(--duration-base); }
.vid:nth-child(1) img { object-position: center; }
.vid:nth-child(2) img { object-position: center 40%; }
.vid:nth-child(3) img { object-position: center 46%; }
.vid:hover img { transform: scale(1.025); filter: saturate(.92); }
.vid__play {
  width: 56px;
  height: 56px;
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--color-accent);
  background: var(--color-paper);
  transform: translate(-50%, -50%);
  transition: color var(--duration-base), background var(--duration-base), transform var(--duration-base) var(--ease-out);
}
.vid__play svg { width: 24px; height: 24px; fill: currentColor; }
.vid:hover .vid__play { color: #fff; background: var(--color-accent); transform: translate(-50%, -50%) scale(1.06); }
.vid__meta {
  min-height: 48px;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 0 16px;
  color: var(--color-ink);
  background: var(--color-paper);
  font-size: 12px;
}
.reviews-list-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-top: 112px; padding: 0 0 28px; }
.reviews-list-head__meta { min-width: 0; flex: 1; }
.reviews-list-head__meta h3 { margin: 0; font-size: 32px; font-weight: 550; line-height: 1.1; letter-spacing: -.035em; }
.reviews-list-head__meta p { margin: 8px 0 0; color: var(--color-ink-2); font-size: 15px; line-height: 1.45; }
.reviews-source { width: fit-content; display: flex; align-items: center; gap: 7px; margin-top: 15px; color: var(--color-ink-2); font-size: 13px; }
.reviews-source:hover { color: var(--color-accent); }
.reviews-source__mark { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #fc3f1d; font-size: 12px; font-weight: 700; }
.reviews-source b { color: var(--color-ink); font-size: 13px; font-weight: 600; }
.reviews-source__stars, .rev__rating { color: #f5b800; letter-spacing: 1px; }
.reviews-carousel__controls { flex: none; display: flex; gap: 8px; }
.reviews-carousel__btn {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-rule);
  border-radius: 50%;
  color: var(--color-accent);
  background: var(--color-paper);
  cursor: pointer;
  transition: color var(--duration-base), background var(--duration-base), border-color var(--duration-base), opacity var(--duration-base);
}
.reviews-carousel__btn svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.reviews-carousel__btn:hover:not(:disabled) { color: #fff; background: var(--color-accent); border-color: var(--color-accent); }
.reviews-carousel__btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-accent) 28%, transparent); outline-offset: 3px; }
.reviews-carousel__btn:disabled { opacity: .32; cursor: default; }
.reviews-carousel { position: relative; }
.reviews-carousel:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 6px; }
.reviews-carousel__viewport { overflow: hidden; }
.revs { display: flex; gap: 16px; margin: 0; }
.rev {
  min-width: 0;
  min-height: 380px;
  flex: 0 0 calc((100% - 32px) / 3);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin: 0;
  padding: 28px;
  border: 0;
  border-radius: 12px;
  background: var(--color-paper-3);
}
.rev__rating { min-height: 20px; font-size: 16px; line-height: 20px; }
.rev blockquote { min-width: 0; flex: 1; margin: 24px 0 34px; }
.rev p { max-width: none; margin: 0; font-size: 18px; line-height: 1.52; letter-spacing: -.015em; text-wrap: pretty; }
.rev blockquote p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 8; }
.rev__more {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
  color: var(--color-accent-deep);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}
.rev__more:hover { color: var(--color-accent); }
.rev__more:focus-visible { border-radius: 2px; }
.rev__a { display: flex; align-items: center; gap: 12px; margin: auto 0 0; font-style: normal; text-align: left; }
.rev__avatar { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--color-accent); font-size: 15px; font-weight: 600; }
.rev__person { min-width: 0; display: block; }
.rev__person b, .rev__person small { display: block; }
.rev__person b { font-size: 14px; font-weight: 600; }
.rev__person small { margin-top: 2px; color: var(--color-ink-2); font-size: 12px; }
.memo { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-rule); }
.memo__c { padding: 32px 34px 20px 0; border-right: 1px solid var(--color-rule); }
.memo__c + .memo__c { padding-left: 34px; }
.memo__c:last-child { border-right: 0; }
.memo__when { margin-bottom: 34px; color: var(--color-accent); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.memo h3 { margin-bottom: 22px; font-size: 26px; font-weight: 540; letter-spacing: -.03em; }
.memo ul { margin: 0; padding-left: 18px; color: var(--color-ink-2); }
.memo li { margin: 10px 0; }
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; align-items: start; }
.faq__side { position: sticky; top: 130px; }
.faq__card { margin-top: 54px; padding: 28px; color: #fff; background: var(--color-accent); }
.faq__card b { font-size: 20px; }
.faq__card p { margin: 8px 0 20px; color: #dcecf5; }
.faq__card .tel { display: block; margin-bottom: 22px; font-size: 24px; font-weight: 600; }
.qa { border-top: 1px solid var(--color-rule); }
.qa:last-child { border-bottom: 1px solid var(--color-rule); }
.qa summary { position: relative; padding: 27px 54px 27px 0; font-size: 20px; font-weight: 550; list-style: none; }
.qa summary::after { content: '+'; position: absolute; top: 22px; right: 4px; color: var(--color-accent); font-size: 28px; font-weight: 400; }
.qa[open] summary::after { content: '−'; }
.qa p { max-width: 680px; margin: -4px 0 28px; color: var(--color-ink-2); }
.arts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-rule); }
.arts a { min-height: 170px; position: relative; padding: 28px 56px 28px 0; border-right: 1px solid var(--color-rule); border-bottom: 1px solid var(--color-rule); font-size: 20px; line-height: 1.25; transition: color var(--duration-base); }
.arts a:nth-child(3n+2), .arts a:nth-child(3n+3) { padding-left: 28px; }
.arts a:nth-child(3n) { border-right: 0; }
.arts a::after { content: '↗'; position: absolute; right: 24px; bottom: 24px; color: var(--color-accent); }
.arts a:hover { color: var(--color-accent); }
.cont { display: grid; grid-template-columns: 1fr 1fr; min-height: 690px; border: 1px solid var(--color-rule); }
.cont__in { padding: clamp(36px, 5vw, 78px); }
.cont h2 { max-width: 650px; margin-bottom: 50px; font-size: clamp(2.8rem, 5vw, 5.2rem); font-weight: 520; line-height: .96; letter-spacing: -.06em; }
.phones { display: grid; gap: 16px; }
.phones a { display: block; padding-bottom: 15px; border-bottom: 1px solid var(--color-rule); }
.phones b, .phones span { display: block; }
.phones b { font-size: 22px; font-weight: 550; }
.phones span { color: var(--color-ink-2); font-size: 12px; }
.addr { margin: 28px 0; color: var(--color-ink-2); }
.addr b { color: var(--color-ink); }
.cb { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.cb > .agree { margin-top: 24px; }
.cont__map { min-height: 600px; position: relative; overflow: hidden; background: #e8eef1; }
.map__canvas { position: absolute; inset: 0; overflow: hidden; }
.map__tiles { width: 1024px; height: 1024px; position: absolute; top: calc(50% - 489px); left: calc(50% - 487px); display: grid; grid-template-columns: repeat(4, 256px); grid-template-rows: repeat(4, 256px); filter: saturate(.82) brightness(1.02); }
.map__tiles img { width: 256px; height: 256px; max-width: none; }
.map__pin { width: 42px; height: 52px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -100%); filter: drop-shadow(0 5px 10px rgba(16,48,66,.24)); }
.map__pin svg { width: 100%; height: 100%; fill: var(--color-accent); }
.map__pin circle { fill: #fff; }
.map__label { position: absolute; top: calc(50% + 10px); left: 50%; padding: 7px 12px; border-radius: var(--radius-pill); color: #fff; background: var(--color-ink); font-size: 12px; font-weight: 600; transform: translateX(-50%); box-shadow: 0 5px 16px rgba(16,48,66,.16); }
.map__open { position: absolute; z-index: 2; border: 1px solid rgba(207,220,228,.95); color: var(--color-ink); background: rgba(255,255,255,.94); backdrop-filter: blur(8px); }
.map__open { top: 20px; right: 20px; padding: 10px 14px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 600; }
.map__brand { position: absolute; z-index: 2; right: 10px; bottom: 10px; display: flex; gap: 5px; align-items: center; padding: 5px 8px; border-radius: 4px; background: rgba(255,255,255,.94); font-size: 10px; font-weight: 500; }
.map__brand img { width: 16px; height: 16px; }
.map__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.map__zoom { position: absolute; z-index: 3; right: 20px; bottom: 46px; display: grid; gap: 8px; }
.map__zoom button { width: 44px; height: 44px; padding: 0; border: 1px solid rgba(207,220,228,.95); border-radius: 50%; color: var(--color-ink); background: rgba(255,255,255,.96); box-shadow: 0 5px 16px rgba(16,48,66,.12); font: 500 26px/1 var(--font-sans); cursor: pointer; transition: color .2s, background .2s, transform .2s; }
.map__zoom button:hover { color: #fff; background: var(--color-accent); transform: translateY(-1px); }
.map__zoom button:focus-visible { outline: 3px solid rgba(31,120,179,.3); outline-offset: 2px; }
.ymap-marker { position: relative; width: 120px; height: 86px; pointer-events: none; }
.ymap-marker__pin { position: absolute; top: 0; left: 39px; width: 42px; height: 52px; filter: drop-shadow(0 5px 10px rgba(16,48,66,.24)); }
.ymap-marker__pin svg { display: block; width: 100%; height: 100%; fill: var(--color-accent); }
.ymap-marker__pin circle { fill: #fff; }
.ymap-marker__label { position: absolute; top: 60px; left: 50%; padding: 7px 12px; border-radius: var(--radius-pill); color: #fff; background: var(--color-ink); font: 600 12px/1 var(--font-sans); white-space: nowrap; transform: translateX(-50%); box-shadow: 0 5px 16px rgba(16,48,66,.16); }

@media (max-width: 640px) {
  .map__open { top: 14px; right: 14px; }
  .map__zoom { right: 14px; bottom: 42px; }
  .map__zoom button { width: 42px; height: 42px; }
}

/* ---------- internal pages ---------- */
.crumbs { padding: 24px 0; color: var(--color-ink-2); font-size: 12px; }
.crumbs a { color: var(--color-accent); }
.phero { padding: 74px 0 var(--space-28); }
.phero__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); gap: 7vw; align-items: center; }
.phero h1 { max-width: 920px; margin-bottom: 30px; font-size: clamp(3rem, 5.8vw, 6.2rem); font-weight: 550; line-height: .94; letter-spacing: -.06em; }
.phero__lead, .leadf { max-width: 740px; color: var(--color-ink-2); font-size: var(--type-lead); }
.phero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.phero__price { margin: 24px 0; font-size: 30px; font-weight: 600; }
.phero__pic { aspect-ratio: 4/5; overflow: hidden; }
.phero__pic img { width: 100%; height: 100%; object-fit: cover; }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 8vw; align-items: start; }
.editorial, .prose { max-width: 860px; }
.editorial h2, .prose h2 { margin: 2.2em 0 .65em; font-size: clamp(2rem, 3.6vw, 3.8rem); font-weight: 540; line-height: 1; letter-spacing: -.045em; }
.editorial h3, .prose h3 { margin: 2em 0 .6em; font-size: 26px; font-weight: 550; }
.editorial p, .prose p { color: var(--color-ink-2); font-size: 17px; line-height: 1.75; }
.editorial ul, .editorial ol, .prose ul, .prose ol { color: var(--color-ink-2); line-height: 1.7; }
.editorial img, .prose img { width: 100%; margin: 44px 0; }
.side { position: sticky; top: 126px; }
.side__card { margin-bottom: 18px; padding: 26px; border-top: 3px solid var(--color-accent); background: var(--color-paper-2); }
.side__links { display: grid; border-top: 1px solid var(--color-rule); }
.side__links a { padding: 13px 0; border-bottom: 1px solid var(--color-rule); }
.note, .warn, .tip, .tldr { margin: 32px 0; padding: 24px 26px; border-left: 3px solid var(--color-accent); background: var(--color-paper-2); }
.warn { border-color: var(--color-danger); }
.gal { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.post { max-width: 900px; }
.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px; }
.post__tag { color: var(--color-accent); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.post__more { color: var(--color-accent); font-weight: 600; }
.toc { padding: 24px; border: 1px solid var(--color-rule); }
.toc__h { font-weight: 600; }

/* ---------- footer / overlays ---------- */
.ftr { padding: 88px 0 28px; color: #fff; background: var(--color-surface-deep); }
.footer-logo { width: 210px; height: 55.031px; position: relative; display: block; }
.footer-logo img { position: absolute; max-width: none; }
.footer-logo__emblem { width: 71.043px; height: 55.031px; top: 0; left: 0; }
.footer-logo__display { width: 124.879px; height: 19.297px; top: 6.131px; left: 85.176px; }
.footer-logo__body { width: 105.153px; height: 17.09px; top: 32.934px; left: 85.47px; }
.ftr__g { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 8vw; }
.ftr__g p { max-width: 480px; margin-top: 30px; color: #b9d5e5; }
.ftr h4 { margin-bottom: 22px; color: #8fbcd5; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ftr ul { margin: 0; padding: 0; list-style: none; }
.ftr li { margin: 9px 0; color: #dcecf5; }
.ftr a:hover { color: var(--color-blue-mid); }
.ftr__b { display: flex; justify-content: space-between; gap: 28px; margin-top: 72px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); color: #8fb0c3; font-size: 11px; }
.mdl { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 20px; background: rgba(13,38,54,.66); }
.mdl.open { display: grid; }
.mdl__c { width: min(100%, 520px); position: relative; padding: 40px; background: #fff; }
.mdl__c h3 { margin-bottom: 10px; font-size: 34px; font-weight: 550; line-height: 1.08; letter-spacing: -.04em; }
.mdl__s { margin-bottom: 26px; color: var(--color-ink-2); }
.mdl__x { width: 38px; height: 38px; position: absolute; top: 12px; right: 12px; display: grid; place-items: center; border-radius: 50%; background: var(--color-paper-3); }
.mdl form { display: grid; gap: 12px; }
.mdl__sum { margin-bottom: 18px; padding: 16px; background: var(--color-blue-soft); }
.mnav { display: grid; margin-bottom: 28px; }
.mnav a { padding: 15px 0; border-bottom: 1px solid var(--color-rule); font-size: 20px; }
.mbar { display: none; }
.ck-bar { position: fixed; z-index: 90; right: 20px; bottom: 20px; left: 20px; max-width: 720px; display: flex; gap: 24px; align-items: center; margin-left: auto; padding: 18px 20px; color: #fff; background: var(--color-ink); }
.ck-bar p { margin: 0; font-size: 12px; }
.ck-bar a { text-decoration: underline; }

/* ---------- reveal motion ---------- */
.js [data-rv] { opacity: 0; transform: translateY(28px); transition: opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out); }
.js [data-rv].in { opacity: 1; transform: none; }
.svc.in .svc__r--feature:nth-child(2), .memo.in .memo__c:nth-child(2), .vids.in .vid:nth-child(2) { transition-delay: 90ms; }
.svc.in .svc__r--feature:nth-child(3), .memo.in .memo__c:nth-child(3), .vids.in .vid:nth-child(3) { transition-delay: 180ms; }

/* ---------- exact 1920 Figma rhythm ---------- */
@media (min-width: 1441px) {
  .home .wrap { width: 1456px; margin-left: calc((100vw - 1456px) / 2); margin-right: 0; }
  .hero h1, .hero .quick { left: -4px; }
  .benefits-scroll { height: 1314px; }
  .benefits-scroll .wrap { width: 1462px; margin-left: calc((100vw - 1460px) / 2); margin-right: 0; }
  .benefits-scroll__rail { position: relative; border-right: 0; }
  .benefits-scroll__rail::after { content: ''; width: 1px; position: absolute; top: 2px; right: 0; bottom: 2px; background: var(--color-rule); }
  .benefit-card { position: relative; border-bottom: 0; }
  .benefit-card:not(:last-child)::after { content: ''; height: 1px; position: absolute; right: 0; bottom: 0; left: 0; background: var(--color-rule); }
  .benefit-card p { line-height: 22px; }
  .benefits-scroll__sticky p { line-height: 22px; }
  .trust { height: 212px; }
  .trust .wrap { grid-template-columns: 338px 387px 366px 365px; }
  #uslugi { height: 1960px; padding-top: 117px; }
  #uslugi .wrap { width: 1456px; margin-left: calc((100vw - 1456px) / 2); margin-right: 0; }
  #uslugi .head--row { height: 52px; grid-template-columns: auto 565px; gap: 287px; align-items: center; }
  #uslugi .head--row .sub { width: 565px; max-width: none !important; line-height: 1.2; }
  #uslugi .head { margin-bottom: 82px; }
  .comparison-section { height: 929px; padding: 100px 0 129px; }
  .comparison-section .h2, .comparison-section .sub { width: 100%; max-width: none; }
  .comparison-section .sub, .tariffs-section .sub { line-height: 22px; }
  .tariffs-section { min-height: 1573.281px; }
  .tariffs-section .sub { width: 100%; max-width: none; }
  .tariffs-section .tariffs { height: 435.375px; }
  .tariffs-section .tf { min-height: 0; }
  .tariffs-section .calc { height: 549.109px; }
  .steps-section { height: 1020px; }
  .vehicle-section { height: 1598.109px; padding-bottom: 120px; }
  .memo-section { height: 687.078px; }
  .faq-section { min-height: 1012.188px; }
  .articles-section { height: 665px; }
  .contact-section { height: auto; padding: 100px 0; }
  .contact-section .cont { height: auto; min-height: 747px; }
  .contact-section .cont h2 { margin-bottom: 50px; font-size: 48px; font-weight: 600; line-height: 52px; letter-spacing: -1.2px; }
  .contact-section .cont__map { min-height: 0; }
  .faq__side { padding-top: 28px; }
  .care-section .wrap { width: 1459px; margin-left: calc((100vw - 1462px) / 2); margin-right: 0; }
}

@media (min-width: 1121px) and (max-width: 1440px) {
  .trust__i b { font-size: 56px; line-height: 62px; letter-spacing: -1.7px; }
  .trust__i b small { font-size: 34px; letter-spacing: -.8px; }
  .svc__r--feature { height: auto; min-height: 0; }
  .svc__r--feature .svc__media,
  .svc__r--feature:nth-child(1) .svc__media,
  .svc__r--feature:nth-child(2) .svc__media { height: clamp(400px, 36vw, 567px); }
}

@media (min-width: 1121px) {
  .articles-section .head--row { display: flex; align-items: flex-start; justify-content: space-between; }
  .articles-section .h2 { max-width: none; white-space: nowrap; }
}

/* ---------- tablet ---------- */
@media (max-width: 1120px) {
  .wrap { width: min(100% - 56px, 1456px); }
  .hdr .wrap { grid-template-columns: 190px 1fr auto; gap: 22px; }
  .logo { width: 184px; }
  .hdr__ph { display: none; }
  .nav { gap: 18px; }
  .hero { height: 700px; }
  .hero h1 { width: 650px; max-width: 70vw; top: 60px; font-size: 56px; line-height: 60px; letter-spacing: -1.7px; }
  .quick { width: calc(100% - 150px); max-width: none; top: 300px; padding: 30px; }
  .badge--a { top: 258px; right: 0; left: auto; }
  .badge--b { right: 0; top: auto; bottom: 30px; }
  .benefits-scroll { padding: 112px 0 96px; }
  .benefits-scroll .wrap { width: min(100% - 56px, 1456px); }
  .benefits-scroll__grid { grid-template-columns: minmax(320px, 40%) minmax(0, 1fr); gap: 42px; }
  .benefits-scroll__rail { padding-right: 36px; }
  .benefits-scroll__sticky h2 { font-size: 40px; line-height: 44px; }
  .trust__i b { font-size: 34px; line-height: 40px; letter-spacing: -1px; }
  .trust__i b small { font-size: 24px; letter-spacing: -.5px; }
  .care { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); }
  .care__content { padding: 34px 42px; }
  .care h3 { font-size: 40px; line-height: 44px; }
  .care__media img { top: 44px; }
  .reviews-head { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; }
  .vids { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rev { min-height: 390px; flex-basis: calc((100% - 16px) / 2); }
  .svc__r { grid-template-columns: 54px minmax(0, 1fr) 184px; }
  .svc__r:last-child { grid-template-columns: 54px minmax(0, 1fr) minmax(368px, auto); }
  .svc__r--feature { height: auto; min-height: 0; padding-inline: 20px; }
  .svc__r--feature .svc__media,
  .svc__r--feature:nth-child(1) .svc__media,
  .svc__r--feature:nth-child(2) .svc__media { height: auto; aspect-ratio: 4 / 5; }
  .calc__in, .calc__out { padding: 36px; }
  .faq { gap: 6vw; }
  .cb { grid-template-columns: 1fr; }
  .cb .agree, .cb .ok { grid-column: 1 !important; }
}

/* ---------- mobile ---------- */
@media (max-width: 820px) {
  body { padding-bottom: 68px; }
  .wrap { width: min(100% - 32px, 1456px); }
  .sec { padding: 88px 0; }
  .home .sec { padding: 72px 0; }
  .topline .wrap { justify-content: center; }
  .tl-hide, .nav, .hdr__ph, .hdr > .wrap > .btn { display: none; }
  .hdr .wrap { height: 72px; min-height: 72px; grid-template-columns: 1fr auto auto; gap: 10px; }
  .logo { width: 156px; }
  .mph { display: grid; grid-template-columns: auto; place-items: center; }
  .mph__ic { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--color-rule); border-radius: 50%; }
  .mph__ic svg { width: 20px; height: 20px; }
  .mph__t { display: none; }
  .burger { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--color-rule); border-radius: 50%; background: #fff; }
  .burger svg { width: 21px; height: 21px; }
  .hero { height: auto; min-height: 0; padding: 38px 0 300px; }
  .hero__content { height: auto; }
  .hero h1 { width: 100%; max-width: 650px; position: relative; top: auto; left: auto; font-size: clamp(2.75rem, 11vw, 4.2rem); line-height: .98; letter-spacing: -.045em; }
  .hero__pic img { height: 100%; top: 0; object-position: 64% center; }
  .hero__pic::after { background: linear-gradient(180deg, rgba(220,236,245,.98) 0%, rgba(220,236,245,.88) 53%, rgba(185,213,229,.18) 100%); }
  .quick { width: 100%; max-width: none; position: relative; top: auto; left: auto; gap: 24px; margin-top: 30px; padding: 25px 20px; }
  .quick__fields { grid-template-columns: 1fr; gap: 10px; }
  .quick__foot { gap: 18px; align-items: flex-start; flex-direction: column; }
  .quick__foot .agree { gap: 12px; white-space: normal; }
  .quick__foot .btn { width: 100%; flex-basis: 48px; }
  .badge { padding: 10px 12px; font-size: 10px; }
  .badge b { font-size: 13px; }
  .badge--a { top: auto; right: 0; bottom: -260px; left: auto; }
  .badge--b { top: auto; right: auto; bottom: -260px; left: 0; }
  .badge__ic { display: none; }
  .benefits-scroll { padding: 80px 0; }
  .benefits-scroll .wrap { width: min(100% - 32px, 1456px); }
  .benefits-scroll__grid { display: grid; grid-template-columns: 1fr; gap: 54px; }
  .benefits-scroll__copy { grid-row: 1; }
  .benefits-scroll__sticky { position: static; }
  .benefits-scroll__sticky h2 { margin-bottom: 28px; font-size: clamp(2.45rem, 9vw, 3.5rem); line-height: 1.05; letter-spacing: -.035em; }
  .benefits-scroll__sticky p { margin-bottom: 34px; font-size: 17px; }
  .benefits-scroll__rail { grid-row: 2; gap: 28px; padding-right: 0; border-right: 0; }
  .benefit-card { gap: 20px; padding-bottom: 28px; }
  .benefit-card img { height: auto; aspect-ratio: 732 / 351; }
  .benefit-card p { padding: 0; font-size: 16px; }
  .trust .wrap { grid-template-columns: repeat(2, 1fr); }
  .trust__i { min-height: 158px; padding: 22px 18px 22px 0; border-bottom: 1px solid var(--color-rule); }
  .trust__i:nth-child(2) { padding-left: 18px; border-right: 0; }
  .trust__i:nth-child(3) { padding-left: 0; border-bottom: 0; }
  .trust__i:nth-child(4) { padding-left: 18px; border-right: 0; border-bottom: 0; }
  .trust__i b { font-size: clamp(2.25rem, 10vw, 3.5rem); }
  .head, .head--row { display: block; margin-bottom: 48px; }
  .head--row > .btn { margin-top: 24px; }
  .home .h2, .home .vehicle-section .h2 { font-size: clamp(2.55rem, 11vw, 4.3rem); line-height: 1.05; letter-spacing: -.04em; }
  .svc { grid-template-columns: 1fr; }
  .svc__r--feature { padding: 0 0 44px; border-right: 0; grid-column: 1; }
  .svc__r--feature + .svc__r--feature { padding-top: 28px; }
  .svc__r--feature .svc__media,
  .svc__r--feature:nth-child(1) .svc__media,
  .svc__r--feature:nth-child(2) .svc__media { height: auto; aspect-ratio: 4/4.6; }
  .svc__r, .svc__r:last-child { grid-template-columns: 42px minmax(0,1fr); gap: 16px; }
  .svc__r .svc__p { grid-column: 2; text-align: left; }
  .svc__r::after { display: none; }
  .svc__r:not(.svc__r--feature):hover .svc__p { transform: none; }
  .cmp { overflow-x: auto; }
  .cmp__row { min-width: 720px; }
  .tariffs { grid-template-columns: 1fr; }
  .tf, .tf:first-child, .tf:last-child { min-height: 0; padding: 30px 0; border-right: 0; border-bottom: 1px solid var(--color-rule); }
  .tf--main { padding: 30px 24px !important; }
  .tf__n { margin-bottom: 22px; }
  .tf ul { margin-top: 28px; }
  .calc { grid-template-columns: 1fr; margin-top: 68px; }
  .calc__in, .calc__out { padding: 26px 20px; }
  .calc__out { min-height: 420px; }
  .calc__row { align-items: flex-start; flex-direction: column; }
  .full { overflow-x: auto; }
  .tbl { min-width: 720px; }
  .steps { grid-template-columns: 1fr; gap: 56px; }
  .steps__pic { height: auto; max-height: 680px; aspect-ratio: 4 / 5; position: relative; top: auto; }
  .tl li { grid-template-columns: 36px 1fr; }
  .tl__t { grid-column: 2; grid-row: auto; margin-top: 12px; }
  .car { grid-template-columns: 1fr; }
  .car__box, .car__box + .car__box { padding: 32px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .car__grid { grid-template-columns: 1fr; margin-top: 48px; }
  .car__ph { height: 56vh; }
  .care-section .wrap { width: min(100% - 32px, 1459px); }
  .care { height: auto; grid-template-columns: 1fr; }
  .care__content { padding: 38px 24px 32px; }
  .care h3 { margin-bottom: 24px; font-size: clamp(2.35rem, 9vw, 3.25rem); line-height: 1.06; }
  .care p { margin-bottom: 30px; font-size: 16px; }
  .care__action { width: 100%; gap: 24px; align-items: flex-start; flex-direction: column; }
  .care__action .btn { width: 100%; }
  .care__p { min-height: 0; padding: 0; border: 0; }
  .care__media { height: 280px; }
  .care__media img { width: 100%; max-width: 100%; height: 100%; top: 0; left: 0; object-fit: contain; object-position: center bottom; }
  .reviews-section { padding-top: 78px; }
  .reviews-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 44px; padding-top: 18px; }
  .reviews-head .btn { justify-self: start; margin-top: 4px; }
  .vids { grid-template-columns: 1fr; }
  .vid { aspect-ratio: 4 / 3; }
  .vid__play { width: 48px; height: 48px; }
  .vid__play svg { width: 20px; height: 20px; }
  .vid__meta { min-height: 42px; gap: 10px; padding-inline: 12px; font-size: 10px; }
  .reviews-list-head { align-items: stretch; flex-direction: column; gap: 20px; margin-top: 72px; padding-bottom: 22px; }
  .reviews-list-head__meta h3 { font-size: 27px; }
  .reviews-list-head__meta p { max-width: none; font-size: 13px; }
  .reviews-source { flex-wrap: nowrap; font-size: 12px; }
  .reviews-carousel__controls { align-self: flex-end; }
  .reviews-carousel__btn { width: 46px; height: 46px; }
  .rev { min-height: 390px; flex-basis: 100%; padding: 24px; }
  .rev p { font-size: 17px; line-height: 1.5; }
  .memo { grid-template-columns: 1fr; }
  .memo__c, .memo__c + .memo__c { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--color-rule); }
  .faq { grid-template-columns: 1fr; gap: 58px; }
  .faq__side { position: static; }
  .arts { grid-template-columns: 1fr; }
  .arts a, .arts a:nth-child(3n+2), .arts a:nth-child(3n+3) { min-height: 130px; padding: 24px 52px 24px 0; border-right: 0; }
  .cont { grid-template-columns: 1fr; }
  .cont__in { padding: 48px 22px; }
  .cont__map { min-height: 420px; }
  .phero { padding: 48px 0 86px; }
  .phero__row { grid-template-columns: 1fr; }
  .phero__pic { margin-top: 42px; }
  .layout { grid-template-columns: 1fr; }
  .side { position: static; }
  .posts { grid-template-columns: 1fr; }
  .ftr { padding-top: 64px; }
  .ftr__g { grid-template-columns: 1fr; gap: 42px; }
  .ftr__b { align-items: flex-start; flex-direction: column; }
  .mbar { position: fixed; z-index: 45; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px 12px; border-top: 1px solid var(--color-rule); background: #fff; }
  .mbar .btn { min-height: 48px; padding-inline: 10px; font-size: 12px; }
  .ck-bar { bottom: 80px; align-items: stretch; flex-direction: column; gap: 14px; }
}

@media (max-width: 430px) {
  .hero h1 { font-size: 12vw; }
  .badge--b { display: none; }
  .trust__i b { font-size: 2.2rem; }
  .home .h2, .home .vehicle-section .h2 { font-size: 2.55rem; }
  .svc__r--feature h3 { font-size: 2rem; }
  .qa summary { font-size: 18px; }
  .mdl__c { padding: 34px 20px 24px; }
}

/* ---------- intentional compact layout ---------- */
@media (max-width: 820px) {
  html { scroll-padding-top: 72px; }
  body { padding-bottom: 0; }
  .topline, .mbar { display: none !important; }
  .wrap, .benefits-scroll .wrap, .care-section .wrap { width: min(100% - 32px, 1456px); }

  .hdr .wrap { height: 68px; min-height: 68px; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  .logo { width: 150px; }
  .mph__ic, .burger { width: 44px; height: 44px; }
  .mph__ic svg, .burger svg { width: 20px; height: 20px; }

  .home .sec { padding: 80px 0; }
  .home .h2,
  .home .vehicle-section .h2 { margin-bottom: 20px; font-size: clamp(2rem, 9.5vw, 2.4rem); line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
  .home .sub { font-size: 16px; line-height: 1.5; }
  .home .head { margin-bottom: 40px; }

  .hero {
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    padding: 32px 0 0;
    overflow: hidden;
  }
  .hero__content { display: contents; }
  .hero h1 {
    width: auto;
    max-width: none;
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
    grid-column: 2;
    grid-row: 1;
    margin: 0 16px 28px 0;
    font-size: clamp(2rem, 6vw, 2.65rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    text-wrap: balance;
  }
  .hero__pic { height: clamp(300px, 52vw, 400px); position: relative; inset: auto; grid-column: 2; grid-row: 2; }
  .hero__pic::after { background: linear-gradient(180deg, rgba(220,236,245,.06), rgba(13,38,54,.04)); }
  .hero__pic img { width: 100%; height: 100%; position: static; object-position: 65% center; }
  .quick {
    width: auto;
    max-width: none;
    position: relative;
    top: auto;
    left: auto;
    z-index: 4;
    grid-column: 1 / -1;
    grid-row: 4;
    gap: 24px;
    margin: 0;
    padding: 32px 16px 56px;
    border-radius: 0;
  }
  .quick__head { gap: 8px; }
  .quick__t { font-size: 24px; line-height: 1.08; letter-spacing: -.035em; }
  .quick__s { font-size: 14px; line-height: 1.45; }
  .quick__fields { grid-template-columns: 1fr; gap: 10px; }
  .quick__foot { align-items: stretch; flex-direction: column; gap: 20px; }
  .quick__foot .agree { gap: 12px; white-space: normal; }
  .quick__foot .btn { width: 100%; flex-basis: 48px; }
  .badge--a {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 3;
    grid-column: 2;
    grid-row: 3;
    align-self: stretch;
    justify-self: stretch;
    gap: 12px;
    margin: 0;
    padding: 14px 16px;
    border: 0;
    background: var(--color-accent);
    backdrop-filter: none;
    font-size: 12px;
  }
  .badge--a .badge__ic { display: block; }
  .badge--a .badge__ic img { width: 34px; height: 34px; }
  .badge--a b { font-size: 21px; line-height: 1.05; }
  .badge--b { display: none; }

  .benefits-scroll { height: auto; padding: 80px 0; }
  .benefits-scroll__grid { display: flex; flex-direction: column; gap: 48px; }
  .benefits-scroll__copy { order: 1; }
  .benefits-scroll__rail { order: 2; gap: 32px; padding: 0; border: 0; }
  .benefits-scroll__sticky { position: static; align-items: stretch; }
  .benefits-scroll__sticky h2 { margin-bottom: 24px; font-size: clamp(2rem, 9.5vw, 2.4rem); line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
  .benefits-scroll__sticky p { margin-bottom: 28px; font-size: 16px; line-height: 1.5; }
  .benefits-scroll__sticky .btn { width: 100%; }
  .benefit-card { gap: 18px; padding-bottom: 32px; }
  .benefit-card img { height: auto; aspect-ratio: 16 / 9; }
  .benefit-card p { padding: 0; font-size: 16px; line-height: 1.45; }

  .trust .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust__i { min-height: 132px; padding: 20px 16px 20px 0; }
  .trust__i:nth-child(2), .trust__i:nth-child(4) { padding-left: 16px; }
  .trust__i b, .trust__i b small { font-size: clamp(1.9rem, 9vw, 2.2rem); line-height: 1; letter-spacing: -.04em; }
  .trust__i span { font-size: 12px; line-height: 1.35; }

  .head--row { display: block; }
  .head--row .sub { margin-top: 14px; }
  .svc { display: block; }
  .svc__r--feature,
  .svc__r--feature:nth-child(1),
  .svc__r--feature:nth-child(2),
  .svc__r--feature:nth-child(3) {
    height: auto;
    min-height: 0;
    display: flex;
    padding: 0 0 40px;
    border-right: 0;
    border-bottom: 1px solid var(--color-rule);
  }
  .svc__r--feature + .svc__r--feature { padding-top: 32px; }
  .svc__r--feature .svc__media,
  .svc__r--feature:nth-child(1) .svc__media,
  .svc__r--feature:nth-child(2) .svc__media { height: auto; aspect-ratio: 16 / 10; margin-bottom: 24px; }
  .svc__r--feature h3 { margin-bottom: 8px; font-size: 27px; line-height: 1.08; }
  .svc__r--feature p { min-height: 0; font-size: 16px; }
  .svc__r--feature .svc__p { margin-top: 20px; padding-top: 16px; font-size: 28px; line-height: 1.05; }
  .svc__r, .svc__r:last-child { min-height: 0; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 24px 0; }
  .svc__r h3 { margin-bottom: 5px; font-size: 23px; line-height: 1.12; }
  .svc__r p { font-size: 15px; line-height: 1.42; }
  .svc__r .svc__p { grid-column: 2; margin-top: 10px; color: var(--color-accent); font-size: 24px; line-height: 1.1; text-align: left; white-space: normal; }
  .svc__r .svc__p small { font-size: 13px; }

  .comparison-section { overflow: visible; }
  .cmp { overflow: visible; border-top: 0; }
  .cmp__h { display: none; }
  .cmp__row { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 24px 0; border-top: 1px solid var(--color-rule); border-bottom: 0; }
  .cmp__row:last-child { border-bottom: 1px solid var(--color-rule); }
  .cmp__row > div { min-height: 0; align-items: flex-start; padding: 0; border: 0; }
  .cmp__row > div:first-child { grid-column: 1 / -1; margin-bottom: 8px; padding: 0; font-size: 17px; line-height: 1.35; }
  .cmp__row > div:nth-child(2), .cmp__row > div:nth-child(3) { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 5px 7px; padding: 14px 12px; background: rgba(255,255,255,.72); font-size: 14px; line-height: 1.35; }
  .cmp__row > div:nth-child(3) { background: #fff; }
  .cmp__row > div:nth-child(2)::before, .cmp__row > div:nth-child(3)::before { grid-column: 1 / -1; color: var(--color-ink-2); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
  .cmp__row > div:nth-child(2)::before { content: 'Такси / своя машина'; }
  .cmp__row > div:nth-child(3)::before { content: 'Забота-03'; }

  .tariffs { display: block; }
  .tf, .tf:first-child, .tf:last-child { min-height: 0; padding: 30px 0; border-right: 0; border-bottom: 1px solid var(--color-rule); }
  .tf--main { margin: 12px 0; padding: 28px 20px !important; border: 0 !important; border-radius: 12px; }
  .tf__n { margin-bottom: 18px; }
  .tf h3 { margin-bottom: 10px; font-size: 26px; }
  .tf__p { margin-bottom: 24px; font-size: 42px; }
  .tf ul { margin-top: 0; }
  .calc { grid-template-columns: 1fr; gap: 0; margin-top: 56px; border: 0; }
  .calc__in { gap: 28px; padding: 0 0 32px; }
  .calc__out { min-height: 0; padding: 28px 20px; border-radius: 12px; }
  .calc__sum { margin: 12px 0 28px; font-size: 40px; }
  .chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .chip { min-height: 48px; height: auto; padding: 9px 12px; line-height: 1.2; white-space: normal; }
  .calc__row { align-items: flex-start; flex-direction: column; gap: 20px; }

  .steps { display: flex; flex-direction: column; gap: 36px; }
  .steps > div:last-child { display: contents; }
  .steps .head { order: 1; }
  .steps__pic { height: auto; max-height: none; position: relative; top: auto; order: 2; aspect-ratio: 16 / 10; }
  .steps__pic img { object-position: center 38%; }
  .tl { order: 3; }
  .tl li { grid-template-columns: 34px minmax(0, 1fr); column-gap: 16px; padding: 24px 0 28px; }
  .tl__n { grid-row: 1 / span 3; }
  .tl h3 { font-size: 22px; line-height: 1.18; }
  .tl p { grid-column: 2; font-size: 15px; line-height: 1.48; }
  .tl__t { grid-column: 2; grid-row: auto; margin-top: 10px; }

  .vehicle-section { padding-block: 80px; }
  .car { margin-top: 48px; }
  .car__box, .car__box + .car__box { padding: 30px 0 56px; }
  .car__box h3 { margin-bottom: 20px; font-size: 24px; }
  .car__list li { grid-template-columns: 44px 1fr; gap: 14px; padding: 18px 0; }
  .car__grid { display: none; }
  .car__mobile-ph {
    display: block;
    margin-top: 28px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
  }
  .car__mobile-ph img { width: 100%; height: 100%; display: block; object-fit: cover; }
  .car__mobile-ph--transfer img { object-position: center 34%; }
  .car__mobile-ph--comfort img { object-position: 61% center; }
  .vids::-webkit-scrollbar { display: none; }

  .care { height: auto; grid-template-columns: 1fr; border-radius: 12px; }
  .care__content { padding: 32px 22px 28px; }
  .care h3 { margin-bottom: 20px; font-size: 34px; line-height: 1.04; letter-spacing: -.035em; }
  .care p { margin-bottom: 28px; font-size: 16px; line-height: 1.5; }
  .care__action { width: 100%; align-items: flex-start; flex-direction: column; gap: 22px; }
  .care__action .btn { width: 100%; }
  .care__p { min-height: 0; padding: 0; border: 0; }
  .care__media { height: auto; aspect-ratio: 16 / 10; }
  .care__media img { width: 100%; max-width: 100%; height: 100%; top: 0; left: 0; object-fit: contain; object-position: center bottom; }

  .reviews-section { padding-top: 80px; }
  .reviews-head { gap: 24px; margin-bottom: 40px; }
  .reviews-head .btn { width: fit-content; max-width: 100%; min-height: 46px; padding-inline: 18px; white-space: normal; }
  .vids { display: flex; grid-template-columns: none; gap: 12px; margin-right: -16px; padding-right: 16px; overflow-x: auto; border: 0; background: transparent; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .vid { flex: 0 0 88%; aspect-ratio: 4 / 3; scroll-snap-align: start; }
  .vid__meta { min-height: 40px; padding-inline: 12px; border-bottom: 1px solid var(--color-rule); }
  .reviews-list-head { align-items: stretch; flex-direction: column; gap: 20px; margin-top: 64px; }
  .reviews-list-head__meta h3 { font-size: 27px; }
  .reviews-list-head__meta p { max-width: none; }
  .reviews-carousel__controls { align-self: flex-end; }
  .rev { min-height: 390px; padding: 24px; }

  .memo__c, .memo__c + .memo__c { padding: 28px 0; }
  .memo__when { margin-bottom: 18px; }
  .memo h3 { margin-bottom: 16px; font-size: 24px; }

  .faq { display: flex; flex-direction: column; gap: 40px; }
  .faq__side { display: contents; }
  .faq__side > .h2 { order: 1; }
  .faq > div[data-rv] { order: 2; }
  .faq__card { order: 3; margin-top: 8px; padding: 24px; }
  .faq__side > p { order: 4; margin-top: -20px !important; }
  .qa summary { padding: 22px 46px 22px 0; font-size: 18px; line-height: 1.35; }
  .qa summary::after { top: 17px; }
  .qa p { margin: -2px 0 24px; font-size: 15px; }

  .arts a, .arts a:nth-child(3n+2), .arts a:nth-child(3n+3) { min-height: 0; padding: 24px 46px 24px 0; font-size: 18px; }
  .arts a::after { right: 4px; bottom: 24px; }

  .cont { grid-template-columns: 1fr; min-height: 0; border: 0; }
  .cont__in { padding: 0; }
  .cont h2 { margin-bottom: 36px; font-size: clamp(2.2rem, 10vw, 2.7rem); line-height: 1; letter-spacing: -.045em; }
  .phones { gap: 14px; }
  .phones b { font-size: 21px; }
  .addr { margin: 28px 0; }
  .cb { grid-template-columns: 1fr; gap: 10px; }
  .cb > .agree { margin-top: 14px; }
  .cont__map { width: calc(100% + 32px); min-height: 420px; margin: 44px -16px 0; }

  .ftr { padding: 64px 0 max(28px, env(safe-area-inset-bottom)); }
  .ftr__g { gap: 40px; }
  .ftr__b { margin-top: 48px; }

  #mMenu { place-items: stretch; padding: 0; background: #fff; }
  #mMenu .mdl__c { width: 100%; height: 100dvh; max-width: none; display: flex; flex-direction: column; padding: max(28px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); overflow-y: auto; }
  #mMenu .mdl__c h3 { margin: 44px 0 22px; font-size: 38px; }
  #mMenu .mnav { margin-bottom: 32px; }
  #mMenu .mnav a { min-height: 58px; display: flex; align-items: center; padding: 14px 0; font-size: 20px; }
  #mMenu [data-menu-order] { margin-top: auto; }
  #mOrder { align-items: end; padding: 0; }
  #mOrder .mdl__c {
    width: 100%;
    max-height: calc(100dvh - 16px);
    padding: 54px 20px max(24px, env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    overflow-y: auto;
  }
  #mOrder .mdl__x { top: 12px; right: 16px; }
  #mOrder .mdl__c h3 {
    max-width: none;
    margin: 0 0 10px;
    font-size: clamp(28px, 8vw, 30px);
    line-height: 1.08;
    white-space: nowrap;
  }
  #mOrder .mdl__s { max-width: 320px; margin-bottom: 24px; font-size: 16px; line-height: 1.45; }
  #mOrder form { gap: 0; }
  #mOrder .field { min-height: 54px; }
  #mOrder .field + .field { margin-top: 10px; }
  #mOrder form .btn { width: 100%; margin-top: 12px; }
  #mOrder .agree { margin-top: 16px; }
  #mOrder .ok { margin-top: 16px; }
}

@media (max-width: 820px) {
  .hero {
    height: 968px;
    min-height: 0;
    max-height: none;
    display: block;
    padding: 0;
    overflow: hidden;
    background: var(--color-paper);
  }
  .hero__pic {
    height: 699px;
    position: absolute;
    inset: 0;
  }
  .hero__pic::after {
    background: linear-gradient(180deg, rgb(220,236,245) 10.602%, rgba(185,213,229,.18) 99.371%);
  }
  .hero__pic img {
    width: 394.36%;
    max-width: none;
    height: 114.31%;
    position: absolute;
    top: 0;
    left: -256.39%;
    object-fit: fill;
    filter: none;
  }
  .hero__content {
    width: 100%;
    max-width: none;
    height: 100%;
    display: block;
    margin: 0;
  }
  .hero h1 {
    z-index: 4;
    width: min(calc(100% - 38px), 322px);
    max-width: 322px;
    position: absolute;
    top: 22px;
    right: auto;
    left: 21px;
    margin: 0;
    font-size: 32px;
    line-height: 1.018;
    letter-spacing: -2.2px;
    text-wrap: wrap;
  }
  .quick {
    width: calc(100% - 34px);
    max-width: none;
    position: absolute;
    top: 398px;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 36px;
    padding: 28px;
    min-height: 551px;
    color: var(--color-ink);
    border-radius: 10px;
    background: var(--color-paper);
    box-shadow: 0 4px 8.9px rgba(0,0,0,.11);
  }
  .quick__head { display: grid; gap: 1px; }
  .quick__t { max-width: none; font-size: 20px; line-height: 29.4px; letter-spacing: -.98px; }
  .quick__s { display: block; font-size: 14px; line-height: 24.8px; }
  .quick__fields { display: grid; grid-template-columns: 1fr; gap: 11px; }
  .quick__fields .field { height: 52px; min-height: 52px; }
  .quick__foot { display: flex; align-items: flex-start; flex-direction: column; gap: 36px; }
  .quick__foot .agree { gap: 25px; white-space: normal; }
  .quick__foot .btn { width: 156px; min-height: 48px; flex: 0 0 48px; }
  .quick__mobile-cta { display: none; }
  .badge--a {
    width: 212px;
    height: 67px;
    position: absolute;
    top: 147px;
    right: auto;
    bottom: auto;
    left: 21px;
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 26px;
    align-items: center;
    padding: 12px 18px;
    color: #fff;
    border: 1px solid #fff;
    background: var(--color-surface-deep);
    backdrop-filter: blur(12px);
    text-shadow: none;
  }
  .badge--a .badge__ic { display: block; }
  .badge--a .badge__ic img { width: 24px; height: 24px; }
  .badge--a > div,
  .badge--b > div { display: grid; gap: 5px; }
  .badge--a b,
  .badge--b b { font-size: 16px; font-weight: 500; line-height: normal; letter-spacing: -.6px; }
  .badge--a span,
  .badge--b span { font-size: 14px; line-height: normal; }
  .badge--a span { white-space: nowrap; }
  .badge--b {
    width: 213px;
    position: absolute;
    top: 222px;
    right: auto;
    bottom: auto;
    left: 21px;
    display: flex;
    padding: 12px 18px;
    color: #fff;
    border: 1px solid #fff;
    background: var(--color-surface-deep);
    backdrop-filter: blur(12px);
  }
  .full {
    margin-top: 24px;
    overflow: visible;
  }
  .full summary {
    min-height: 64px;
    gap: 16px;
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.25;
  }
  .full summary::after {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    font-size: 25px;
  }
  .tbl {
    min-width: 0;
    display: block;
    border-collapse: separate;
    font-size: 14px;
  }
  .tbl tbody { display: block; }
  .tbl tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 20px 0;
    border-top: 1px solid var(--color-rule);
  }
  .tbl tr:first-child {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .tbl th,
  .tbl td {
    min-width: 0;
    padding: 0;
    border: 0;
  }
  .tbl td:first-child {
    grid-column: 1 / -1;
    margin-bottom: 4px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
  }
  .tbl td:nth-child(2),
  .tbl td:nth-child(3) {
    padding: 12px;
    border-radius: var(--radius-field);
    color: var(--color-ink);
    background: var(--color-paper-2);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
  }
  .tbl td:nth-child(2)::before,
  .tbl td:nth-child(3)::before {
    display: block;
    margin-bottom: 5px;
    color: var(--color-ink-2);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .tbl td:nth-child(2)::before { content: 'Стандарт'; }
  .tbl td:nth-child(3)::before { content: 'Комфорт'; }
  .tbl td[colspan="2"] { grid-column: 1 / -1; }
  .tbl td[colspan="2"]::before { content: 'Стоимость'; }
  .tbl .grp {
    display: block;
    padding: 20px 0 0;
    border: 0;
  }
  .tbl .grp td {
    display: block;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    border-radius: 0;
    color: #fff;
    background: var(--color-accent);
    font-size: 16px;
  }
}

@media (max-width: 430px) {
  .hero h1 > span,
  .hero h1 > em { display: inline; white-space: normal; }
}

@media (max-width: 339px) {
  .hero { height: 1036px; }
  .hero h1 { width: calc(100% - 34px); left: 17px; font-size: 29px; letter-spacing: -1.8px; }
  .badge--a,
  .badge--b { left: 17px; }
  .quick { top: 384px; min-height: 0; padding: 24px; }
  .quick__t { font-size: 19px; }
  .quick__foot .agree { gap: 16px; }
}

@media (min-width: 560px) and (max-width: 820px) {
  .hero { height: 940px; }
  .hero__pic { height: 680px; }
  .hero__pic img { width: 220%; height: 118%; left: -120%; }
  .hero h1 { width: min(620px, calc(100% - 64px)); max-width: 620px; top: 32px; left: 32px; font-size: 42px; }
  .badge--a,
  .badge--b { left: 32px; }
  .badge--a { top: 178px; }
  .badge--b { top: 253px; }
  .quick { width: calc(100% - 64px); max-width: none; min-height: 0; top: 360px; left: 50%; transform: translateX(-50%); }
}

@media (min-width: 821px) and (max-width: 1280px) {
  .hero { height: 700px; }
  .hero h1 {
    width: min(100%, 700px);
    max-width: none;
    top: 48px;
    font-size: clamp(46px, 5.47vw, 56px);
    line-height: 1.04;
  }
  .hero h1 em { display: inline-block; white-space: nowrap; }
  .badge--a,
  .badge--b {
    top: clamp(220px, 24vw, 252px);
    bottom: auto;
  }
  .badge--a { right: auto; left: 0; }
  .badge--b { right: 0; left: auto; }
  .quick {
    width: 100%;
    max-width: none;
    top: clamp(352px, 37vw, 392px);
    padding: 28px 30px;
    gap: 28px;
  }
  .quick__foot { gap: 20px; }
  .quick__foot .agree {
    min-width: 0;
    white-space: normal;
  }
  .quick__foot .btn {
    width: 156px;
    flex: 0 0 156px;
    margin-left: auto;
  }
  .home .vehicle-section .h2 { font-size: 56px; line-height: 1.02; letter-spacing: -.045em; }
  .reviews-head .h2 { font-size: 44px; line-height: 1.05; }
}

@media (min-width: 821px) and (max-width: 1280px) {
  .articles-section .head--row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: start;
  }
  .articles-section .h2 {
    min-width: 0;
    white-space: normal;
  }
  .articles-section .head--row > .btn {
    min-width: max-content;
    flex: 0 0 auto;
    justify-self: end;
    white-space: nowrap;
  }
  .care {
    height: auto;
    min-height: 380px;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);
  }
  .care__content,
  .care__media { min-height: 0; }
  .care__content { padding: 36px 40px; }
  .care h3 { font-size: 40px; line-height: 44px; }
  .care__media img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: contain;
    object-position: center bottom;
  }
}

/* ---------- internal pages: editorial system ---------- */
.page { overflow-x: hidden; }
.page .phero {
  padding: 0;
  background: var(--color-paper);
}
.page .phero__grid {
  min-height: 0;
  display: block;
  padding-top: clamp(44px, 5vw, 72px);
  padding-bottom: clamp(22px, 2vw, 32px);
}
.page .phero__copy {
  width: 100%;
  min-width: 0;
}
.page .crumbs {
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  margin: 0 0 clamp(24px, 2.75vw, 36px);
  padding: 0;
  color: var(--color-ink-2);
  font-size: 12px;
  line-height: 1.45;
}
.page .crumbs a { display: inline-flex; align-items: center; gap: 10px; color: var(--color-accent); }
.page .crumbs a::after { content: '/'; color: var(--color-rule-strong); }
.page .phero h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(2rem, 3.1vw, 3rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.page .phero__lead {
  width: 100%;
  max-width: none;
  margin: clamp(16px, 1.5vw, 22px) 0 0;
  color: var(--color-ink-2);
  font-size: clamp(.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.6;
  text-wrap: pretty;
}

.page .page-main { padding: clamp(16px, 2vw, 28px) 0 clamp(120px, 12vw, 192px); }
.page .layout {
  display: grid;
  grid-template-columns: minmax(0, 880px) minmax(280px, 326px);
  gap: clamp(64px, 8vw, 136px);
  align-items: start;
}
.page .page-article { min-width: 0; }
.page .prose { max-width: 880px; }
.page .prose > p:first-child {
  max-width: 780px;
  margin-bottom: 72px;
  color: var(--color-ink);
  font-size: clamp(1.125rem, 1.35vw, 1.375rem);
  line-height: 1.58;
  letter-spacing: -.015em;
}
.page .prose h2,
.page .page-wide > h2 {
  max-width: 820px;
  margin: 104px 0 30px;
  padding-top: 28px;
  border-top: 1px solid var(--color-rule);
  font-size: clamp(2rem, 2.7vw, 2.75rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.page .prose h2:first-child { margin-top: 0; }
.page .page-wide > .reviews-page__title {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.page .prose h3 { margin: 64px 0 22px; font-size: clamp(1.375rem, 1.65vw, 1.75rem); font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
.page .prose p,
.page .prose li,
.page .page-wide > p {
  color: var(--color-ink-2);
  font-size: 18px;
  line-height: 1.72;
}
.page .prose p { max-width: 780px; margin-bottom: 24px; }
.page .prose a,
.page .page-wide > p a { color: var(--color-accent-deep); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.page .prose ul,
.page .prose ol { max-width: 820px; margin: 28px 0 36px; padding-left: 24px; }
.page .prose li { margin: 12px 0; padding-left: 7px; }
.page .prose li::marker { color: var(--color-accent); font-weight: 600; }
.page .prose strong { color: var(--color-ink); font-weight: 600; }
.page .prose blockquote { margin: 44px 0; padding: 28px 32px; background: var(--color-paper-2); }
.page .prose table {
  width: 100%;
  max-width: 100%;
  display: block;
  margin: 34px 0 48px;
  overflow-x: auto;
  border-collapse: collapse;
  border-top: 1px solid var(--color-rule-strong);
  border-bottom: 1px solid var(--color-rule);
  color: var(--color-ink-2);
  font-size: 15px;
  scrollbar-width: thin;
}
.page .prose table tbody { min-width: 640px; display: table; width: 100%; table-layout: auto; }
.page .prose th,
.page .prose td { padding: 18px 20px; border-bottom: 1px solid var(--color-rule); text-align: left; vertical-align: top; }
.page .prose th { color: var(--color-ink); background: var(--color-paper-2); font-size: 12px; font-weight: 600; letter-spacing: .045em; text-transform: uppercase; }
.page .prose tr:last-child td { border-bottom: 0; }

.page .tldr {
  max-width: 880px;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 32px;
  margin: 0 0 72px;
  padding: 34px 38px;
  border: 0;
  border-radius: 12px;
  background: var(--color-paper-3);
}
.page .tldr__t { color: var(--color-accent); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.page .tldr ul { margin: 0; padding: 0; list-style: none; }
.page .tldr li { padding: 12px 0; border-top: 1px solid var(--color-rule); color: var(--color-ink); line-height: 1.5; }
.page .tldr li:first-child { padding-top: 0; border-top: 0; }
.page .note,
.page .warn,
.page .tip,
.page .disclaimer,
.page .editorial {
  max-width: 820px;
  margin: 48px 0;
  padding: 28px 30px;
  border: 0;
  border-left: 4px solid var(--color-accent);
  background: var(--color-paper-2);
  color: var(--color-ink-2);
}
.page .warn { border-left-color: var(--color-danger); }
.page .tip__h { margin-bottom: 8px; color: var(--color-accent); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.page .editorial { margin-top: 88px; border-left: 0; border-top: 1px solid var(--color-rule); background: transparent; }

.page .toc { max-width: 880px; margin: 0 0 72px; padding: 30px 34px; border: 1px solid var(--color-rule); border-radius: 12px; }
.page .toc__h { margin-bottom: 18px; font-size: 20px; font-weight: 600; }
.page .toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 48px; }
.page .toc li { margin: 0 0 10px; break-inside: avoid; color: var(--color-ink-2); }
.page .toc a:hover { color: var(--color-accent); }

.page .side { position: sticky; top: 132px; }
.page .side__card { margin-bottom: 28px; padding: 30px; border: 0; border-radius: 12px; color: #fff; background: var(--color-ink); }
.page .side__card b { display: block; margin-bottom: 10px; font-size: 24px; line-height: 1.15; letter-spacing: -.025em; }
.page .side__card p { margin-bottom: 24px; color: #b9d5e5; font-size: 14px; line-height: 1.5; }
.page .side__card .tel { display: block; margin-bottom: 22px; font-size: 21px; font-weight: 600; white-space: nowrap; }
.page .side__card .btn { width: 100%; }
.page .side__links { display: grid; margin-top: 22px; border-top: 1px solid var(--color-rule); }
.page .side__links h4 { margin: 0; padding: 22px 0 14px; color: var(--color-ink-2); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.page .side__links a { position: relative; padding: 14px 28px 14px 0; border-bottom: 1px solid var(--color-rule); font-size: 14px; line-height: 1.35; }
.page .side__links a::after { content: '↗'; position: absolute; top: 14px; right: 2px; color: var(--color-accent); }
.page .side__links a:hover,
.page .side__links a.cur { color: var(--color-accent); }

.page .leadf {
  width: 100%;
  max-width: 880px;
  display: grid;
  gap: 28px;
  margin-top: 112px;
  padding: clamp(32px, 4vw, 52px);
  border-radius: 12px;
  color: var(--color-ink);
  background: var(--color-paper-3);
  font-size: 16px;
}
.page .leadf__h { display: grid; grid-template-columns: minmax(0, .8fr) minmax(260px, 1fr); gap: 48px; align-items: end; }
.page .leadf__h b { font-size: clamp(1.75rem, 2.5vw, 2.375rem); line-height: 1.08; letter-spacing: -.035em; }
.page .leadf__h span { color: var(--color-ink-2); line-height: 1.5; }
.page .leadf__g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.page .leadf__g label { display: grid; gap: 7px; color: var(--color-ink-2); font-size: 12px; font-weight: 600; }
.page .leadf__f { display: flex; flex-wrap: wrap; gap: 18px 24px; align-items: center; }
.page .leadf__f span { color: var(--color-ink-2); font-size: 14px; }
.page .leadf__f a { color: var(--color-accent-deep); font-weight: 600; }
.page .leadf__note { max-width: 680px; margin: -6px 0 0; color: var(--color-ink-2); font-size: 12px; line-height: 1.45; }

.page .pfaq { max-width: 880px; margin-top: 112px; }
.page .pfaq > .h2 { margin: 0 0 36px !important; padding-top: 28px; border-top: 1px solid var(--color-rule); font-size: clamp(2rem, 2.6vw, 2.625rem) !important; }
.page .pfaq .qa summary { font-size: 19px; }
.page .pfaq .qa p { font-size: 16px; line-height: 1.6; }

.page .calc-in { max-width: 880px; margin: 38px 0 72px; }
.page .calc-in .calc { margin-top: 0; }
.page .conds-list { max-width: 820px; margin-bottom: 48px; }
.page .service-reviews { margin-top: 104px; }
.page .service-reviews > h2 { margin-top: 0; }
.page .service-reviews__all { margin: 24px 0 0; }
.page .cta-in { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin: 72px 0; padding: 34px 38px; border-radius: 12px; color: #fff; background: var(--color-ink); }
.page .cta-in b,
.page .cta-in span { display: block; }
.page .cta-in b { font-size: 24px; }
.page .cta-in span { margin-top: 4px; color: #b9d5e5; }

.page .page-main--wide { padding-top: clamp(16px, 2vw, 28px); }
.page .page-wide > .h2,
.page .page-wide > div[style] .h2 { font-size: clamp(2rem, 2.7vw, 2.625rem) !important; line-height: 1.06; letter-spacing: -.035em; }
.page .posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 1px;
  margin-top: 48px;
  background: var(--color-rule);
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}
.page .post { max-width: none; min-height: 310px; display: flex; flex-direction: column; padding: 32px; background: var(--color-paper); transition: color var(--duration-base), background var(--duration-base); }
.page .post h3 { margin: 38px 0 16px; font-size: 22px; font-weight: 600; line-height: 1.18; letter-spacing: -.025em; }
.page .post p { color: var(--color-ink-2); line-height: 1.55; }
.page .post__more { margin-top: auto; padding-top: 28px; }
.page .post:hover { color: var(--color-accent); background: var(--color-paper-2); }
.page .geo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 1px; margin-top: 48px; background: var(--color-rule); border-block: 1px solid var(--color-rule); }
.page .geo a { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; background: var(--color-paper); }
.page .geo a::after { content: '↗'; color: var(--color-accent); }
.page .geo a:hover { color: var(--color-accent); background: var(--color-paper-2); }
.page .gal { gap: 1px; margin-top: 36px; background: var(--color-rule); }
.page .gal a { overflow: hidden; background: var(--color-paper-3); }
.page .gal img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; transition: transform .8s var(--ease-out); }
.page .gal a:hover img { transform: scale(1.025); }
.page .yreviews-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 64px 0 24px;
}
.page .yreviews-head .h2 { margin: 0; }
.page .yreviews-head p { margin: 8px 0 0; color: var(--color-ink-2); font-size: 14px; }
.page .reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.page .reviews-grid--compact { margin: 32px 0 0; }
.page .reviews-grid .rev { height: 400px; min-height: 400px; flex: none; }
.page .reviews-grid .rev__rating { min-height: 20px; font-size: 17px; line-height: 1; letter-spacing: 2px; }
.page .reviews-grid .rev blockquote { min-height: 0; margin: 22px 0 14px; padding: 0; background: transparent; }
.page .reviews-grid .rev__more {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  margin: 0 0 22px;
  color: var(--color-accent-deep);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.page .reviews-grid .rev__more:hover { color: var(--color-accent); }
.page .reviews-grid .rev__more:focus-visible { border-radius: 2px; }
.page .page-wide > .vids { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; }
.page .page-wide > .vids .vid { grid-column: span 3; }
.page .page-wide > .vids .vid { aspect-ratio: 4 / 3; }
.page .page-wide > .svc .svc__p { white-space: normal; overflow-wrap: anywhere; font-size: 28px; line-height: 1.16; }
.page .page-wide > .svc .svc__r h3 { font-size: 28px; line-height: 1.14; letter-spacing: -.025em; }
.page .reviews-grid .rev p { margin: 0; font-size: 17px; line-height: 1.58; }
.page .reviews-grid .rev__av {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--color-accent);
  font-size: 14px;
  font-weight: 600;
}
.page .reviews-grid .rev__a > div { min-width: 0; }
.page .reviews-grid .rev__a b,
.page .reviews-grid .rev__a span { display: block; }
.page .reviews-grid .rev__a b { font-size: 14px; line-height: 1.3; }
.page .reviews-grid .rev__a span { margin-top: 3px; color: var(--color-ink-2); font-size: 12px; }
.page .reviews-grid .rev__a > .rev__av,
.page .reviews-grid .rev__a > .rev__avatar {
  display: grid;
  place-items: center;
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

@media (min-width: 821px) {
  .page .page-wide > .svc .svc__r,
  .page .page-wide > .svc .svc__r:last-child { grid-template-columns: 54px minmax(0, 1fr) minmax(220px, 300px); }
}

@media (max-width: 1180px) {
  .page .phero h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
  .page .layout { grid-template-columns: minmax(0, 1fr) 286px; gap: 48px; }
  .page .calc-in .calc { grid-template-columns: 1fr; }
  .page .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page .page-wide > .vids { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page .page-wide > .vids .vid,
  .page .page-wide > .vids .vid:nth-child(n+4) { grid-column: span 1; }
  .page .page-wide > .vids .vid:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 8 / 3; }
  .page .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page .geo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .page .phero__grid {
    padding-top: 32px;
    padding-bottom: 24px;
  }
  .page .crumbs { margin-bottom: 22px; font-size: 11px; }
  .page .phero h1 { max-width: 100%; font-size: clamp(1.875rem, 6.5vw, 2.125rem); line-height: 1.08; letter-spacing: -.03em; }
  .page .phero__lead { margin-top: 14px; font-size: 15px; line-height: 1.58; }

  .page .page-main,
  .page .page-main--wide { padding-top: 24px; padding-bottom: 104px; }
  .page .layout { grid-template-columns: 1fr; gap: 72px; }
  .page .prose > p:first-child { margin-bottom: 52px; font-size: 18px; line-height: 1.62; }
  .page .prose h2,
  .page .page-wide > h2 { margin-top: 72px; padding-top: 22px; font-size: 30px; line-height: 1.08; }
  .page .prose h3 { margin-top: 48px; font-size: 22px; line-height: 1.18; }
  .page .prose p,
  .page .prose li,
  .page .page-wide > p { font-size: 16px; line-height: 1.65; }
  .page .prose table { width: calc(100vw - 32px); margin-right: -16px; }
  .page .prose th,
  .page .prose td { padding: 16px; }
  .page .tldr { grid-template-columns: 1fr; gap: 18px; margin-bottom: 56px; padding: 26px 24px; }
  .page .toc { margin-bottom: 56px; padding: 24px; }
  .page .toc ol { columns: 1; }
  .page .note,
  .page .warn,
  .page .tip,
  .page .disclaimer,
  .page .editorial { padding: 24px; }
  .page .side { position: static; }
  .page .side__card { padding: 28px 24px; }
  .page .leadf { gap: 24px; margin-top: 80px; padding: 30px 22px; }
  .page .leadf__h,
  .page .leadf__g { grid-template-columns: 1fr; gap: 18px; }
  .page .leadf__f { align-items: stretch; flex-direction: column; }
  .page .leadf__f .btn { width: 100%; }
  .page .pfaq { margin-top: 80px; }
  .page .pfaq .qa summary { font-size: 18px; }
  .page .cta-in { align-items: stretch; flex-direction: column; padding: 28px 24px; }
  .page .cta-in .btn { width: 100%; }
  .page .posts,
  .page .reviews-grid,
  .page .geo { grid-template-columns: 1fr; }
  .page .post { min-height: 260px; padding: 26px 22px; }
  .page .geo a { min-height: 72px; padding: 18px 20px; }
  .page .gal { grid-template-columns: 1fr !important; }
  .page .gal img { min-height: 0; aspect-ratio: 4 / 3; }
  .page .page-wide > .vids { display: grid; grid-template-columns: 1fr; margin-right: 0; padding-right: 0; overflow: visible; }
  .page .page-wide > .vids .vid,
  .page .page-wide > .vids .vid:nth-child(n+4),
  .page .page-wide > .vids .vid:last-child:nth-child(odd) { grid-column: 1; width: 100%; aspect-ratio: 4 / 3; }
  .page .yreviews-head { align-items: stretch; flex-direction: column; margin-top: 52px; }
  .page .yreviews-head .btn { width: 100%; }
  .page .reviews-grid .rev { height: 380px; min-height: 380px; }
  .page .page-wide > .svc .svc__r h3 { font-size: 21px; line-height: 1.18; }
  .page .page-wide > .svc .svc__p { font-size: 23px; }
  .page .reviews-grid .rev p { font-size: 16px; line-height: 1.58; }
}

@media (max-width: 430px) {
  .page .phero__grid { padding-top: 28px; padding-bottom: 20px; }
  .page .phero h1 { font-size: clamp(1.75rem, 8vw, 1.875rem); }
  .page .prose table { width: calc(100vw - 16px); }
  .page .page-wide > .h2,
  .page .page-wide > div[style] .h2 { font-size: 30px !important; }
}

/* Обложки статей WordPress. */
.page .article-cover {
  margin: 0 0 56px;
}

.page .article-cover img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

@media (max-width: 820px) {
  .page .article-cover { margin-bottom: 40px; }
}

@media (pointer: coarse) {
  .btn, .chip, .reviews-carousel__btn, .burger, .mph__ic { min-height: 44px; }
  .btn:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .js [data-rv] { opacity: 1; transform: none; }
}
