@font-face {
  font-family: "Manrope Local";
  src: url("assets/manrope-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Manrope Local";
  src: url("assets/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --canvas: #d7d5d0;
  --paper: #fbf9f5;
  --ink: #292924;
  --muted: #74736c;
  --mist: #eeece6;
  --sage: #c8d3b8;
  --sage-ink: #3f4937;
  --peach: #f5b57c;
  --orange: #e87531;
  --orange-deep: #dc6826;
  --orange-card-light: #bd4b0e;
  --orange-card-mid: #a93608;
  --orange-card-deep: #8f2705;
  --radius-stage: clamp(24px, 2.5vw, 42px);
  --radius-tile: clamp(20px, 2vw, 34px);
  --gap: clamp(10px, 1.1vw, 16px);
  --section-block: clamp(68px, 7vw, 112px);
  --section-inline: clamp(24px, 5vw, 76px);
  font-family: "Manrope Local", Manrope, system-ui, sans-serif;
  font-synthesis: none;
  background: var(--canvas);
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--canvas);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100svh;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 5% 10%, rgb(255 255 255 / 55%), transparent 31rem),
    radial-gradient(circle at 96% 92%, rgb(245 181 124 / 28%), transparent 34rem),
    var(--canvas);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

a {
  color: inherit;
}

::selection {
  background: rgb(245 181 124 / 72%);
  color: var(--ink);
}

.ambient {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.ambient__orbit {
  position: absolute;
  border: 1px solid rgb(255 255 255 / 56%);
  border-radius: 50%;
}

.ambient__orbit--one {
  top: -55rem;
  left: 8%;
  width: 76rem;
  height: 104rem;
  transform: rotate(-29deg);
}

.ambient__orbit--two {
  right: -42rem;
  bottom: -61rem;
  width: 82rem;
  height: 112rem;
  transform: rotate(31deg);
}

.ambient__glow {
  position: absolute;
  right: 9%;
  bottom: -16rem;
  width: 34rem;
  height: 34rem;
  border-radius: 999px;
  background: rgb(232 117 49 / 13%);
  filter: blur(80px);
}

.stage {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(calc(100% - clamp(18px, 3.4vw, 54px)), 1560px);
  min-height: calc(100svh - clamp(18px, 3.4vw, 54px));
  margin: clamp(9px, 1.7vw, 27px) auto;
  overflow: clip;
  border: 1px solid rgb(255 255 255 / 84%);
  border-radius: var(--radius-stage);
  background: var(--paper);
  box-shadow: 0 34px 90px -44px rgb(47 43 37 / 46%);
  padding: clamp(11px, 1.3vw, 20px);
}

.nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  flex: 0 0 auto;
  min-height: clamp(58px, 5vw, 72px);
  padding: 0 clamp(6px, 1.1vw, 17px) clamp(9px, 1vw, 15px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  color: var(--ink);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 750;
  letter-spacing: -0.03em;
  text-decoration: none;
}

.brand img {
  width: auto;
  height: clamp(26px, 2.3vw, 34px);
}

.nav__links {
  display: flex;
  align-items: center;
  gap: clamp(24px, 2.7vw, 43px);
}

.nav__links a {
  position: relative;
  color: rgb(41 41 36 / 57%);
  font-size: clamp(11px, 0.78vw, 13px);
  font-weight: 650;
  text-decoration: none;
  transition: color 180ms ease;
}

.nav__links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 1px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.nav__links a:hover {
  color: var(--ink);
}

.nav__links a[aria-current="true"] {
  color: var(--ink);
}

.nav__links a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nav__action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  justify-self: end;
  gap: 21px;
  min-height: 42px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  padding: 10px 11px 10px 18px;
  font-size: clamp(11px, 0.78vw, 13px);
  font-weight: 720;
  text-decoration: none;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), background 180ms ease;
}

.nav__action span {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 12%);
}

.nav__action:hover {
  transform: translateY(-2px);
  background: #3b3a34;
}

.hero {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: clamp(480px, calc(100svh - 360px), 700px) minmax(170px, auto);
  grid-template-areas:
    "intro intro intro intro intro intro photo photo photo photo photo photo";
  flex: 0 0 auto;
  gap: var(--gap);
  min-height: 0;
}

.tile {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-tile);
}

.intro {
  grid-area: intro;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(28px, 4vh, 56px);
  background:
    radial-gradient(circle at 96% 6%, rgb(245 181 124 / 26%), transparent 16rem),
    linear-gradient(145deg, #fffdfa 0%, #f7f1e8 100%);
  padding: clamp(24px, 3vw, 50px);
}

.intro::after {
  content: "";
  position: absolute;
  top: -146px;
  right: -106px;
  width: 254px;
  height: 360px;
  border: 1px solid rgb(224 109 46 / 16%);
  border-radius: 50%;
  transform: rotate(36deg);
}

.intro__top,
.intro__bottom {
  position: relative;
  z-index: 1;
}

.course-name {
  margin: 0;
  color: var(--orange-deep);
  font-size: clamp(13px, 1.05vw, 17px);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.intro h1 {
  max-width: 10ch;
  margin: clamp(18px, 2.4vh, 30px) 0 0;
  color: var(--ink);
  font-size: clamp(58px, 4.8vw, 84px);
  font-weight: 760;
  letter-spacing: -0.075em;
  line-height: 0.88;
  text-align: left;
}

.intro h1 span {
  display: block;
  margin-left: 0;
  color: rgb(41 41 36 / 68%);
  font-weight: 520;
}

.intro__lead {
  max-width: 620px;
  margin: 0;
  color: rgb(41 41 36 / 65%);
  font-size: clamp(14px, 1.12vw, 18px);
  font-weight: 520;
  line-height: 1.48;
}

.intro__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 21px;
  margin-top: clamp(18px, 2.1vw, 28px);
}

.button {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  font-size: clamp(11px, 0.85vw, 14px);
  font-weight: 730;
  text-decoration: none;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.button--dark {
  justify-content: space-between;
  gap: 31px;
  min-width: 206px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  padding: 9px 10px 9px 19px;
}

.button--dark i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 12%);
  font-style: normal;
}

.button--dark:hover {
  transform: translateY(-2px);
}

.portrait {
  --photo-x: 0px;
  --photo-y: 0px;
  grid-area: photo;
  margin: 0;
  min-height: 0;
  background: #dcc8b5;
  isolation: isolate;
}

.portrait__image {
  position: absolute;
  z-index: 0;
  inset: -2%;
  width: 104%;
  height: 104%;
  object-fit: cover;
  object-position: 50% 59%;
  transform: translate3d(var(--photo-x), var(--photo-y), 0) scale(1.025);
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.portrait::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(to bottom, rgb(33 31 27 / 3%) 35%, rgb(33 31 27 / 50%) 100%);
  pointer-events: none;
}

.portrait__caption {
  position: absolute;
  z-index: 4;
  right: clamp(17px, 1.6vw, 25px);
  bottom: clamp(20px, 2vw, 30px);
  left: clamp(17px, 1.6vw, 25px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  color: white;
}

.portrait__caption > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.portrait__caption strong {
  font-size: clamp(19px, 1.75vw, 28px);
  font-weight: 750;
  letter-spacing: -0.045em;
}

.portrait__caption span,
.portrait__caption p {
  margin: 0;
  color: rgb(255 255 255 / 72%);
  font-size: clamp(9px, 0.73vw, 12px);
  font-weight: 600;
}

.portrait__caption p {
  text-align: right;
}

.portrait__caption p b {
  display: block;
  color: white;
  font-size: 1.24em;
}

.hero-fact {
  display: flex;
  min-height: 180px;
  flex-direction: column;
  justify-content: space-between;
  grid-column: span 3;
  gap: 16px;
  padding: clamp(20px, 1.9vw, 30px);
  background: var(--mist);
}

.hero-fact--accent {
  background: var(--sage);
  color: var(--sage-ink);
}

.hero-fact__metric {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.hero-fact__metric strong {
  font-size: clamp(44px, 4.2vw, 64px);
  font-weight: 720;
  letter-spacing: -0.08em;
  line-height: 0.78;
}

.hero-fact__metric--word strong {
  font-size: clamp(26px, 2.3vw, 34px);
  letter-spacing: -0.04em;
  line-height: 1;
}

.hero-fact__metric span {
  color: rgb(41 41 36 / 52%);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 650;
}

.hero-fact p {
  max-width: 290px;
  margin: 0;
  padding-right: 40px;
  color: rgb(41 41 36 / 61%);
  font-size: clamp(12px, 0.88vw, 14px);
  font-weight: 540;
  line-height: 1.45;
}

.hero-fact--accent p,
.hero-fact--accent .hero-fact__metric span {
  color: rgb(63 73 55 / 70%);
}

.hero-fact a {
  position: absolute;
  right: clamp(16px, 1.4vw, 22px);
  bottom: clamp(16px, 1.4vw, 22px);
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: white;
  color: var(--ink);
  font-size: 14px;
  text-decoration: none;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-fact a:hover {
  transform: translate(2px, 2px);
}

.reveal {
  opacity: 0;
  transform: translateY(18px) scale(0.99);
}

.is-ready .reveal {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition:
    opacity 720ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay, 0ms),
    transform 720ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay, 0ms);
}

.brand:focus-visible,
.nav__links a:focus-visible,
.nav__action:focus-visible,
.button:focus-visible,
.hero-fact a:focus-visible,
.fit-card a:focus-visible,
.program__footer a:focus-visible,
.request__action:focus-visible,
.footer a:focus-visible,
.faq summary:focus-visible {
  outline: 3px solid rgb(224 109 46 / 52%);
  outline-offset: 3px;
}

/* ── Полная страница ─────────────────────────────────────────── */

.page-flow {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  margin-top: var(--gap);
}

.section-space {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-tile);
  padding: var(--section-block) var(--section-inline);
  scroll-margin-top: 24px;
}

.section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(22px, 2.7vw, 38px);
  max-width: 1180px;
}

.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  align-items: end;
  gap: clamp(40px, 8vw, 130px);
  max-width: none;
}

.section-heading h2,
.myth h2,
.program__intro h2,
.teacher__story h2,
.certificate h2,
.faq h2,
.request h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(40px, 4.7vw, 76px);
  font-weight: 670;
  letter-spacing: -0.066em;
  line-height: 0.98;
}

.section-heading > p:not(.section-kicker),
.section-heading--split > p,
.program__intro > p:not(.section-kicker),
.teacher__story > p:not(.section-kicker),
.certificate__copy > p,
.request__copy > p {
  max-width: 570px;
  margin: 0;
  color: rgb(41 41 36 / 63%);
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 510;
  line-height: 1.52;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(19px, 2.1vw, 31px);
  color: rgb(41 41 36 / 49%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: clamp(9px, 0.68vw, 11px);
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.section-kicker--light {
  color: rgb(255 255 255 / 57%);
}

/* ── Для кого ────────────────────────────────────────────────── */

.fit {
  background: linear-gradient(150deg, #f5f3ee, #edeae4);
}

.fit .section-heading {
  max-width: 940px;
}

.fit-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(270px, auto)) minmax(180px, auto);
  gap: var(--gap);
  margin-top: clamp(48px, 5vw, 76px);
}

.fit-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: var(--radius-tile);
  background: var(--paper);
  padding: clamp(23px, 2.7vw, 40px);
  transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.fit-card:hover {
  transform: translateY(-4px);
}

.fit-card--wide {
  grid-column: span 7;
  grid-row: span 2;
  min-height: 510px;
  justify-content: center;
  background:
    radial-gradient(circle at 82% 24%, rgb(245 181 124 / 29%), transparent 16rem),
    var(--paper);
}

.fit-card--sage {
  grid-column: span 5;
  background: var(--sage);
  color: var(--sage-ink);
}

.fit-card--paper {
  grid-column: span 5;
}

.fit-card--ink {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1fr) auto;
  align-items: end;
  gap: clamp(28px, 5vw, 80px);
  min-height: 190px;
  background: var(--ink);
  color: white;
}

.fit-card h3 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(24px, 3vw, 51px);
  font-weight: 680;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.fit-card--wide h3 {
  max-width: 10ch;
  font-size: clamp(40px, 5vw, 76px);
}

.fit-card p {
  max-width: 410px;
  margin: clamp(15px, 1.7vw, 24px) 0 0;
  color: rgb(41 41 36 / 60%);
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 540;
  line-height: 1.5;
}

.fit-card--sage p {
  color: rgb(63 73 55 / 70%);
}

.fit-card--ink p {
  margin: 0;
  color: rgb(255 255 255 / 62%);
}

.fit-card--ink h3 {
  max-width: none;
  font-size: clamp(27px, 2.8vw, 44px);
}

.fit-card__line {
  width: min(100%, 440px);
  height: 1px;
  margin-top: clamp(31px, 4vw, 58px);
  background: linear-gradient(to right, var(--orange), transparent);
}

.fit-card__arrow,
.fit-card__symbol {
  position: absolute;
  top: 24px;
  right: 25px;
  color: rgb(41 41 36 / 26%);
  font-size: clamp(18px, 2vw, 30px);
}

.fit-card__symbol {
  font-size: clamp(22px, 2.7vw, 40px);
  font-weight: 760;
  letter-spacing: -0.06em;
}

.fit-card a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 25px;
  color: white;
  font-size: 12px;
  font-weight: 720;
  text-decoration: none;
}

.fit-card--ink a {
  margin-top: 0;
  white-space: nowrap;
}

/* ── Система 12 → 120 ───────────────────────────────────────── */

.system {
  background: var(--paper);
}

.system-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(250px, auto);
  gap: var(--gap);
  margin-top: clamp(58px, 7vw, 104px);
}

.system-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: var(--radius-tile);
  padding: clamp(23px, 2.7vw, 40px);
}

.system-card__label {
  position: static;
  align-self: flex-start;
  flex: 0 0 auto;
  margin-bottom: auto;
  color: rgb(41 41 36 / 43%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.08em;
}

.system-card__label + * {
  margin-top: clamp(20px, 2vw, 30px);
}

.system-card > strong {
  font-size: clamp(64px, 8vw, 126px);
  font-weight: 690;
  letter-spacing: -0.085em;
  line-height: 0.77;
}

.system-card h3 {
  max-width: 14ch;
  margin: clamp(34px, 3.3vw, 50px) 0 0;
  font-size: clamp(21px, 2.2vw, 35px);
  font-weight: 660;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.system-card p {
  max-width: 360px;
  margin: 13px 0 0;
  color: rgb(41 41 36 / 59%);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 530;
  line-height: 1.48;
}

.system-card--base {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 535px;
  background: var(--sage);
  color: var(--sage-ink);
}

.system-card--photo {
  grid-column: span 5;
  grid-row: span 2;
  min-height: 535px;
  padding: 0;
  background: #d7d1c8;
}

.system-card--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(33 31 27 / 58%), transparent 53%);
}

.system-card--photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.system-card__overlay {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: white;
  padding: clamp(24px, 3vw, 43px);
}

.system-card__overlay span {
  color: rgb(255 255 255 / 66%);
  font-size: 13px;
  font-weight: 620;
}

.system-card__overlay strong {
  font-size: clamp(26px, 3vw, 47px);
  font-weight: 650;
  letter-spacing: -0.05em;
}

.system-card--forms {
  grid-column: span 3;
  grid-row: span 2;
  min-height: 535px;
  background: #efede8;
}

.form-orbits {
  position: absolute;
  top: -75px;
  right: -80px;
  width: 260px;
  height: 260px;
  opacity: 0.24;
}

.form-orbits i {
  position: absolute;
  inset: 0;
  border: 1px solid var(--orange);
  border-radius: 50%;
}

.form-orbits i:nth-child(2) {
  transform: rotate(55deg) scaleX(0.45);
}

.form-orbits i:nth-child(3) {
  transform: rotate(-55deg) scaleX(0.45);
}

.system-card--tattvas {
  grid-column: span 7;
  background: linear-gradient(135deg, var(--orange-card-light), var(--orange-card-mid) 58%, var(--orange-card-deep));
  color: white;
}

.system-card--tattvas h3 {
  max-width: 21ch;
}

.system-card--tattvas .system-card__label,
.system-card--tattvas p {
  color: white;
}

.tattva-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.tattva-row span {
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 999px;
  background: rgb(255 255 255 / 5%);
  color: white;
  padding: 7px 11px;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.system-card--sequence {
  grid-column: span 5;
  background: var(--ink);
  color: white;
}

.system-card--sequence .system-card__label,
.system-card--sequence p {
  color: rgb(255 255 255 / 54%);
}

.sequence-time {
  display: flex;
  align-items: center;
  gap: 14px;
}

.sequence-time strong {
  font-size: clamp(50px, 6vw, 91px);
  font-weight: 660;
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.sequence-time i {
  width: clamp(30px, 3vw, 48px);
  height: 1px;
  background: rgb(255 255 255 / 36%);
}

/* ── Сомнения ───────────────────────────────────────────────── */

.myth {
  background: var(--paper);
  color: white;
}

.myth__panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-tile);
  background: var(--ink);
  padding: clamp(30px, 5vw, 72px);
}

.myth__panel::after {
  content: "";
  position: absolute;
  top: -240px;
  right: -160px;
  width: 540px;
  height: 540px;
  border: 1px solid rgb(245 181 124 / 17%);
  border-radius: 50%;
}

.myth__panel > * {
  position: relative;
  z-index: 1;
}

.myth h2 {
  max-width: 12ch;
  color: white;
}

.myth-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(52px, 6vw, 88px);
  background: rgb(255 255 255 / 13%);
}

.myth-grid article {
  min-height: 210px;
  background: var(--ink);
  padding: clamp(25px, 3vw, 43px);
}

.myth-grid span {
  color: #ffb17b;
  font-size: clamp(15px, 1.2vw, 19px);
  font-weight: 650;
}

.myth-grid p {
  max-width: 350px;
  margin: 26px 0 0;
  color: rgb(255 255 255 / 64%);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}

/* ── Что останется ───────────────────────────────────────────── */

.outcomes {
  background: linear-gradient(150deg, #f4f1eb, #e8e5df);
}

.outcome-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(265px, auto);
  gap: var(--gap);
  margin-top: clamp(58px, 7vw, 102px);
}

.outcome-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: var(--radius-tile);
  padding: clamp(24px, 2.7vw, 40px);
}

.outcome-card h3 {
  margin: 0;
  font-size: clamp(24px, 2.6vw, 43px);
  font-weight: 670;
  letter-spacing: -0.055em;
  line-height: 1.03;
}

.outcome-card p {
  max-width: 360px;
  margin: 13px 0 0;
  color: rgb(41 41 36 / 59%);
  font-size: clamp(12px, 0.95vw, 15px);
  font-weight: 530;
  line-height: 1.45;
}

.outcome-card--manual {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 548px;
  background: var(--paper);
}

.manual-visual {
  position: absolute;
  top: 15%;
  right: 12%;
  left: 12%;
  height: 42%;
}

.manual-visual i {
  position: absolute;
  inset: 0;
  border: 1px solid rgb(41 41 36 / 12%);
  border-radius: 19px;
  background: #f7f3ed;
  box-shadow: 0 24px 45px -34px rgb(41 41 36 / 55%);
}

.manual-visual i:nth-child(1) {
  transform: rotate(-8deg) translate(-10px, 7px);
}

.manual-visual i:nth-child(2) {
  transform: rotate(7deg) translate(11px, 4px);
}

.manual-visual i:nth-child(3) {
  background:
    linear-gradient(var(--orange), var(--orange)) 28px 30px / 44px 4px no-repeat,
    repeating-linear-gradient(to bottom, transparent 0 22px, rgb(41 41 36 / 8%) 22px 23px),
    var(--paper);
}

.outcome-card--classes {
  grid-column: span 4;
  background: var(--sage);
}

.outcome-card--classes > strong,
.outcome-card--breath > strong {
  margin-bottom: clamp(34px, 3vw, 44px);
  font-size: clamp(53px, 6vw, 92px);
  font-weight: 670;
  letter-spacing: -0.085em;
  line-height: 0.76;
}

.outcome-card--exam {
  grid-column: span 4;
  grid-row: span 2;
  min-height: 548px;
  padding: 0;
  background: #d4cec5;
}

.outcome-card--exam::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(34 31 27 / 65%), transparent 58%);
}

.outcome-card--exam img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 50%;
}

.outcome-card--exam > div {
  position: relative;
  z-index: 1;
  padding: clamp(24px, 2.7vw, 40px);
  color: white;
}

.outcome-card--exam p {
  color: rgb(255 255 255 / 67%);
}

.outcome-card--breath {
  grid-column: span 4;
  background: linear-gradient(145deg, var(--orange-card-light), var(--orange-card-mid) 56%, var(--orange-card-deep));
  color: white;
}

.outcome-card--breath p {
  color: white;
}

/* ── Программа ───────────────────────────────────────────────── */

.program {
  background: var(--ink);
  color: white;
}

.program__intro {
  max-width: 840px;
}

.program__intro h2 {
  color: white;
}

.program__intro > p:not(.section-kicker) {
  margin-top: 24px;
  color: rgb(255 255 255 / 61%);
}

.program-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "one one one one one four four four four four four four"
    "six six six six six six six six six six six six";
  gap: var(--gap);
  margin-top: clamp(52px, 6vw, 88px);
}

.module {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 420px;
  flex-direction: column;
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: var(--radius-tile);
  background: #34342f;
  padding: clamp(24px, 2.6vw, 39px);
}

.module--one { grid-area: one; }

/* Блок 01 ниже соседней карточки с фото — распускаем список,
   чтобы внизу не оставалось пустой плиты перед «На выходе». */
@media (min-width: 1181px) {
  .module.module--one ul {
    gap: clamp(12px, 1.6vw, 22px);
  }

  .module.module--one li {
    font-size: clamp(13px, 0.95vw, 15px);
    line-height: 1.45;
  }
}
.module--four {
  grid-area: four;
  min-height: 420px;
  background: linear-gradient(155deg, var(--orange-card-light), var(--orange-card-mid) 54%, var(--orange-card-deep));
  color: white;
}
.module--three { grid-area: three; }
.module--two { grid-area: two; }
.module--five { grid-area: five; }
.module--six {
  grid-area: six;
  min-height: 0;
  background: #ece9e3;
  color: var(--ink);
}

/* Блок 03 идёт во всю ширину: текст слева, экзамен — отдельной колонкой справа. */
.module--six .module__featured {
  align-items: stretch;
  height: 100%;
}

.module--six .module__featured > div {
  display: flex;
  flex-direction: column;
}

.module__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: clamp(32px, 3.5vw, 52px);
  color: rgb(255 255 255 / 43%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 8px;
  font-weight: 720;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.module__meta span {
  color: #ff9d63;
}

.module--four .module__meta,
.module--six .module__meta {
  color: rgb(41 41 36 / 48%);
}

.module--four .module__meta span,
.module--six .module__meta span {
  color: var(--orange-deep);
}

.module h3 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(25px, 2.5vw, 41px);
  font-weight: 650;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.module ul {
  display: grid;
  gap: 10px;
  margin: 28px 0 38px;
  padding: 0;
  list-style: none;
}

.module li {
  position: relative;
  color: rgb(255 255 255 / 64%);
  padding-left: 16px;
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 520;
  line-height: 1.38;
}

.module li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff9d63;
}

.module--four li,
.module--six li {
  color: rgb(41 41 36 / 64%);
}

.module--four li::before,
.module--six li::before {
  background: rgb(41 41 36 / 52%);
}

.module__result {
  margin: auto 0 0;
  border-top: 1px solid rgb(255 255 255 / 11%);
  color: rgb(255 255 255 / 69%);
  padding-top: 20px;
  font-size: clamp(11px, 0.86vw, 14px);
  font-weight: 530;
  line-height: 1.45;
}

.module__result span {
  display: block;
  margin-bottom: 5px;
  color: rgb(255 255 255 / 34%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 7px;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.module--four .module__result,
.module--six .module__result {
  border-color: rgb(41 41 36 / 13%);
  color: rgb(41 41 36 / 72%);
}

.module--four .module__result span,
.module--six .module__result span {
  color: rgb(41 41 36 / 42%);
}

.module__big-number {
  margin: 0 0 8px;
  font-size: clamp(50px, 5vw, 79px);
  font-weight: 680;
  letter-spacing: -0.085em;
  line-height: 0.8;
}

.module__featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(30px, 5vw, 82px);
}

.module__featured ul {
  margin-bottom: 0;
}

.module__big-number i {
  color: rgb(41 41 36 / 31%);
  font-size: 0.45em;
  font-style: normal;
}

.module--four .module__meta,
.module--four .module__meta span,
.module--four .module__featured,
.module--four li,
.module--four .module__result,
.module--four .module__result span,
.module--four .module__big-number i {
  color: white;
}

.module--four li::before {
  background: white;
}

.module--four .module__result {
  border-color: rgb(255 255 255 / 32%);
}

.program__footer {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: clamp(24px, 4vw, 65px);
  margin-top: var(--gap);
  border-radius: var(--radius-tile);
  background: #44443d;
  padding: clamp(23px, 2.8vw, 40px);
}

.program__footer > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.program__footer strong {
  font-size: clamp(45px, 4vw, 67px);
  font-weight: 670;
  letter-spacing: -0.08em;
  line-height: 0.75;
}

.program__footer span,
.program__footer p {
  color: rgb(255 255 255 / 58%);
  font-size: clamp(11px, 0.9vw, 14px);
  font-weight: 540;
}

.program__footer p {
  max-width: 540px;
  margin: 0;
  line-height: 1.5;
}

.program__footer a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-radius: 999px;
  background: white;
  color: var(--ink);
  padding: 12px 13px 12px 20px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.program__footer a span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--mist);
  color: var(--ink);
}

/* ── Формат ──────────────────────────────────────────────────── */

.format {
  background: var(--paper);
}

.format .section-heading {
  max-width: 940px;
}

.format-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(64px, 8vw, 120px) 0 0;
  padding: 0;
  list-style: none;
}

.format-steps li {
  position: relative;
  display: flex;
  min-height: 320px;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(36px, 4vw, 58px);
  border-top: 1px solid rgb(41 41 36 / 15%);
  border-right: 1px solid rgb(41 41 36 / 9%);
  padding: 24px clamp(18px, 2.5vw, 37px) 0;
}

.format-steps li:last-child {
  border-right: 0;
}

.format-steps li::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
}

.format-steps > li > span {
  color: rgb(41 41 36 / 36%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 9px;
  font-weight: 750;
}

.format-steps h3 {
  margin: 0;
  font-size: clamp(19px, 1.75vw, 28px);
  font-weight: 650;
  letter-spacing: -0.045em;
}

.format-steps p {
  max-width: 260px;
  margin: 14px 0 0;
  color: rgb(41 41 36 / 59%);
  font-size: clamp(12px, 0.93vw, 15px);
  font-weight: 520;
  line-height: 1.47;
}

/* ── Преподаватель ───────────────────────────────────────────── */

.teacher {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  gap: var(--gap);
  background: #eeebe5;
}

.teacher__photo {
  position: relative;
  min-height: 720px;
  margin: 0;
  overflow: hidden;
  border-radius: calc(var(--radius-tile) - 5px);
  background: #d6d0c7;
}

.teacher__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(40 36 31 / 51%), transparent 45%);
}

.teacher__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 50%;
}

.teacher__photo figcaption {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 25px;
  left: 28px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  color: white;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 620;
}

.teacher__photo figcaption span:last-child {
  color: rgb(255 255 255 / 64%);
}

.teacher__story {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: calc(var(--radius-tile) - 5px);
  background: var(--paper);
  padding: clamp(42px, 6vw, 92px);
}

.teacher__story h2 {
  max-width: 10ch;
}

.teacher__story > p:not(.section-kicker) {
  margin-top: clamp(30px, 4vw, 58px);
}

.teacher__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(52px, 6vw, 90px);
  border-top: 1px solid rgb(41 41 36 / 12%);
  padding-top: 26px;
}

.teacher__facts div {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.teacher__facts strong {
  font-size: clamp(30px, 3vw, 49px);
  font-weight: 670;
  letter-spacing: -0.07em;
  line-height: 0.85;
}

.teacher__facts .teacher__role {
  font-size: clamp(15px, 1.35vw, 21px);
  letter-spacing: -0.035em;
  line-height: 1;
}

.teacher__facts span {
  max-width: 15ch;
  color: rgb(41 41 36 / 52%);
  font-size: clamp(9px, 0.74vw, 12px);
  font-weight: 590;
  line-height: 1.35;
}

/* ── Сертификат ──────────────────────────────────────────────── */

.certificate {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(50px, 8vw, 130px);
  background: var(--sage);
  color: var(--sage-ink);
}

.certificate__copy h2 {
  max-width: 10ch;
}

.certificate__copy > p {
  margin-top: clamp(28px, 3vw, 45px);
  color: rgb(63 73 55 / 70%);
}

.certificate__exam {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: clamp(45px, 5vw, 72px);
  border-left: 2px solid rgb(63 73 55 / 28%);
  padding-left: 18px;
}

.certificate__exam span {
  color: rgb(63 73 55 / 54%);
  font-size: 11px;
  font-weight: 650;
}

.certificate__exam strong {
  font-size: clamp(17px, 1.5vw, 23px);
  font-weight: 680;
}

.certificate__visual {
  perspective: 1200px;
}

.certificate-paper {
  position: relative;
  display: flex;
  aspect-ratio: 1.4 / 1;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgb(41 41 36 / 9%);
  border-radius: 4px;
  background:
    radial-gradient(circle at 95% 5%, rgb(245 181 124 / 24%), transparent 16rem),
    #fdfbf7;
  padding: clamp(28px, 4vw, 65px);
  box-shadow: 0 42px 75px -48px rgb(41 41 36 / 65%);
  transform: rotateY(-3deg) rotateZ(1.5deg);
}

.certificate-paper::after {
  content: "";
  position: absolute;
  right: -16%;
  bottom: -34%;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgb(224 109 46 / 18%);
  border-radius: 50%;
}

.certificate-paper__brand {
  display: flex;
  align-items: center;
  gap: 11px;
}

.certificate-paper__brand img {
  width: auto;
  height: clamp(23px, 2.5vw, 36px);
}

.certificate-paper__brand span {
  color: var(--ink);
  font-size: clamp(10px, 0.9vw, 14px);
  font-weight: 720;
}

.certificate-paper > p {
  margin: auto 0 7px;
  color: var(--orange-deep);
  font-size: clamp(12px, 1vw, 16px);
  font-weight: 700;
}

.certificate-paper > strong {
  max-width: 12ch;
  color: var(--ink);
  font-size: clamp(28px, 3.4vw, 55px);
  font-weight: 650;
  letter-spacing: -0.06em;
  line-height: 0.99;
}

.certificate-paper > i {
  width: 100%;
  height: 1px;
  margin: clamp(19px, 2vw, 30px) 0 12px;
  background: rgb(41 41 36 / 13%);
}

.certificate-paper > span {
  color: rgb(41 41 36 / 58%);
  font-size: clamp(10px, 0.8vw, 13px);
  font-weight: 590;
}

.certificate-paper small {
  position: absolute;
  right: clamp(22px, 3vw, 42px);
  bottom: clamp(21px, 3vw, 42px);
  color: rgb(41 41 36 / 34%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 7px;
  font-weight: 740;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* ── FAQ ─────────────────────────────────────────────────────── */

.faq {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  align-items: start;
  gap: clamp(55px, 9vw, 145px);
  background: var(--paper);
}

.faq h2 {
  max-width: 9ch;
  font-size: clamp(42px, 5vw, 75px);
}

.faq__list {
  border-top: 1px solid rgb(41 41 36 / 15%);
}

.faq details {
  border-bottom: 1px solid rgb(41 41 36 / 15%);
}

.faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  cursor: pointer;
  padding: clamp(24px, 2.6vw, 38px) 0;
  font-size: clamp(17px, 1.5vw, 23px);
  font-weight: 620;
  letter-spacing: -0.025em;
  list-style: none;
}

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

.faq summary span {
  display: grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--mist);
  color: rgb(41 41 36 / 64%);
  font-size: 19px;
  font-weight: 430;
  transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), background 180ms ease;
}

.faq details[open] summary span {
  background: var(--sage);
  transform: rotate(45deg);
}

.faq details p {
  max-width: 660px;
  margin: -8px 50px clamp(26px, 3vw, 42px) 0;
  color: rgb(41 41 36 / 62%);
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 510;
  line-height: 1.55;
}

/* ── Стоимость и CTA ─────────────────────────────────────────── */

.final-price {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  align-items: end;
  gap: clamp(45px, 7vw, 110px);
  background: linear-gradient(125deg, var(--orange-card-light), var(--orange-card-mid) 57%, var(--orange-card-deep));
  color: white;
}

.final-price__main h2 {
  margin: 0;
  color: white;
  font-size: clamp(40px, 4.6vw, 74px);
  font-weight: 690;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.final-price__main p {
  margin: clamp(38px, 4vw, 54px) 0 0;
  color: white;
  font-size: clamp(14px, 1.15vw, 18px);
  font-weight: 550;
}

.final-price__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgb(255 255 255 / 28%);
}

.final-price__facts span {
  background: rgb(255 255 255 / 6%);
  padding: clamp(20px, 2.5vw, 36px);
  color: white;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 650;
}

.request {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(35px, 7vw, 110px);
  overflow: hidden;
  border-radius: var(--radius-tile);
  background:
    radial-gradient(circle at 90% 20%, rgb(245 181 124 / 20%), transparent 19rem),
    #f3f0ea;
  padding: var(--section-block) var(--section-inline);
  scroll-margin-top: 24px;
}

.request h2 {
  max-width: 12ch;
}

.request__copy > p {
  margin-top: clamp(27px, 3vw, 43px);
}

.request__action {
  display: inline-flex;
  min-width: 236px;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  padding: 11px 12px 11px 23px;
  font-size: 13px;
  font-weight: 710;
  text-decoration: none;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.request__action:hover {
  transform: translateY(-3px);
}

.request__action span {
  display: grid;
  width: 41px;
  height: 41px;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 12%);
}

.footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 110px;
  padding: 24px clamp(10px, 2vw, 30px) 8px;
}

.footer > p {
  margin: 0;
  color: rgb(41 41 36 / 44%);
  font-size: 11px;
  font-weight: 620;
}

.footer > a:last-child {
  display: inline-flex;
  justify-self: end;
  gap: 8px;
  color: rgb(41 41 36 / 58%);
  font-size: 11px;
  font-weight: 660;
  text-decoration: none;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
  padding: 0 clamp(10px, 2vw, 30px) 24px;
}

.footer-legal a {
  color: rgb(41 41 36 / 58%);
  font-size: 11px;
  font-weight: 620;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-legal a:hover {
  color: rgb(41 41 36 / 86%);
}

.footer-legal a:focus-visible {
  outline: 3px solid rgb(224 109 46 / 52%);
  outline-offset: 3px;
}

/* ── Тупик практики ──────────────────────────────────────────── */

.gap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 4vw, 68px) clamp(38px, 5vw, 96px);
  margin-top: clamp(52px, 6vw, 88px);
}

.gap-card {
  position: relative;
  border-top: 1px solid rgb(41 41 36 / 16%);
  padding-top: clamp(20px, 2vw, 30px);
}

.gap-card__num {
  display: block;
  margin-bottom: clamp(20px, 2.4vw, 34px);
  color: var(--orange-deep);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.gap-card h3 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(21px, 1.95vw, 32px);
  font-weight: 660;
  letter-spacing: -0.05em;
  line-height: 1.06;
}

.gap-card p {
  max-width: 46ch;
  margin: 14px 0 0;
  color: rgb(41 41 36 / 62%);
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 520;
  line-height: 1.5;
}

.gap-quote {
  margin: clamp(56px, 6vw, 96px) 0 0;
  border-radius: var(--radius-tile);
  background: var(--mist);
  padding: clamp(38px, 4.4vw, 72px) clamp(28px, 4vw, 68px);
  font-size: clamp(24px, 3vw, 48px);
  font-weight: 620;
  letter-spacing: -0.055em;
  line-height: 1.08;
  text-align: center;
  text-wrap: balance;
}

/* ── Пять великих элементов ──────────────────────────────────── */

.elements {
  border-radius: var(--radius-tile);
  background: var(--mist);
}

.elements__heading h2 {
  max-width: 24ch;
  margin: 0;
  font-size: clamp(32px, 3.9vw, 64px);
  font-weight: 670;
  letter-spacing: -0.062em;
  line-height: 1;
  text-wrap: balance;
}

.elements__sanskrit {
  margin: clamp(20px, 2.2vw, 32px) 0 0;
  color: var(--orange-deep);
  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.elements-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--gap);
  margin: clamp(48px, 5.5vw, 84px) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: element;
}

.element {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-radius: calc(var(--radius-tile) - 6px);
  background: var(--paper);
  padding: clamp(20px, 2vw, 32px);
}

.element::before {
  counter-increment: element;
  content: counter(element);
  position: absolute;
  top: clamp(20px, 2vw, 32px);
  right: clamp(20px, 2vw, 32px);
  color: rgb(41 41 36 / 26%);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 10px;
  font-weight: 760;
}

.element i {
  display: block;
  width: clamp(34px, 3.2vw, 46px);
  height: clamp(34px, 3.2vw, 46px);
  margin-bottom: clamp(28px, 3.4vw, 52px);
  color: var(--el);
}

.element i svg {
  display: block;
  width: 100%;
  height: 100%;
}

.element em {
  color: var(--el);
  font-size: clamp(15px, 1.25vw, 20px);
  font-style: italic;
  font-weight: 640;
  letter-spacing: -0.02em;
}

.element h3 {
  margin: 6px 0 0;
  font-size: clamp(14px, 1.05vw, 17px);
  font-weight: 680;
  letter-spacing: -0.035em;
}

.element p {
  margin: 10px 0 0;
  color: rgb(41 41 36 / 58%);
  font-size: clamp(11px, 0.85vw, 14px);
  font-weight: 520;
  line-height: 1.42;
}

.elements__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(24px, 4vw, 64px);
  margin-top: clamp(34px, 3.6vw, 56px);
}

.elements__order {
  max-width: 52ch;
  margin: 0;
  color: rgb(41 41 36 / 60%);
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 520;
  line-height: 1.5;
}

.elements__claim {
  margin: 0;
  font-size: clamp(19px, 1.9vw, 31px);
  font-weight: 640;
  letter-spacing: -0.05em;
  text-align: right;
  text-wrap: balance;
}

/* ── Дополнения к готовым блокам ─────────────────────────────── */

.brand span b {
  font-weight: 750;
}

.outcome-card--constructor {
  grid-column: span 4;
  background: var(--paper);
}

.outcome-card--psychology {
  grid-column: span 6;
  background: #e2ded6;
}

.module__exam {
  align-self: end;
  min-width: 220px;
  border-left: 1px solid rgb(41 41 36 / 15%);
  padding-left: clamp(20px, 2.4vw, 36px);
}

.module__exam span {
  display: block;
  margin-bottom: 9px;
  color: var(--orange-deep);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 8px;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.module__exam strong {
  display: block;
  font-size: clamp(20px, 1.9vw, 30px);
  font-weight: 660;
  letter-spacing: -0.05em;
  line-height: 1.04;
}

.module__exam p {
  margin: 10px 0 0;
  color: rgb(41 41 36 / 60%);
  font-size: clamp(11px, 0.86vw, 14px);
  font-weight: 530;
}

.teacher__second {
  margin-top: clamp(38px, 4vw, 60px);
  border-top: 1px solid rgb(41 41 36 / 14%);
  padding-top: clamp(26px, 2.8vw, 40px);
}

.teacher__second-role {
  margin: 0 0 12px;
  color: var(--orange-deep);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.teacher__second h3 {
  margin: 0;
  font-size: clamp(21px, 1.9vw, 30px);
  font-weight: 660;
  letter-spacing: -0.05em;
}

.teacher__second > p:last-child {
  max-width: 54ch;
  margin: 12px 0 0;
  color: rgb(41 41 36 / 62%);
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 520;
  line-height: 1.5;
}



.teacher--co {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  margin-top: clamp(18px, 2vw, 30px);
}

.teacher--co .teacher__photo img {
  object-position: 50% 26%;
}

.teacher--co .teacher__story h2 {
  font-size: clamp(25px, 2.6vw, 39px);
  overflow-wrap: normal;
  hyphens: manual;
}

@media (max-width: 900px) {
  .teacher--co {
    grid-template-columns: minmax(0, 1fr);
  }

  .teacher--co .teacher__photo {
    order: -1;
  }
}

.final-price__action {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: clamp(28px, 3vw, 40px);
  border-radius: 999px;
  background: white;
  color: var(--ink);
  padding: 15px 17px 15px 26px;
  font-size: clamp(12px, 0.9vw, 15px);
  font-weight: 730;
  text-decoration: none;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

.final-price__action span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: rgb(189 75 14 / 13%);
}

.final-price__action:hover {
  transform: translateY(-2px);
}

/* ── Появление секций ────────────────────────────────────────── */

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(28px);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 760ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1);
}

@media (max-width: 900px) {
  :root {
    --section-block: clamp(66px, 10vw, 96px);
    --section-inline: clamp(22px, 5vw, 42px);
  }

  .stage {
    min-height: auto;
  }

  .hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "intro intro"
      "photo photo";
  }

  .hero-fact {
    grid-column: span 1;
  }

  .intro {
    min-height: min(720px, calc(100svh - 92px));
  }

  .intro h1 {
    font-size: clamp(58px, 9vw, 78px);
  }

  .portrait {
    aspect-ratio: 16 / 11;
    min-height: 0;
  }
}

@media (max-width: 740px) {
  .stage {
    width: calc(100% - 14px);
    margin: 7px auto;
    padding: 8px;
  }

  .nav {
    grid-template-columns: 1fr auto;
    min-height: 56px;
    padding-inline: 4px;
  }

  .nav__links {
    display: none;
  }

  .nav__action {
    gap: 10px;
    min-height: 39px;
    padding-left: 14px;
  }

  .nav__action span {
    display: none;
  }

  .hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-template-areas:
      "intro intro"
      "photo photo";
  }

  .intro {
    min-height: 590px;
    padding: 25px 19px 20px;
  }

  .intro h1 {
    font-size: clamp(48px, 14vw, 69px);
    line-height: 0.9;
  }

  .intro h1 span {
    margin-left: 0;
  }

  .intro__lead {
    display: flex;
    max-width: 310px;
    flex-direction: column;
    align-items: center;
    gap: 11px;
    margin-inline: auto;
    color: rgb(41 41 36 / 82%);
    font-size: 14px;
    font-weight: 620;
    line-height: 1.45;
    text-align: center;
    text-wrap: balance;
  }

  .intro__lead::before {
    content: "✦";
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--orange-deep);
    box-shadow: 0 9px 24px rgb(224 109 46 / 20%);
    color: white;
    font-size: 14px;
    line-height: 1;
  }

  .intro__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .button--dark {
    width: 100%;
  }

  .button--text {
    min-height: 40px;
    padding-left: 4px;
  }

  .portrait {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .portrait__image {
    object-position: 50% 58%;
  }

  .portrait__caption p {
    display: none;
  }

  .hero-fact {
    min-height: 150px;
    gap: 12px;
    padding: 18px 16px;
  }

  .hero-fact p {
    max-width: 250px;
    padding-right: 0;
  }

  .hero-fact a {
    display: none;
  }

}

@media (max-width: 420px) {
  .brand span {
    max-width: 92px;
    line-height: 1.05;
  }

  .intro {
    min-height: 575px;
  }

  .intro h1 {
    font-size: clamp(44px, 13.2vw, 57px);
  }

}

@media (max-width: 1180px) {
  .fit-card--wide {
    grid-column: span 6;
  }

  .fit-card--sage {
    grid-column: span 6;
  }

  .fit-card--paper {
    grid-column: span 6;
  }

  .fit-card--ink {
    grid-column: 1 / -1;
  }

  .system-card--base {
    grid-column: span 5;
  }

  .system-card--photo {
    grid-column: span 7;
  }

  .system-card--forms {
    grid-column: span 5;
    grid-row: span 1;
    min-height: 320px;
  }

  .system-card--tattvas {
    grid-column: span 7;
  }

  .system-card--sequence {
    grid-column: span 5;
  }

  .program-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "one"
      "four"
      "six";
  }

  .module--four {
    min-height: 420px;
  }
}

@media (max-width: 900px) {
  .section-heading--split {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 30px;
  }

  .section-heading--split > p {
    max-width: 620px;
  }

  .fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .fit-card--wide,
  .fit-card--sage,
  .fit-card--paper,
  .fit-card--ink {
    grid-column: auto;
    grid-row: auto;
    min-height: 300px;
  }

  .fit-card--wide {
    grid-column: span 2;
    min-height: 440px;
  }

  .fit-card--ink {
    grid-column: span 2;
  }

  .system-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
  }

  .system-card--base,
  .system-card--photo,
  .system-card--forms,
  .system-card--tattvas,
  .system-card--sequence {
    grid-column: auto;
    grid-row: auto;
    min-height: 360px;
  }

  .system-card--photo {
    min-height: 520px;
  }

  .system-card--tattvas,
  .system-card--sequence {
    grid-column: span 2;
  }

  .myth-grid {
    grid-template-columns: 1fr;
  }

  .myth-grid article {
    min-height: 0;
  }

  .outcome-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(300px, auto);
  }

  .outcome-card--manual,
  .outcome-card--classes,
  .outcome-card--exam,
  .outcome-card--breath {
    grid-column: auto;
    grid-row: auto;
    min-height: 360px;
  }

  .outcome-card--manual,
  .outcome-card--exam {
    min-height: 520px;
  }

  .format-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgb(41 41 36 / 9%);
  }

  .format-steps li {
    min-height: 250px;
    border: 0;
    background: var(--paper);
  }

  .teacher {
    grid-template-columns: 1fr;
  }

  .teacher__photo {
    min-height: 650px;
  }

  .certificate {
    grid-template-columns: 1fr;
  }

  .certificate__copy {
    max-width: none;
  }

  .certificate__visual {
    width: 100%;
    margin: 12px 0 0;
  }

  .faq {
    grid-template-columns: 1fr;
  }

  .faq h2 {
    max-width: 12ch;
  }

  .final-price {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .final-price__facts {
    width: min(100%, 680px);
  }

  .request {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .request__action {
    width: fit-content;
  }
}

@media (max-width: 740px) {
  :root {
    --section-block: 62px;
    --section-inline: 18px;
  }

  .section-heading h2,
  .myth h2,
  .program__intro h2,
  .teacher__story h2,
  .certificate h2,
  .faq h2,
  .request h2 {
    font-size: clamp(38px, 12vw, 54px);
    letter-spacing: -0.065em;
    line-height: 0.98;
  }

  .section-heading > p:not(.section-kicker),
  .section-heading--split > p,
  .program__intro > p:not(.section-kicker),
  .teacher__story > p:not(.section-kicker),
  .certificate__copy > p,
  .request__copy > p {
    font-size: 15px;
  }

  .fit-grid,
  .system-grid,
  .outcome-grid {
    grid-template-columns: 1fr;
  }

  .fit-card--wide,
  .fit-card--sage,
  .fit-card--paper,
  .fit-card--ink,
  .system-card--base,
  .system-card--photo,
  .system-card--forms,
  .system-card--tattvas,
  .system-card--sequence,
  .outcome-card--manual,
  .outcome-card--classes,
  .outcome-card--exam,
  .outcome-card--breath {
    grid-column: auto;
    min-height: 300px;
  }

  .fit-card--ink {
    display: flex;
    align-items: flex-start;
    gap: 0;
  }

  .fit-card--ink p {
    margin-top: 15px;
  }

  .fit-card--ink a {
    margin-top: 25px;
  }

  .fit-card--wide {
    min-height: 390px;
  }

  .fit-card--wide h3 {
    font-size: clamp(38px, 12vw, 53px);
  }

  .system-card--photo,
  .outcome-card--exam {
    min-height: 460px;
  }

  .outcome-card--manual {
    min-height: 470px;
  }

  .program-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "one"
      "four"
      "six";
  }

  .module,
  .module--four {
    min-height: 410px;
  }

  .module__featured {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 36px;
  }

  .program__footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .program__footer a {
    width: 100%;
  }

  .format-steps {
    grid-template-columns: 1fr;
  }

  .format-steps li {
    min-height: 190px;
  }

  .teacher__photo {
    min-height: 500px;
  }

  .teacher__photo figcaption {
    right: 20px;
    bottom: 20px;
    left: 20px;
  }

  .teacher__story {
    padding: 48px 19px;
  }

  .teacher__facts {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .teacher__facts div {
    display: grid;
    grid-template-columns: minmax(86px, auto) 1fr;
    align-items: baseline;
  }

  .teacher__facts span {
    max-width: none;
  }

  .certificate-paper {
    aspect-ratio: 1 / 1.05;
    transform: rotateZ(1deg);
  }

  .faq summary {
    font-size: 16px;
  }

  .faq details p {
    margin-right: 0;
  }

  .final-price__main h2 {
    font-size: clamp(30px, 8.4vw, 46px);
  }

  .final-price__facts {
    grid-template-columns: 1fr;
  }

  .request__action {
    width: 100%;
  }

  .footer {
    grid-template-columns: 1fr auto;
  }

  .footer > p {
    display: none;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .reveal-on-scroll {
    opacity: 1;
    transform: none;
  }
}

/* ── Адаптив новых блоков ────────────────────────────────────── */

@media (max-width: 1180px) {
  .elements-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .gap-grid {
    grid-template-columns: 1fr;
    gap: clamp(30px, 4vw, 48px);
  }

  .elements-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elements__footer {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .elements__claim {
    text-align: left;
  }

  .outcome-card--constructor,
  .outcome-card--psychology,
  .outcome-card--exam,
  .outcome-card--breath {
    grid-column: auto;
    grid-row: auto;
    min-height: 360px;
  }

  .program__footer {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .module__featured {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .module__exam {
    align-self: start;
    border-top: 1px solid rgb(41 41 36 / 15%);
    border-left: 0;
    padding: 22px 0 0;
  }
}

@media (max-width: 560px) {
  .elements-row {
    grid-template-columns: 1fr;
  }

  .element {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0 20px;
  }

  .element i {
    grid-row: span 3;
    margin-bottom: 0;
  }

  .element::before {
    display: none;
  }

  .gap-quote {
    text-align: left;
  }
}

/* ── Правки 13.08.2026: сокращение до 8 блоков ───────────────── */

.module__photo {
  align-self: stretch;
  overflow: hidden;
  width: clamp(200px, 22vw, 340px);
  min-height: 100%;
  margin: 0;
  border-radius: calc(var(--radius-tile) - 10px);
  background: #dcc8b5;
}

.module__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
}

.module--four .module__featured {
  align-items: stretch;
  height: 100%;
}

.module--four .module__featured > div {
  display: flex;
  flex-direction: column;
}

.outcome-card--manual-flat {
  grid-column: span 6;
  background: var(--paper);
}

.outcome-card--certificate {
  grid-column: span 6;
  background: #e4e0d8;
}

.outcome-card--brand {
  grid-column: span 6;
  background: var(--sage);
}

.price-tag {
  display: inline-grid;
  gap: 10px;
  justify-items: start;
  margin-top: clamp(30px, 3.2vw, 42px);
  margin-right: 16px;
  vertical-align: middle;
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 20px;
  background: linear-gradient(180deg, rgb(255 255 255 / 22%), rgb(255 255 255 / 13%));
  padding: clamp(18px, 2vw, 26px) clamp(24px, 2.8vw, 36px);
}

.price-tag strong {
  color: white;
  font-size: clamp(34px, 3.6vw, 52px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
  white-space: nowrap;
}

.price-tag span {
  max-width: 22ch;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(11px, 0.85vw, 13px);
  font-weight: 620;
  letter-spacing: 0.01em;
  line-height: 1.45;
}

.final-price__note {
  max-width: 430px;
  margin: 18px 0 0;
  color: rgb(255 255 255 / 72%);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 530;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .module__photo {
    width: 100%;
    max-height: 380px;
    min-height: 260px;
    margin-top: 24px;
  }

  .module--four .module__featured {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* На узких экранах блок 03 складывается в одну колонку: экзамен уходит под текст. */
@media (max-width: 900px) {
  .module--six .module__featured {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(22px, 2vw, 30px);
  }

  .module--six .module__exam {
    align-self: stretch;
    min-width: 0;
    border-top: 1px solid rgb(41 41 36 / 15%);
    border-left: 0;
    padding-top: clamp(20px, 2vw, 28px);
    padding-left: 0;
  }
}

.module--six .module__result {
  margin-top: clamp(18px, 2vw, 26px);
}

/* Мобильные: любые карточки результата занимают всю доступную колонку.
   Без этого span 6 у новых карточек разрывает двухколоночную сетку. */
@media (max-width: 900px) {
  .outcome-card {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
  }
}

/* В модулях 4 и 6 список и блок «На выходе» идут друг под другом,
   а старое правило .module__featured ul обнуляло нижний отступ —
   на узких экранах линия ложилась прямо на текст. */
.module--four .module__featured ul,
.module--six .module__featured ul {
  margin-bottom: clamp(26px, 3vw, 38px);
}
