body {
  background:
    radial-gradient(ellipse 720px 640px at 100% 0, rgb(205 180 232 / .09), transparent 70%),
    radial-gradient(ellipse 440px 720px at 0 720px, rgb(205 180 232 / .045), transparent 70%),
    var(--paper);
}
:root[data-layout="rail"] main { position: relative; max-width: 1080px; column-gap: 52px; }
:root[data-layout="rail"] main::before {
  content: "";
  position: absolute;
  top: 64px;
  bottom: 40px;
  left: 229px;
  width: 1px;
  background: linear-gradient(var(--line), rgb(205 180 232 / .1) 28%, transparent 85%);
  pointer-events: none;
}
:root[data-layout="rail"] .identity { border-right: 0; }
:root[data-layout="rail"] .introduction { margin-bottom: 64px; }
.eyebrow { color: var(--muted); font-size: .875rem; margin-bottom: 20px; }
h1 { font-size: clamp(2.125rem, 4vw, 3.25rem); max-width: 650px; }
.introduction > p:not(.eyebrow) { max-width: 570px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin: 24px 0 12px; }
.primary-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 11px 18px; min-height: 48px; color: var(--paper); background: var(--accent); border: 1px solid var(--accent); border-radius: 0; font-weight: 700; text-decoration: none; transition: background 160ms, transform 160ms; }
.primary-action:hover { background: var(--ink); border-color: var(--ink); transform: translateY(-1px); }
.primary-action:focus-visible { outline-offset: 4px; }
.call-note { font-size: .875rem; }
section { margin-bottom: 64px; }
.demo-film { margin: 24px 0 0; }
.demo-film video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #17131d; border: 1px solid var(--line); border-radius: 6px; }
.testimonials { gap: 22px; }
.testimonial blockquote p { margin-bottom: 8px; }
.testimonial figcaption { font-size: .875rem; }
.translation-note { font-size: .875rem; margin-top: 16px; }
.first-month-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; list-style: none; padding: 0; margin: 24px 0; counter-reset: first-step; }
.first-month-flow li { border-top: 1px solid var(--line); padding-top: 12px; counter-increment: first-step; }
.first-month-flow .step-title::before { content: counter(first-step) ". "; color: var(--accent); }
.first-month-flow p { color: var(--muted); font-size: .875rem; line-height: 1.5; margin: 0; }
.first-month-flow .step-title { margin-bottom: 10px; color: var(--ink); font-size: 1rem; }
.offer-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.offer-panel .offer-price { margin: 22px 0 20px; }
.offer-panel .primary-action { margin-bottom: 4px; }
.offer-price strong { font-size: 1.5rem; }
.offer-price > span { font-size: .875rem; }
.journey-flow .step-title { line-height: 1.35; }
.journey-flow p { font-size: .875rem; }
footer .primary-action { margin-top: 16px; }
@media (max-width: 900px) { .first-month-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  :root[data-layout="rail"] main::before { display: none; }
  :root[data-layout="rail"] .introduction { margin-bottom: 0; }
  :root[data-layout="rail"] .intro { margin-bottom: 48px; }
  section { margin-bottom: 48px; }
  h1 { font-size: clamp(2rem, 8.3vw, 2.65rem); }
  .hero-actions { align-items: flex-start; gap: 18px; }
  .offer-tabs { gap: 14px; }
  .offer-tabs button { font-size: .875rem; overflow-wrap: anywhere; }
  .offer-price strong { font-size: 1.25rem; }
}
