/* Ladder step landing — extends logoped-page language */

/* Alternating photo + text bands (same idea as home ladder steps) */
.page-step .block {
  padding-block: clamp(1.6rem, 3.2vw, 2.35rem);
}

.page-step .sec-head {
  max-width: 46rem;
  margin-bottom: clamp(.85rem, 1.8vw, 1.25rem);
}

.page-step .sec-head h2 {
  font-size: clamp(1.65rem, 2.8vw, 2.2rem);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.page-step .sec-head__lead {
  max-width: 40rem;
  font-size: 1.05rem;
  line-height: 1.55;
}

.page-step .sec-head__lead .rich-list {
  margin: .15rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .4rem;
}

.page-step .sec-head__lead .rich-list li {
  position: relative;
  padding-left: 1.15rem;
}

.page-step .sec-head__lead .rich-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: #e8915a;
}

.page-step .sp-bands {
  display: grid;
  gap: .75rem;
  margin-top: .2rem;
}

.page-step .sp-band__plate {
  position: relative;
  display: grid;
  gap: 1.25rem;
  width: 100%;
  padding: clamp(1.15rem, 3vw, 1.75rem);
  border-radius: 1.75rem;
  background: var(--white, #faf8f4);
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 18px 50px -36px rgba(14, 22, 33, .28);
  overflow: hidden;
  isolation: isolate;
}

.page-step .block--soft .sp-band__plate {
  background: rgba(255, 255, 255, .88);
}

@media (min-width: 860px) {
  .page-step .sp-band__plate {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    padding: 1.15rem 1.35rem;
  }
  .page-step .sp-band--flip .sp-band__plate {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
  .page-step .sp-band--flip .sp-band__visual { order: 2 }
  .page-step .sp-band--flip .sp-band__copy { order: 1 }
  .page-step .sp-band__visual {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    justify-self: center;
  }
}

.page-step .sp-band__visual {
  position: relative;
  z-index: 1;
  border-radius: 1.35rem;
  overflow: hidden;
  aspect-ratio: 1;
  max-width: 300px;
  background: var(--chalk-2, #e8e2d6);
  box-shadow: 0 20px 40px -24px rgba(14, 22, 33, .4);
  transform: rotate(-1deg);
}

.page-step .sp-band--flip .sp-band__visual {
  transform: rotate(1deg);
}

.page-step .sp-band__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-step .sp-band__badge {
  position: absolute;
  left: .85rem;
  bottom: .85rem;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 .55rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(14, 22, 33, .78);
  color: var(--warm-soft, #f0b48a);
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-weight: 800;
  font-size: .95rem;
  letter-spacing: .04em;
}

.page-step .sp-band__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.page-step .sp-band__n {
  margin: 0 0 .45rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mute, #6b7789);
}

.page-step .sp-band__n span {
  opacity: .72;
}

.page-step .sp-band__title {
  margin: 0 0 .65rem;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: var(--ink, #0e1621);
}

.page-step .sp-band__text {
  margin: 0;
  max-width: 40rem;
  font-size: clamp(1.02rem, 2vw, 1.08rem);
  line-height: 1.5;
  color: var(--ink-2, #243041);
}

/* site_br() → <br> between paragraphs */
.page-step .sp-band__text br {
  display: block;
  content: "";
  margin-top: .42em;
}

.page-step .lp-hero__lead br,
.page-step .step-result__text br {
  display: block;
  content: "";
  margin-top: .65em;
}

/* Short titles (e.g. «Запуск речи») still fill the first screen — no chalk strip peeking */
@media (min-width: 860px) {
  .page-step .lp-hero.step-hero {
    min-height: 100svh;
    min-height: 100dvh;
  }
}

@media (max-width: 859px) {
  /* Long copy: don't lock hero to full viewport */
  .page-step .lp-hero.step-hero {
    min-height: 0;
    padding: 5.1rem 0 1.35rem;
  }

  .page-step .lp-hero__shade {
    background:
      linear-gradient(180deg,
        rgba(14, 22, 33, .58) 0%,
        rgba(14, 22, 33, .28) 20%,
        rgba(14, 22, 33, .48) 46%,
        rgba(14, 22, 33, .94) 70%,
        rgba(14, 22, 33, .99) 100%);
  }

  /* crumbs + kicker already say «ступень» — hide rule lives after base badge styles */

  .page-step .lp-hero h1 {
    margin: 0 0 .55rem;
  }

  .page-step .lp-hero__lead {
    margin-bottom: 1.05rem;
    font-size: .98rem;
    line-height: 1.55;
  }

  .page-step .lp-hero__actions {
    margin-bottom: .35rem;
  }

  .page-step .sp-bands {
    gap: .65rem;
  }

  .page-step .sp-band__plate {
    padding: .95rem;
    gap: .95rem;
    border-radius: 1.35rem;
  }

  /* Full-width media — not a leftover left square */
  .page-step .sp-band__visual,
  .page-step .sp-band--flip .sp-band__visual {
    max-width: none;
    width: 100%;
    aspect-ratio: 4 / 3;
    transform: none;
    border-radius: 1.05rem;
  }

  .page-step .sp-band__badge {
    left: .7rem;
    bottom: .7rem;
    min-width: 2.15rem;
    height: 2.15rem;
    font-size: .88rem;
  }

  /* Number lives on the photo badge */
  .page-step .sp-band__n {
    display: none;
  }

  .page-step .sp-band__title {
    font-size: clamp(1.22rem, 5.8vw, 1.48rem);
    margin-bottom: .5rem;
  }

  .page-step .sp-band__text {
    font-size: 1rem;
    line-height: 1.62;
  }

  .page-step .sp-band__text br {
    margin-top: .28em;
  }

  .page-step .step-result__panel {
    padding: 1.35rem 1.15rem;
    border-radius: 1.25rem;
  }

  .page-step .step-result__text {
    font-size: 1.02rem;
    line-height: 1.6;
  }

  .page-step .step-neighbors {
    padding: 1.25rem 0 1.75rem;
  }

  .page-step .step-neighbors__link,
  .page-step .step-neighbors__link--next {
    text-align: left;
  }
}

@media (max-width: 380px) {
  .page-step .sp-band__plate {
    padding: .85rem;
    border-radius: 1.2rem;
  }

  .page-step .lp-hero__lead {
    font-size: .94rem;
  }
}

.page-step .step-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .55rem;
  margin: 0 0 .85rem;
  font-size: .88rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .72);
}

.page-step .step-crumbs a {
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.page-step .step-crumbs a:hover,
.page-step .step-crumbs a:focus-visible {
  color: #fff;
  border-bottom-color: rgba(240, 180, 138, .7);
  outline: none;
}

.page-step .step-hero__badge {
  display: inline-flex;
  align-items: baseline;
  margin: 0 0 .55rem;
  color: rgba(255, 255, 255, .92);
}

.page-step .step-hero__badge span {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-weight: 800;
  font-size: clamp(1.75rem, 4.2vw, 2.35rem);
  letter-spacing: -.04em;
  line-height: 1;
  color: var(--warm-soft, #f0b48a);
}

@media (max-width: 859px) {
  .page-step .step-hero__badge {
    display: none;
  }
}

.page-step .step-result__panel {
  max-width: 40rem;
  padding: clamp(1.6rem, 4vw, 2.4rem);
  border-radius: 1.5rem;
  background:
    linear-gradient(160deg, rgba(232, 145, 90, .12), transparent 55%),
    #fff;
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 18px 40px -28px rgba(14, 22, 33, .35);
}

.page-step .step-result__panel h2 {
  margin: .35rem 0 .75rem;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(1.55rem, 3.5vw, 2.2rem);
  letter-spacing: -.02em;
  line-height: 1.15;
}

.page-step .step-result__text {
  margin: 0 0 1.25rem;
  max-width: 36rem;
  color: var(--ink-2, #243041);
  font-size: 1.08rem;
  line-height: 1.65;
}

.page-step .step-neighbors {
  padding: 1.5rem 0 2.5rem;
  border-top: 1px solid rgba(14, 22, 33, .08);
  background: rgba(250, 246, 239, .55);
}

.page-step .step-neighbors__inner {
  display: grid;
  gap: 1rem;
  align-items: start;
}

@media (min-width: 760px) {
  .page-step .step-neighbors__inner {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1.25rem;
  }
}

.page-step .step-neighbors__home {
  justify-self: center;
  font-weight: 700;
  font-size: .92rem;
  color: var(--blue-deep, #2f6486);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.page-step .step-neighbors__home:hover,
.page-step .step-neighbors__home:focus-visible {
  color: var(--ink, #0e1621);
  border-bottom-color: rgba(14, 22, 33, .35);
  outline: none;
}

.page-step .step-neighbors__link {
  display: grid;
  gap: .2rem;
  text-decoration: none;
  color: var(--ink, #0e1621);
  padding: .85rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(14, 22, 33, .1);
  background: rgba(255, 255, 255, .72);
  transition: border-color .2s, transform .2s cubic-bezier(.16, 1, .3, 1);
}

.page-step .step-neighbors__link:hover,
.page-step .step-neighbors__link:focus-visible {
  border-color: rgba(232, 145, 90, .55);
  transform: translateY(-1px);
  outline: none;
}

.page-step .step-neighbors__link span {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--mute, #6b7789);
}

.page-step .step-neighbors__link strong {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -.015em;
  line-height: 1.25;
}

.page-step .step-neighbors__link--next {
  text-align: right;
}

@media (min-width: 760px) {
  .page-step .step-neighbors__link--next {
    justify-self: end;
  }
  .page-step .step-neighbors__link--prev {
    justify-self: start;
  }
}

.page-step .step-neighbors__spacer {
  display: none;
}

@media (min-width: 760px) {
  .page-step .step-neighbors__spacer {
    display: block;
  }
}

/* Atmosphere between sections */
.page-step .step-path {
  position: relative;
  background:
    radial-gradient(ellipse 70% 55% at 8% 0%, rgba(232, 145, 90, .14), transparent 58%),
    radial-gradient(ellipse 50% 40% at 92% 20%, rgba(79, 143, 181, .1), transparent 55%),
    var(--chalk, #f3efe7);
}

.page-step .step-path .sec-head h2 {
  font-size: clamp(2rem, 5vw, 3.1rem);
}

/* —— Path map: beads + rope segments —— */
.page-step .step-path__stage {
  --bead: 1.4rem;
  --path-gap: .85rem;
  display: grid;
  gap: .85rem;
  padding: .2rem 0 .25rem;
}

.page-step .step-path__rail,
.page-step .step-path__track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--path-gap);
}

.page-step .step-path__rail {
  align-items: center;
  min-height: 2.45rem;
}

.page-step .step-path__knot {
  position: relative;
  display: grid;
  place-items: center;
  height: 2.45rem;
}

.page-step .step-path__bead {
  position: relative;
  z-index: 2;
  width: var(--bead);
  height: var(--bead);
  display: grid;
  place-items: center;
}

.page-step .step-path__bead-core {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, #fff8ef, #e8c9a4 42%, #b8895a 78%, #8d6238);
  border: 1.5px solid rgba(141, 98, 56, .45);
  box-shadow:
    0 0 0 5px rgba(243, 239, 231, .95),
    0 3px 8px rgba(80, 50, 20, .22);
}

.page-step .step-path__bead.is-done .step-path__bead-core {
  background:
    radial-gradient(circle at 32% 28%, #ffe7cf, var(--warm, #e8915a) 55%, #c06a35);
  border-color: rgba(192, 106, 53, .55);
}

.page-step .step-path__bead.is-current .step-path__bead-core {
  background:
    radial-gradient(circle at 30% 25%, #fff, var(--warm-soft, #f0b48a) 45%, var(--warm, #e8915a));
  border-color: rgba(232, 145, 90, .7);
  box-shadow:
    0 0 0 6px rgba(14, 22, 33, .1),
    0 0 0 11px rgba(232, 145, 90, .2),
    0 4px 12px rgba(80, 50, 20, .28);
  transform: scale(1.2);
}

/* Cord from this bead center to the next — exactly one column + gap */
.page-step .step-path__cord {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + var(--path-gap));
  height: .9rem;
  transform: translateY(-50%);
  overflow: visible;
  z-index: 1;
  pointer-events: none;
}

.page-step .step-path__cord path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.page-step .step-path__cord-glow {
  stroke: rgba(232, 145, 90, .18);
  stroke-width: 6;
  filter: blur(1px);
}

.page-step .step-path__cord-a {
  stroke: #d2ae84;
  stroke-width: 3.2;
}

.page-step .step-path__cord-b {
  stroke: #9a6d42;
  stroke-width: 3;
  opacity: .9;
}

.page-step .step-path__cord-twist {
  stroke: rgba(255, 242, 224, .5);
  stroke-width: 1.05;
  stroke-dasharray: 2 5.5;
}

.page-step .step-path__track {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-step .step-path__item {
  min-width: 0;
}

.page-step .step-path__pill {
  position: relative;
  display: grid;
  gap: .4rem;
  align-content: start;
  width: 100%;
  min-height: 8.2rem;
  padding: 1rem .95rem .95rem;
  border-radius: 1.35rem;
  text-decoration: none;
  color: var(--ink, #0e1621);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, .98), rgba(250, 246, 239, .92));
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 18px 40px -30px rgba(14, 22, 33, .4);
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), border-color .2s, box-shadow .28s;
}

.page-step a.step-path__pill:hover,
.page-step a.step-path__pill:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(232, 145, 90, .45);
  box-shadow: 0 22px 44px -28px rgba(14, 22, 33, .5);
  outline: none;
}

.page-step .step-path__item.is-current .step-path__pill {
  background:
    radial-gradient(circle at 85% 0%, rgba(240, 180, 138, .28), transparent 45%),
    linear-gradient(160deg, #172033, #0e1621 70%);
  border-color: transparent;
  color: #f6f3ee;
  box-shadow: 0 26px 48px -28px rgba(14, 22, 33, .62);
}

.page-step .step-path__n {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--blue-deep, #2f6486);
}

.page-step .step-path__item.is-current .step-path__n {
  color: var(--warm-soft, #f0b48a);
}

.page-step .step-path__label {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.page-step .step-path__now {
  margin-top: auto;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--warm-soft, #f0b48a);
}

@media (max-width: 1099px) {
  .page-step .step-path__stage {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: .35rem;
  }

  .page-step .step-path__rail,
  .page-step .step-path__track {
    width: max-content;
    min-width: 100%;
    grid-template-columns: repeat(6, 9.5rem);
  }

  .page-step .step-path__pill {
    min-height: 7.4rem;
  }
}

/* —— Start options —— */
.page-step #start.block--soft {
  background:
    linear-gradient(180deg, rgba(232, 226, 214, .55), rgba(243, 239, 231, .2) 40%, transparent),
    var(--chalk, #f3efe7);
}

.page-step .step-start {
  display: grid;
  gap: .85rem;
}

@media (min-width: 900px) {
  .page-step .step-start {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

.page-step .step-start__row {
  position: relative;
  display: grid;
  gap: 1.1rem;
  align-content: start;
  min-height: 100%;
  padding: 1.35rem 1.3rem 1.25rem;
  border-radius: 1.5rem;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 20px 44px -34px rgba(14, 22, 33, .45);
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), border-color .2s, box-shadow .28s;
}

.page-step .step-start__row::before {
  content: "";
  position: absolute;
  inset: auto -20% -40% auto;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 145, 90, .18), transparent 68%);
  pointer-events: none;
}

.page-step .step-start__row:nth-child(2)::before {
  background: radial-gradient(circle, rgba(79, 143, 181, .18), transparent 68%);
}

.page-step .step-start__row:nth-child(3)::before {
  background: radial-gradient(circle, rgba(42, 107, 102, .16), transparent 68%);
}

.page-step .step-start__row:hover,
.page-step .step-start__row:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(232, 145, 90, .4);
  box-shadow: 0 28px 50px -30px rgba(14, 22, 33, .5);
  outline: none;
}

.page-step .step-start__n {
  position: relative;
  z-index: 1;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-weight: 800;
  font-size: clamp(2.4rem, 5vw, 3rem);
  letter-spacing: -.06em;
  line-height: .9;
  color: rgba(14, 22, 33, .12);
}

.page-step .step-start__copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .4rem;
  min-width: 0;
}

.page-step .step-start__copy strong {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.15;
  color: var(--ink, #0e1621);
}

.page-step .step-start__copy span {
  font-size: .98rem;
  line-height: 1.5;
  color: var(--ink-2, #243041);
}

.page-step .step-start__go {
  position: relative;
  z-index: 1;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  width: fit-content;
  font-size: .92rem;
  font-weight: 800;
  color: var(--ink, #0e1621);
  border-bottom: 2px solid var(--warm, #e8915a);
  padding-bottom: .1rem;
}

.page-step .step-start__go::after {
  content: "→";
  transition: transform .2s ease;
}

.page-step .step-start__row:hover .step-start__go::after {
  transform: translateX(3px);
}

/* —— Session split —— */
.page-step #zanyatie.block--soft {
  background:
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(79, 143, 181, .12), transparent 55%),
    linear-gradient(180deg, #ebe4d8, #f3efe7 55%, #f3efe7);
}

.page-step .step-session {
  position: relative;
  display: grid;
  gap: 0;
  border-radius: 1.75rem;
  overflow: hidden;
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 24px 50px -36px rgba(14, 22, 33, .4);
}

@media (min-width: 860px) {
  .page-step .step-session {
    grid-template-columns: 1.05fr .95fr;
  }
  .page-step .step-session:has(.step-session__col:only-child) {
    grid-template-columns: 1fr;
  }
}

.page-step .step-session__col {
  padding: clamp(1.4rem, 3.5vw, 2.1rem);
}

.page-step .step-session__col--meet {
  background:
    radial-gradient(circle at 0% 0%, rgba(240, 180, 138, .22), transparent 50%),
    #0e1621;
  color: #f6f3ee;
}

.page-step .step-session__col--home {
  background:
    linear-gradient(160deg, #fffefb, #f7f2e9);
}

.page-step .step-session__label {
  margin: 0 0 .85rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-step .step-session__col--meet .step-session__label {
  color: var(--warm-soft, #f0b48a);
}

.page-step .step-session__col--home .step-session__label {
  color: var(--blue-deep, #2f6486);
}

.page-step .step-session__text {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.68;
}

.page-step .step-session__col--meet .step-session__text {
  color: rgba(246, 243, 238, .9);
}

.page-step .step-session__col--home .step-session__text {
  color: var(--ink-2, #243041);
}

.page-step .step-session__text br {
  display: block;
  content: "";
  margin-top: .65em;
}

/* —— Quote —— */
.page-step .step-quote {
  background:
    radial-gradient(ellipse 55% 70% at 0% 50%, rgba(232, 145, 90, .12), transparent 60%),
    var(--chalk, #f3efe7);
}

.page-step .step-quote__figure {
  position: relative;
  margin: 0;
  max-width: 46rem;
  padding: clamp(1.8rem, 4vw, 2.8rem) clamp(1.3rem, 3vw, 2.2rem);
  border-radius: 1.75rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .35));
  border: 1px solid rgba(14, 22, 33, .07);
  box-shadow: 0 22px 50px -36px rgba(14, 22, 33, .35);
  overflow: hidden;
}

.page-step .step-quote__mark {
  position: absolute;
  top: -.15rem;
  right: .7rem;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(6rem, 14vw, 9rem);
  font-weight: 800;
  line-height: .8;
  color: rgba(232, 145, 90, .22);
  pointer-events: none;
  user-select: none;
}

.page-step .step-quote__text {
  position: relative;
  margin: .55rem 0 1.25rem;
}

.page-step .step-quote__text p {
  margin: 0;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(1.45rem, 3.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.28;
  color: var(--ink, #0e1621);
}

.page-step .step-quote__cap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  font-size: .98rem;
}

.page-step .step-quote__cap strong {
  color: var(--ink, #0e1621);
  font-weight: 800;
}

.page-step .step-quote__note {
  display: inline-flex;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(232, 145, 90, .16);
  color: #8a4d28;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: -.01em;
}

/* —— Bridge mid-page —— */
.page-step .step-bridge.block--soft {
  background:
    linear-gradient(180deg, #e7e0d3, #f0ebe2 40%, #f3efe7);
}

.page-step .step-bridge__panel {
  display: grid;
  gap: 1.5rem;
  padding: clamp(1.5rem, 3.5vw, 2.4rem);
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(79, 143, 181, .16), transparent 42%),
    #fff;
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 24px 50px -36px rgba(14, 22, 33, .42);
}

@media (min-width: 900px) {
  .page-step .step-bridge__panel {
    grid-template-columns: 1.1fr .9fr;
    align-items: end;
    gap: 2rem;
  }
}

.page-step .step-bridge__panel h2 {
  margin: .35rem 0 .75rem;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(1.7rem, 3.6vw, 2.4rem);
  letter-spacing: -.03em;
  line-height: 1.1;
}

.page-step .step-bridge__text {
  margin: 0;
  max-width: 36rem;
  font-size: 1.06rem;
  line-height: 1.62;
  color: var(--ink-2, #243041);
}

.page-step .step-bridge__links {
  display: grid;
  gap: .7rem;
}

.page-step .step-bridge__link {
  display: grid;
  gap: .3rem;
  padding: 1.05rem 1.15rem;
  border-radius: 1.2rem;
  text-decoration: none;
  color: var(--ink, #0e1621);
  background: rgba(243, 239, 231, .75);
  border: 1px solid rgba(14, 22, 33, .08);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), border-color .2s, background .2s;
}

.page-step .step-bridge__link:hover,
.page-step .step-bridge__link:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(232, 145, 90, .5);
  background: #fff;
  outline: none;
}

.page-step .step-bridge__link--next {
  background: #0e1621;
  border-color: #0e1621;
  color: #f6f3ee;
}

.page-step .step-bridge__link--next:hover,
.page-step .step-bridge__link--next:focus-visible {
  background: #172033;
  border-color: #172033;
  color: #f6f3ee;
}

.page-step .step-bridge__link span {
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mute, #6b7789);
}

.page-step .step-bridge__link--next span {
  color: var(--warm-soft, #f0b48a);
}

.page-step .step-bridge__link strong {
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.page-step .step-bridge__link em {
  font-style: normal;
  font-size: .93rem;
  line-height: 1.4;
  color: var(--ink-2, #243041);
}

.page-step .step-bridge__link--next em {
  color: rgba(246, 243, 238, .72);
}

/* —— FAQ —— */
.page-step #voprosy {
  background:
    radial-gradient(ellipse 50% 40% at 90% 10%, rgba(232, 145, 90, .1), transparent 55%),
    var(--chalk, #f3efe7);
}

.page-step .step-faq {
  display: grid;
  gap: .7rem;
  max-width: 52rem;
}

.page-step .step-faq__item {
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(14, 22, 33, .08);
  box-shadow: 0 14px 36px -30px rgba(14, 22, 33, .35);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}

.page-step .step-faq__item[open] {
  border-color: rgba(232, 145, 90, .35);
  box-shadow: 0 20px 40px -28px rgba(14, 22, 33, .4);
}

.page-step .step-faq__item summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--display, "Bricolage Grotesque", sans-serif);
  font-size: clamp(1.05rem, 2.2vw, 1.2rem);
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1.3;
  color: var(--ink, #0e1621);
}

.page-step .step-faq__item summary::-webkit-details-marker { display: none }

.page-step .step-faq__mark {
  flex: none;
  width: 1.7rem;
  height: 1.7rem;
  margin-top: .05rem;
  border-radius: 50%;
  background: rgba(14, 22, 33, .06);
  border: 1.5px solid rgba(14, 22, 33, .14);
  position: relative;
}

.page-step .step-faq__item[open] .step-faq__mark {
  background: var(--warm, #e8915a);
  border-color: var(--warm, #e8915a);
}

.page-step .step-faq__mark::before,
.page-step .step-faq__mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--ink, #0e1621);
  transition: transform .2s ease, opacity .2s ease, background .2s;
}

.page-step .step-faq__item[open] .step-faq__mark::before,
.page-step .step-faq__item[open] .step-faq__mark::after {
  background: #fff;
}

.page-step .step-faq__mark::before {
  width: .65rem;
  height: 1.5px;
  transform: translate(-50%, -50%);
}

.page-step .step-faq__mark::after {
  width: 1.5px;
  height: .65rem;
  transform: translate(-50%, -50%);
}

.page-step .step-faq__item[open] .step-faq__mark::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.page-step .step-faq__a {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid rgba(14, 22, 33, .06);
  margin: 0 .15rem;
}

.page-step .step-faq__a p {
  margin: .9rem 0 0;
  font-size: 1.04rem;
  line-height: 1.65;
  color: var(--ink-2, #243041);
  max-width: 42rem;
}

.page-step .step-faq__a p br {
  display: block;
  content: "";
  margin-top: .5em;
}

/* Result panel punch-up */
.page-step .step-result__panel {
  position: relative;
  overflow: hidden;
}

.page-step .step-result__panel::before {
  content: "";
  position: absolute;
  top: -3rem;
  right: -2rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 145, 90, .22), transparent 68%);
  pointer-events: none;
}

@media (max-width: 859px) {
  .page-step .step-session {
    border-radius: 1.35rem;
  }
}
