/* ВЕРТИКАЛЬ — скалодром и школа скалолазания, Екатеринбург */
/* Дизайн-система: угольный фон, кислотно-салатовый + оранжевый акцент, гротеск-display */

:root {
  /* палитра */
  --vk-ink: #0d0f0c;
  --vk-ink-2: #14170f;
  --vk-panel: #181c12;
  --vk-panel-2: #1f2417;
  --vk-line: #2c331f;
  --vk-fog: #8d9682;
  --vk-mist: #b9c2a6;
  --vk-chalk: #eef2e2;
  --vk-acid: #c6ff2e;
  --vk-acid-dim: #9ed11f;
  --vk-flare: #ff5a1f;
  --vk-flare-soft: #ff7a45;
  --vk-grip: #f4b942;

  /* шрифты — только системные стеки */
  --vk-display: "Bahnschrift", "DIN Alternate", "Franklin Gothic Medium",
    "Arial Narrow", "Roboto Condensed", "Liberation Sans", system-ui, sans-serif;
  --vk-body: ui-sans-serif, "Segoe UI", "PT Sans", "Trebuchet MS", "Verdana",
    system-ui, sans-serif;
  --vk-mono: "Cascadia Mono", "Consolas", "SFMono-Regular", "Roboto Mono",
    ui-monospace, monospace;

  /* ритм */
  --vk-rad: 4px;
  --vk-rad-lg: 14px;
  --vk-shell: 1200px;
  --vk-gap: clamp(16px, 3vw, 34px);
  --vk-shadow: 0 24px 60px -28px rgba(0, 0, 0, 0.8);
  --vk-glow: 0 0 0 1px var(--vk-acid), 0 0 26px -6px rgba(198, 255, 46, 0.55);
  --vk-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

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

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  font-family: var(--vk-body);
  color: var(--vk-mist);
  background:
    radial-gradient(1100px 620px at 84% -8%, rgba(255, 90, 31, 0.14), transparent 60%),
    radial-gradient(900px 520px at 6% 4%, rgba(198, 255, 46, 0.1), transparent 58%),
    linear-gradient(180deg, var(--vk-ink-2), var(--vk-ink) 40%);
  background-attachment: fixed;
  line-height: 1.62;
  font-size: 17px;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

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

a {
  color: var(--vk-acid);
  text-decoration: none;
}

h1,
h2,
h3 {
  font-family: var(--vk-display);
  color: var(--vk-chalk);
  line-height: 0.96;
  letter-spacing: -0.01em;
  margin: 0;
  text-transform: uppercase;
}

/* доступность */
.vk-skip {
  position: absolute;
  left: -999px;
  top: 0;
  z-index: 200;
  background: var(--vk-acid);
  color: var(--vk-ink);
  font-weight: 800;
  padding: 12px 18px;
  border-radius: var(--vk-rad);
}
.vk-skip:focus {
  left: 12px;
  top: 12px;
}

:focus-visible {
  outline: 3px solid var(--vk-acid);
  outline-offset: 3px;
  border-radius: 2px;
}

.vk-shell {
  width: min(100% - 40px, var(--vk-shell));
  margin-inline: auto;
}

.vk-tag {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--vk-acid);
  font-weight: 700;
}
.vk-tag::before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--vk-flare);
}

/* ── кнопки ── */
.vk-btn {
  --bg: var(--vk-acid);
  --fg: var(--vk-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--vk-display);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 16px;
  font-weight: 700;
  padding: 15px 28px;
  border: 0;
  border-radius: var(--vk-rad);
  background: var(--bg);
  color: var(--fg);
  cursor: pointer;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  transition: transform 0.18s var(--vk-ease), box-shadow 0.18s var(--vk-ease),
    background 0.18s var(--vk-ease);
}
.vk-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -12px rgba(198, 255, 46, 0.6);
}
.vk-btn--ghost {
  --bg: transparent;
  --fg: var(--vk-chalk);
  box-shadow: inset 0 0 0 2px var(--vk-line);
  clip-path: none;
  border-radius: var(--vk-rad);
}
.vk-btn--ghost:hover {
  box-shadow: inset 0 0 0 2px var(--vk-acid);
}
.vk-btn--flare {
  --bg: var(--vk-flare);
  --fg: #1a0a03;
}

/* ── topbar ── */
.vk-topbar {
  position: sticky;
  top: 0;
  z-index: 90;
  border-bottom: 1px solid transparent;
  transition: background 0.3s var(--vk-ease), border-color 0.3s var(--vk-ease),
    backdrop-filter 0.3s var(--vk-ease);
}
.vk-topbar.is-stuck {
  background: rgba(13, 15, 12, 0.86);
  backdrop-filter: blur(12px);
  border-bottom-color: var(--vk-line);
}
.vk-topbar__row {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 74px;
}
.vk-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--vk-display);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--vk-chalk);
  text-transform: uppercase;
}
.vk-brand__mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: var(--vk-acid);
  color: var(--vk-ink);
  font-size: 19px;
  font-weight: 800;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.vk-brand b {
  color: var(--vk-acid);
}
.vk-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 26px;
}
.vk-nav a {
  color: var(--vk-mist);
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  transition: color 0.15s var(--vk-ease);
}
.vk-nav a:hover {
  color: var(--vk-acid);
}
.vk-burger {
  display: none;
  margin-left: auto;
  width: 46px;
  height: 46px;
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad);
  background: var(--vk-panel);
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.vk-burger span {
  width: 22px;
  height: 2px;
  background: var(--vk-chalk);
  transition: transform 0.25s var(--vk-ease), opacity 0.25s var(--vk-ease);
}
.vk-burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.vk-burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.vk-burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── launch (hero) ── */
.vk-launch {
  position: relative;
  padding: clamp(48px, 9vw, 116px) 0 clamp(40px, 6vw, 80px);
  overflow: hidden;
}
.vk-launch__grid {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.vk-launch__title {
  font-size: clamp(56px, 12vw, 150px);
  margin: 18px 0 0;
}
.vk-launch__title .stroke {
  color: transparent;
  -webkit-text-stroke: 2px var(--vk-acid);
  text-stroke: 2px var(--vk-acid);
}
.vk-launch__title .flare {
  color: var(--vk-flare);
}
.vk-launch__lead {
  max-width: 46ch;
  margin: 22px 0 0;
  font-size: clamp(16px, 2vw, 19px);
  color: var(--vk-mist);
}
.vk-launch__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
.vk-launch__stats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 48px);
  margin-top: 38px;
  padding-top: 26px;
  border-top: 1px solid var(--vk-line);
}
.vk-stat {
  display: flex;
  flex-direction: column-reverse;
}
.vk-stat__num {
  font-family: var(--vk-display);
  font-size: clamp(30px, 4vw, 46px);
  color: var(--vk-acid);
  line-height: 1;
  margin: 0;
}
.vk-stat__lbl {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--vk-fog);
  margin: 4px 0 0;
}
.vk-launch__visual {
  position: relative;
}
.vk-launch__photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--vk-rad-lg);
  box-shadow: var(--vk-shadow);
  border: 1px solid var(--vk-line);
}
.vk-launch__badge {
  position: absolute;
  left: -18px;
  bottom: 28px;
  background: var(--vk-acid);
  color: var(--vk-ink);
  font-family: var(--vk-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 14px 18px;
  border-radius: var(--vk-rad);
  box-shadow: 0 16px 30px -12px rgba(0, 0, 0, 0.7);
  line-height: 1.1;
}
.vk-launch__badge small {
  display: block;
  font-family: var(--vk-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  opacity: 0.78;
}
.vk-diag {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    -52deg,
    rgba(198, 255, 46, 0.05) 0 2px,
    transparent 2px 26px
  );
  z-index: -1;
}

/* ── секции общие ── */
.vk-block {
  padding: clamp(56px, 9vw, 110px) 0;
  position: relative;
}
.vk-head {
  max-width: 720px;
}
.vk-head h2 {
  font-size: clamp(34px, 6vw, 66px);
  margin-top: 12px;
}
.vk-head p {
  margin: 16px 0 0;
  color: var(--vk-mist);
}

/* ── disciplines ── */
.vk-disc {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vk-gap);
  margin-top: clamp(34px, 5vw, 56px);
}
.vk-disc__card {
  position: relative;
  background: linear-gradient(160deg, var(--vk-panel), var(--vk-ink-2));
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  padding: 30px 26px 28px;
  overflow: hidden;
  transition: transform 0.3s var(--vk-ease), border-color 0.3s var(--vk-ease);
}
.vk-disc__card::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(255, 90, 31, 0.22), transparent 70%);
}
.vk-disc__card:hover {
  transform: translateY(-6px);
  border-color: var(--vk-acid-dim);
}
.vk-disc__no {
  font-family: var(--vk-mono);
  font-size: 13px;
  letter-spacing: 0.2em;
  color: var(--vk-flare);
}
.vk-disc__card h3 {
  font-size: 27px;
  margin: 14px 0 10px;
}
.vk-disc__card p {
  margin: 0;
  font-size: 15.5px;
}
.vk-disc__meta {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px dashed var(--vk-line);
  font-family: var(--vk-mono);
  font-size: 13px;
  color: var(--vk-mist);
  display: flex;
  justify-content: space-between;
}
.vk-disc__meta span:last-child {
  color: var(--vk-acid);
}

/* ── grid-wall (фотогалерея + блок «про нас») ── */
.vk-wall {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--vk-gap);
  align-items: stretch;
  margin-top: clamp(30px, 5vw, 48px);
}
.vk-wall__mosaic {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 14px;
}
.vk-wall__mosaic figure {
  margin: 0;
  border-radius: var(--vk-rad-lg);
  overflow: hidden;
  border: 1px solid var(--vk-line);
  position: relative;
}
.vk-wall__mosaic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vk-wall__mosaic figure:first-child {
  grid-column: 1 / -1;
}
.vk-wall__copy {
  background: var(--vk-panel);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  padding: clamp(26px, 4vw, 40px);
}
.vk-wall__copy h3 {
  font-size: clamp(26px, 4vw, 38px);
}
.vk-wall__copy p {
  font-size: 15.5px;
}
.vk-feat {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.vk-feat li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 15px;
}
.vk-feat li::before {
  content: "▲";
  color: var(--vk-acid);
  font-size: 12px;
  margin-top: 4px;
}

/* ── schedule ── */
.vk-sched {
  margin-top: clamp(30px, 5vw, 50px);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  overflow: hidden;
  background: var(--vk-panel);
}
.vk-sched__row {
  display: grid;
  grid-template-columns: 130px 1fr 1fr 1fr;
  border-bottom: 1px solid var(--vk-line);
}
.vk-sched__row:last-child {
  border-bottom: 0;
}
.vk-sched__row--head {
  background: var(--vk-panel-2);
}
.vk-sched__cell {
  padding: 16px 18px;
  border-right: 1px solid var(--vk-line);
  font-size: 14.5px;
}
.vk-sched__cell:last-child {
  border-right: 0;
}
.vk-sched__day {
  font-family: var(--vk-display);
  text-transform: uppercase;
  font-size: 16px;
  color: var(--vk-chalk);
  letter-spacing: 0.04em;
}
.vk-sched__row--head .vk-sched__cell {
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vk-fog);
}
.vk-slot {
  display: block;
  font-weight: 700;
  color: var(--vk-chalk);
}
.vk-slot small {
  display: block;
  font-weight: 400;
  color: var(--vk-fog);
  font-size: 12.5px;
}
.vk-slot--acid {
  color: var(--vk-acid);
}
.vk-slot--empty {
  color: var(--vk-fog);
  opacity: 0.5;
}

/* ── pricing ── */
.vk-price {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vk-gap);
  margin-top: clamp(34px, 5vw, 54px);
}
.vk-card {
  position: relative;
  background: var(--vk-panel);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  padding: 32px 28px 30px;
  display: flex;
  flex-direction: column;
}
.vk-card--hot {
  border-color: var(--vk-acid);
  background: linear-gradient(165deg, var(--vk-panel-2), var(--vk-ink-2));
  box-shadow: 0 0 36px -16px rgba(198, 255, 46, 0.5);
}
.vk-card__flag {
  position: absolute;
  top: -13px;
  right: 22px;
  background: var(--vk-acid);
  color: var(--vk-ink);
  font-family: var(--vk-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
}
.vk-card h3 {
  font-size: 24px;
}
.vk-card__sub {
  color: var(--vk-fog);
  font-size: 14px;
  margin: 6px 0 18px;
}
.vk-card__price {
  font-family: var(--vk-display);
  font-size: 52px;
  color: var(--vk-chalk);
  line-height: 1;
}
.vk-card__price span {
  font-size: 16px;
  color: var(--vk-fog);
  font-family: var(--vk-body);
}
.vk-card ul {
  list-style: none;
  margin: 22px 0 26px;
  padding: 0;
  display: grid;
  gap: 11px;
  flex: 1;
}
.vk-card li {
  display: flex;
  gap: 10px;
  font-size: 14.5px;
}
.vk-card li::before {
  content: "✦";
  color: var(--vk-flare);
}
.vk-card--hot li::before {
  color: var(--vk-acid);
}
.vk-price__note {
  margin-top: 24px;
  font-size: 13.5px;
  color: var(--vk-fog);
  text-align: center;
}

/* ── coaches ── */
.vk-coaches {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vk-gap);
  margin-top: clamp(34px, 5vw, 54px);
}
.vk-coach {
  background: var(--vk-panel);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  overflow: hidden;
}
.vk-coach__photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  filter: grayscale(0.35) contrast(1.05);
}
.vk-coach__body {
  padding: 22px 22px 24px;
}
.vk-coach__body h3 {
  font-size: 22px;
}
.vk-coach__role {
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vk-acid);
  margin: 6px 0 12px;
}
.vk-coach__body p {
  margin: 0;
  font-size: 14.5px;
}

/* ── faq ── */
.vk-faq {
  margin-top: clamp(30px, 5vw, 48px);
  display: grid;
  gap: 14px;
  max-width: 880px;
}
.vk-faq details {
  background: var(--vk-panel);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  padding: 4px 24px;
}
.vk-faq details[open] {
  border-color: var(--vk-acid-dim);
}
.vk-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 0;
  font-family: var(--vk-display);
  text-transform: uppercase;
  font-size: 18px;
  color: var(--vk-chalk);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  letter-spacing: 0.02em;
}
.vk-faq summary::-webkit-details-marker {
  display: none;
}
.vk-faq summary::after {
  content: "+";
  color: var(--vk-acid);
  font-size: 26px;
  font-family: var(--vk-body);
  line-height: 1;
  transition: transform 0.2s var(--vk-ease);
}
.vk-faq details[open] summary::after {
  transform: rotate(45deg);
}
.vk-faq p {
  margin: 0 0 18px;
  font-size: 15px;
}

/* ── signup (форма) ── */
.vk-signup {
  position: relative;
}
.vk-signup__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
}
.vk-signup__copy h2 {
  font-size: clamp(34px, 6vw, 60px);
}
.vk-signup__copy p {
  margin: 16px 0 0;
}
.vk-contacts {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.vk-contacts li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.vk-contacts b {
  color: var(--vk-acid);
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-width: 86px;
  display: inline-block;
}
.vk-contacts a {
  color: var(--vk-chalk);
}
.vk-form {
  background: var(--vk-panel);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad-lg);
  padding: clamp(26px, 4vw, 40px);
}
.vk-field {
  margin-bottom: 18px;
}
.vk-field label {
  display: block;
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vk-mist);
  margin-bottom: 8px;
}
.vk-field input,
.vk-field select,
.vk-field textarea {
  width: 100%;
  background: var(--vk-ink-2);
  border: 1px solid var(--vk-line);
  border-radius: var(--vk-rad);
  color: var(--vk-chalk);
  font: inherit;
  padding: 13px 15px;
  transition: border-color 0.18s var(--vk-ease), box-shadow 0.18s var(--vk-ease);
}
.vk-field input:focus,
.vk-field select:focus,
.vk-field textarea:focus {
  outline: none;
  border-color: var(--vk-acid);
  box-shadow: 0 0 0 3px rgba(198, 255, 46, 0.18);
}
.vk-field textarea {
  resize: vertical;
  min-height: 90px;
}
.vk-field--bad input,
.vk-field--bad select {
  border-color: var(--vk-flare);
}
.vk-field__err {
  color: var(--vk-flare-soft);
  font-size: 12.5px;
  margin-top: 6px;
  min-height: 1em;
  display: none;
}
.vk-field--bad .vk-field__err {
  display: block;
}
.vk-form__ok {
  display: none;
  background: rgba(198, 255, 46, 0.12);
  border: 1px solid var(--vk-acid-dim);
  color: var(--vk-chalk);
  padding: 14px 16px;
  border-radius: var(--vk-rad);
  margin-bottom: 18px;
  font-size: 14.5px;
}
.vk-form__ok.is-on {
  display: block;
}
.vk-form .vk-btn {
  width: 100%;
}
.vk-form__fine {
  margin: 14px 0 0;
  font-size: 12px;
  color: var(--vk-fog);
  text-align: center;
}

/* ── footer ── */
.vk-foot {
  border-top: 1px solid var(--vk-line);
  background: var(--vk-ink-2);
  padding: clamp(46px, 7vw, 76px) 0 30px;
}
.vk-foot__top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: var(--vk-gap);
}
.vk-foot__top h4 {
  font-family: var(--vk-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vk-fog);
  margin: 0 0 16px;
}
.vk-foot__nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.vk-foot__nav a {
  color: var(--vk-mist);
  font-size: 14.5px;
}
.vk-foot__nav a:hover {
  color: var(--vk-acid);
}
.vk-foot__about p {
  font-size: 14.5px;
  max-width: 38ch;
  color: var(--vk-fog);
}
.vk-foot__bottom {
  margin-top: 40px;
  padding-top: 22px;
  border-top: 1px solid var(--vk-line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  font-size: 13px;
  color: var(--vk-fog);
}

/* ── scroll-reveal ── */
.vk-rise {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s var(--vk-ease), transform 0.7s var(--vk-ease);
}
.vk-rise.is-seen {
  opacity: 1;
  transform: none;
}
.vk-rise[data-step="1"] {
  transition-delay: 0.08s;
}
.vk-rise[data-step="2"] {
  transition-delay: 0.16s;
}
.vk-rise[data-step="3"] {
  transition-delay: 0.24s;
}
.vk-rise[data-step="4"] {
  transition-delay: 0.32s;
}

@media (prefers-reduced-motion: reduce) {
  .vk-rise {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── адаптив ── */
@media (max-width: 980px) {
  .vk-launch__grid,
  .vk-wall,
  .vk-signup__grid {
    grid-template-columns: 1fr;
  }
  .vk-launch__visual {
    order: -1;
    max-width: 460px;
  }
  .vk-disc,
  .vk-price,
  .vk-coaches {
    grid-template-columns: 1fr 1fr;
  }
  .vk-foot__top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .vk-nav {
    position: fixed;
    inset: 74px 0 auto 0;
    flex-direction: column;
    gap: 0;
    background: rgba(13, 15, 12, 0.97);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--vk-line);
    padding: 8px 0 18px;
    transform: translateY(-120%);
    transition: transform 0.3s var(--vk-ease);
    align-items: stretch;
  }
  .vk-nav.is-open {
    transform: none;
  }
  .vk-nav a {
    padding: 14px 24px;
    border-bottom: 1px solid var(--vk-line);
  }
  .vk-nav .vk-btn {
    margin: 12px 24px 0;
  }
  .vk-burger {
    display: flex;
  }
  .vk-disc,
  .vk-price,
  .vk-coaches,
  .vk-foot__top {
    grid-template-columns: 1fr;
  }
  .vk-sched {
    overflow-x: auto;
  }
  .vk-sched__inner {
    min-width: 620px;
  }
  .vk-launch__badge {
    left: 0;
  }
}
