/* Шиномонтаж «Колёсный, 22» — эталон torqvera (тёмный графит + красный E63B2E).
   Контейнер 1200 (из профиля). Шкала кеглей: 72/48/24/20/16/13 (моб: 40/30/24/20/16/13).
   Радиусы: 8px медиа/карточки, 100px пилюли. Тени — дословно из профиля §8. */

@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-400-cyrillic.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-400-latin.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-500-cyrillic.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-500-latin.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-700-cyrillic.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-700-latin.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --bg: #0B0B0C;
  --panel: #141416;
  --panel-2: #1C1C1F;
  --text: #F4F4F5;
  --muted: #A1A1AA;
  --accent: #E63B2E;
  --line: #26262A;
  --r-media: 8px;
  --r-pill: 100px;
  --font: "Inter", system-ui, sans-serif;
  --shadow: rgba(0, 0, 0, 0.17) 0px 0.602187px 1.56569px -1.5px, rgba(0, 0, 0, 0.14) 0px 2.28853px 5.95019px -3px, rgba(0, 0, 0, 0.02) 0px 10px 26px -4.5px;
  --ring: 0 0 0 1px #000 inset;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-font-smoothing: antialiased; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
  font-synthesis: none;
  overflow-x: clip;
}

img { display: block; max-width: 100%; height: auto; }

h1, h2, h3, p, dl, dd, ol, ul, figure, blockquote { margin: 0; }
ol, ul { padding: 0; list-style: none; }

a { color: inherit; text-decoration: none; }

.container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 32px;
}

.full-bleed { width: 100%; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}

.nobr { white-space: nowrap; }

/* ---------- типографика ---------- */

h1 {
  font-size: 72px;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.02em;
}

h2 {
  font-size: 48px;
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: -0.015em;
}

h3 {
  font-size: 24px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.lead {
  font-size: 20px;
  line-height: 1.5;
  color: var(--text);
}

.kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.kicker::before {
  content: "";
  flex: 0 0 24px;
  width: 24px;
  height: 2px;
  background: var(--accent);
}

.sec-head {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 100%;
  margin-bottom: 48px;
}

.sec-lead {
  font-size: 20px;
  line-height: 1.5;
  color: var(--muted);
  max-width: 720px;
}

.section { padding-block: 96px; }

/* ---------- кнопки ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 32px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--text);
  color: var(--bg);
  font-family: var(--font);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s cubic-bezier(0.44, 0, 0.56, 1), color 0.2s cubic-bezier(0.44, 0, 0.56, 1);
}

.btn:hover { background: #FFFFFF; }

.btn--red {
  background: var(--accent);
  color: var(--bg);
}

.btn--red:hover { background: #F2553F; }

/* ---------- шапка ---------- */

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.header__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 72px;
}

.logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.logo__svg { display: block; height: 40px; width: auto; }

.nav {
  display: flex;
  gap: 32px;
  margin-left: auto;
}

.nav a {
  font-size: 16px;
  font-weight: 500;
  color: var(--muted);
  transition: color 0.2s cubic-bezier(0.44, 0, 0.56, 1);
}

.nav a:hover { color: var(--text); }

.header__cta {
  display: flex;
  align-items: center;
  gap: 24px;
}

.header__cta .btn { min-height: 48px; padding: 12px 24px; }

.header__phone {
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
}

.nav-toggle { position: absolute; opacity: 0; pointer-events: none; font-size: 16px; }

.burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  margin-left: auto;
  cursor: pointer;
}

.burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text);
  margin-inline: auto;
}

.nav-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  padding: 16px 20px 24px;
}

.nav-panel a {
  display: block;
  padding: 12px 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  border-top: 1px solid var(--line);
}

.nav-panel a:first-child { border-top: 0; }
.nav-panel__phone { color: var(--accent) !important; }

.nav-toggle:checked ~ .nav-panel { display: block; }

/* ---------- хиро ---------- */

.hero { padding-block: 48px; }

.hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  align-items: start;
}

.hero__content {
  grid-column: 1 / 7;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.hero__actions {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.hero__phone {
  font-size: 20px;
  font-weight: 500;
  color: var(--text);
}

.chip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 20px;
  border-radius: var(--r-pill);
  background: var(--panel-2);
  font-size: 16px;
  line-height: 1.4;
  max-width: 100%;
}

.dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
}

.chip__phone { font-weight: 500; }

.specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.spec dt {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}

.spec dd { font-size: 24px; font-weight: 500; letter-spacing: -0.01em; }

.hero__media {
  grid-column: 7 / 13;
  margin: 0;
  min-width: 0;
}

.hero__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--r-media);
  box-shadow: var(--shadow);
}

/* ---------- маркиза ---------- */

.marquee {
  overflow: hidden;
  border-block: 1px solid var(--line);
  padding-block: 20px;
}

.marquee__track {
  display: flex;
  gap: 64px;
  width: max-content;
  animation: marquee 36s linear infinite;
}

.marquee__list {
  display: flex;
  gap: 64px;
}

.marquee__list li {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}

.marquee__list li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 32px)); }
}

@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; }
}

/* ---------- сезонная запись ---------- */

.weeks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.week__label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 12px;
}

.week__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.slot {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 112px;
  padding: 8px;
  border-radius: var(--r-media);
  background: var(--panel);
  box-shadow: var(--ring);
  min-width: 0;
}

.slot__day {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.slot__date { font-size: 16px; font-weight: 500; }

.slot__state {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  font-size: 13px;
  line-height: 1.3;
  color: var(--muted);
}

.slot__state::before {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--muted);
}

.slot--left .slot__state { color: var(--accent); }
.slot--left .slot__state::before { background: var(--accent); }
.slot--busy { opacity: 0.5; }
.slot--free .slot__state::before { background: var(--text); }

.slots__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 24px;
  font-size: 13px;
  color: var(--muted);
}

.slots__legend span { display: inline-flex; align-items: center; gap: 8px; }

.lg { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.lg--free { background: var(--text); }
.lg--left { background: var(--accent); }
.lg--busy { background: var(--muted); opacity: 0.5; }

.season-note {
  margin-top: 32px;
  padding: 24px 32px;
  border-radius: var(--r-media);
  background: var(--panel-2);
  font-size: 16px;
  line-height: 1.55;
}

.sec-cta { margin-top: 32px; display: flex; }

/* ---------- прайс ---------- */

.table-wrap { overflow-x: auto; }

.price {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.price th, .price td {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  text-align: right;
  vertical-align: top;
}

.price thead th {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  padding-bottom: 16px;
}

.price thead th:first-child { text-align: left; }

.price tbody th {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  max-width: 640px;
}

.price tbody td { font-size: 20px; font-weight: 500; white-space: nowrap; }
.price tbody td:first-of-type, .price thead th:first-of-type { padding-right: 24px; }
.price tbody td + td, .price thead th + th { padding-left: 24px; }

.price tfoot th, .price tfoot td {
  border-bottom: 0;
  padding-top: 24px;
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  color: var(--accent);
}

/* ---------- сплиты ---------- */

.split {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px 48px;
  align-items: start;
}

.split__content { grid-column: 1 / 8; min-width: 0; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.split__media { grid-column: 8 / 13; margin: 0; min-width: 0; position: sticky; top: 104px; }

.split--media-left .split__media { grid-column: 1 / 6; }
.split--media-left .split__content { grid-column: 6 / 13; }

.split__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--r-media);
  box-shadow: var(--shadow);
}

.steps-list li {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding-block: 16px;
  border-top: 1px solid var(--line);
  font-size: 20px;
  line-height: 1.4;
}

.steps-list li:first-child { border-top: 0; padding-top: 0; }
.steps-list .dot { position: relative; top: -2px; }

.note { font-size: 16px; color: var(--muted); max-width: 560px; }

/* ---------- преимущества ---------- */

.adv-list li {
  padding-block: 20px;
  border-top: 1px solid var(--line);
}

.adv-list li:first-child { border-top: 0; padding-top: 0; }
.adv-list h3 { margin-bottom: 8px; }
.adv-list p { font-size: 16px; color: var(--muted); max-width: 560px; }

/* ---------- процесс ---------- */

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.step-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border-radius: var(--r-media);
  background: var(--panel);
  box-shadow: var(--ring);
}

.step-card__no {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.step-card h3 { font-size: 24px; }
.step-card > p:last-child { font-size: 16px; color: var(--muted); margin-top: auto; }

/* ---------- отзывы ---------- */

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.review {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px;
  border-radius: var(--r-media);
  background: var(--panel);
  box-shadow: var(--ring);
}

.review p { font-size: 20px; line-height: 1.45; }
.review footer {
  margin-top: auto;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ---------- форма ---------- */

.form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 24px;
  width: 100%;
}

.field { display: flex; flex-direction: column; gap: 8px; }
.field--wide { grid-column: 1 / -1; }

.field label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.field input, .field select {
  width: 100%;
  min-height: 56px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-media);
  background: var(--panel);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.4;
}

.field input::placeholder { color: var(--muted); }

.field input:focus, .field select:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-color: transparent;
}

.form__foot {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.form__note { font-size: 13px; color: var(--muted); max-width: 320px; }

.split__aside {
  grid-column: 8 / 13;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border-radius: var(--r-media);
  background: var(--panel);
  box-shadow: var(--ring);
}

.split__aside h3 { font-size: 24px; }
.split__aside h3 + p { font-size: 16px; color: var(--muted); }
.split__aside h3:not(:first-child) { margin-top: 16px; padding-top: 24px; border-top: 1px solid var(--line); }

.aside__phone { font-weight: 500; color: var(--text); }

/* ---------- FAQ ---------- */

.faq-list { border-top: 1px solid var(--line); }

.faq-item { border-bottom: 1px solid var(--line); }

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary::after {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s cubic-bezier(0.44, 0, 0.56, 1);
}

.faq-item[open] summary::after { transform: rotate(225deg) translateY(-2px); }

.faq-item p {
  padding: 0 0 24px;
  font-size: 16px;
  color: var(--muted);
  max-width: 720px;
}

/* ---------- финальный CTA ---------- */

.cta {
  padding-block: 128px;
  background:
    linear-gradient(rgba(11, 11, 12, 0.82), rgba(11, 11, 12, 0.82)),
    url("assets/photo-2.jpg") center / cover no-repeat;
}

.cta__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.cta__lead { font-size: 20px; line-height: 1.5; color: var(--text); max-width: 720px; }

.cta__actions {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.cta__phone { font-size: 20px; font-weight: 500; }

/* ---------- контакты ---------- */

.contacts-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px 48px;
  align-items: start;
}

.map {
  grid-column: 1 / 8;
  margin: 0;
  border-radius: var(--r-media);
  overflow: hidden;
  box-shadow: var(--ring);
}

.map svg { display: block; width: 100%; height: auto; }

.contacts-info { grid-column: 8 / 13; display: flex; flex-direction: column; gap: 24px; }

.c-item h3 { font-size: 24px; margin-bottom: 8px; }
.c-item p { font-size: 16px; color: var(--muted); }
.c-phone { font-weight: 500; color: var(--text); }

/* ---------- футер ---------- */

.footer { border-top: 1px solid var(--line); }

.footer__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 48px;
  padding-block: 48px;
}

.footer__name { font-size: 20px; font-weight: 500; margin-bottom: 8px; }
.footer__muted { font-size: 13px; line-height: 1.55; color: var(--muted); }
.footer__muted + .footer__muted { margin-top: 8px; }
.footer__phone { font-size: 20px; font-weight: 500; }
.footer__bottom { padding-block: 24px; border-top: 1px solid var(--line); }
.footer__zbca { color: var(--text); font-weight: 500; }

/* ---------- фокус ---------- */

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* ---------- адаптив ---------- */

@media (max-width: 1023px) {
  .hero__grid { align-items: start; }
  .split__content { grid-column: 1 / 8; }
  .process-grid, .reviews-grid { gap: 16px; }
  .step-card, .review { padding: 24px; }
}

@media (max-width: 767px) {
  .container { padding-inline: 20px; }

  h1 { font-size: 40px; line-height: 1.1; }
  h2 { font-size: 30px; }

  .section { padding-block: 64px; }

  .header__inner { gap: 16px; }
  .nav, .header__cta { display: none; }
  .burger { display: flex; }
  .logo__svg { height: 34px; }

  .hero { padding-block: 48px; }

  .hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .hero__content { grid-column: 1 / -1; gap: 20px; }
  .hero__media { grid-column: 1 / -1; }
  .hero__media img { aspect-ratio: 4 / 3; }

  .hero__actions { gap: 20px; }
  .chip { border-radius: var(--r-media); }
  .specs { gap: 16px; }

  .marquee { padding-block: 16px; }
  .marquee__track, .marquee__list { gap: 40px; }

  .sec-head { margin-bottom: 32px; gap: 16px; }

  .weeks { grid-template-columns: 1fr; gap: 32px; }
  .week__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .slot { min-height: 88px; padding: 8px; }
  .slot__day { font-size: 13px; }
  .slot__date { font-size: 16px; }
  .slot__state { font-size: 13px; gap: 6px; }
  .slot__state::before { width: 5px; height: 5px; }

  .season-note { padding: 20px; }

  .price th, .price td { padding-block: 16px; }
  .price tbody th { max-width: none; }
  .price tbody td { font-size: 16px; }
  .price tfoot th, .price tfoot td { font-size: 16px; }

  .split, .split--media-left { grid-template-columns: 1fr; gap: 32px; }
  .split__content, .split--media-left .split__content { grid-column: 1 / -1; gap: 20px; }
  .split__media, .split--media-left .split__media { grid-column: 1 / -1; position: static; top: auto; }
  .split__media img { aspect-ratio: 4 / 3; }

  /* прайс: блок-раскладка, подписи колонок из data-label */
  .price thead { display: none; }
  .price tbody tr, .price tfoot tr { display: block;  }
  .price tbody th, .price tfoot th {
    display: block;
    max-width: none;
    padding: 0 0 8px;
    border-bottom: 0;
  }
  .price tbody td + td { padding-left: 0; }
  .price tbody td {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 24px;
    padding: 4px 0;
    border-bottom: 0;
    text-align: right;
  }
  .price tbody td::before {
    content: attr(data-label);
    font-size: 13px;
    font-weight: 400;
    color: var(--muted);
  }
  .price tbody tr { padding-block: 16px; border-bottom: 1px solid var(--line); }
  .price tfoot th, .price tfoot td {
    display: block;
    padding: 0;
    font-size: 16px;
  }
  .price tfoot tr { padding-top: 24px; }

  .steps-list li { font-size: 16px; }

  .process-grid, .reviews-grid { grid-template-columns: 1fr; gap: 16px; }
  .step-card { padding: 24px; }

  .form { grid-template-columns: 1fr; gap: 16px; }
  .form__foot { flex-direction: column; align-items: stretch; }
  .form__foot .btn { width: 100%; }
  .form__note { max-width: none; }

  .split__aside { grid-column: 1 / -1; padding: 24px; }

  .faq-item summary { font-size: 16px; padding-block: 20px; }

  .cta { padding-block: 96px; }

  .contacts-grid { grid-template-columns: 1fr; gap: 32px; }
  .map, .contacts-info { grid-column: 1 / -1; }

  .footer__inner { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
}
