:root {
  --rhythm-1: 8px;
  --rhythm-2: 12px;
  --rhythm-3: 16px;
  --rhythm-4: 24px;
  --rhythm-5: 32px;
  --rhythm-6: clamp(42px, 4vw, 62px);
  --rhythm-7: clamp(64px, 6.5vw, 96px);
  --rhythm-8: clamp(96px, 9vw, 136px);
  --section-rhythm: clamp(122px, 12vw, 182px);
}

/* Global vertical rhythm */
.section-shell {
  padding-block: var(--section-rhythm);
}

.section-label {
  margin-bottom: 18px;
}

.section-header-split,
.validation-header,
.launch-layout {
  column-gap: clamp(72px, 9vw, 132px);
}

.section-intro-copy,
.validation-header > div:last-child,
.launch-copy {
  padding-top: clamp(48px, 5vw, 72px);
}

.section-lead {
  max-width: 34ch;
}

.section-intro-copy > p:not(.section-lead),
.validation-header > div:last-child > p:not(.section-lead),
.launch-copy > p:not(.section-lead),
.record-copy > p:not(.section-lead),
.workflow-intro > p:not(.section-label) {
  max-width: 58ch;
  margin-top: 26px;
}

.expressive-heading {
  row-gap: 0.045em;
}

.heading-stack {
  row-gap: 0.075em;
}

.section-context,
.workflow-intro > p.section-context,
.record-copy > p.section-context {
  margin-bottom: 18px;
}

/* First post-hero handoff */
.product-intro .section-shell {
  padding-top: clamp(132px, 13vw, 194px);
  padding-bottom: clamp(138px, 13vw, 198px);
}

.product-intro .section-intro-copy {
  max-width: 620px;
}

.setup-visual {
  margin-top: clamp(78px, 8vw, 118px);
}

.setup-node {
  column-gap: 10px;
}

.setup-node small {
  margin-top: 4px;
}

.setup-output {
  padding-block: 20px;
}

.setup-output span {
  margin-bottom: 6px;
}

/* Metrics stay dense and instrument-like */
.metrics-section .section-shell,
.workflow-layout {
  column-gap: clamp(68px, 8vw, 124px);
}

.metrics-footnote {
  max-width: 54ch;
  margin-top: 0;
}

.metric-row {
  min-height: 154px;
  gap: clamp(24px, 3.5vw, 48px);
  padding-block: 30px;
}

.metric-row p {
  margin-top: 10px;
}

/* Workflow cadence */
.workflow-intro > p:not(.section-context) {
  margin-top: 30px;
}

.workflow-steps li {
  gap: clamp(22px, 3.5vw, 44px);
  padding-block: clamp(42px, 4.5vw, 58px);
}

.workflow-steps p {
  max-width: 52ch;
  margin-top: 12px;
}

.workflow-steps b {
  padding-top: 7px;
}

/* Athlete record gets the widest editorial breath */
.record-section .section-shell {
  padding-block: clamp(132px, 13vw, 194px);
}

.record-layout {
  gap: clamp(72px, 9vw, 132px);
}

.record-copy {
  max-width: 610px;
}

.record-copy .section-lead {
  margin-top: 34px;
}

.record-copy > p:not(.section-context, .section-lead) {
  margin-top: 22px;
}

.record-points {
  margin-top: 38px;
}

.record-points li {
  min-height: 56px;
  padding-block: 18px;
}

/* Validation should feel measured rather than stretched */
.validation-principles {
  margin-top: clamp(88px, 8vw, 122px);
}

.validation-principles article {
  min-height: 286px;
  padding: clamp(36px, 3.6vw, 50px);
}

.validation-principles h3 {
  margin-top: 52px;
}

.validation-principles p {
  max-width: 34ch;
  margin-top: 16px;
}

.validation-status-line {
  min-height: 64px;
}

/* Launch compresses slightly before the final crescendo */
.launch-section .section-shell {
  padding-block: clamp(112px, 10.5vw, 162px);
}

.launch-copy .section-lead {
  max-width: 27ch;
}

.text-link {
  margin-top: 32px;
}

/* Conversion close */
.waitlist-section-complete {
  min-height: min(880px, 88svh);
  padding-block: clamp(118px, 12vw, 176px);
}

.waitlist-inner-complete > p:not(.section-label, .waitlist-note) {
  max-width: 540px;
  margin-top: 26px;
}

.waitlist-form {
  margin-top: 42px;
}

.waitlist-form label {
  margin-bottom: 9px;
}

.form-status {
  margin-top: 10px;
}

.waitlist-note {
  margin-top: 16px;
}

/* Footer settles into a quieter baseline */
.site-footer-complete {
  gap: clamp(52px, 7vw, 94px);
  padding-top: 72px;
  padding-bottom: 30px;
}

.footer-brand-block p {
  margin-top: 16px;
}

.footer-contact {
  gap: 8px;
}

.footer-contact > span {
  margin-bottom: 4px;
}

.footer-contact address {
  margin-top: 6px;
}

.footer-links {
  gap: 11px;
}

.footer-bottom {
  margin-top: 38px;
  padding-top: 24px;
}

@media (max-width: 980px) {
  :root {
    --section-rhythm: clamp(108px, 13vw, 150px);
  }

  .section-header-split,
  .validation-header,
  .launch-layout,
  .metrics-section .section-shell,
  .workflow-layout,
  .record-layout {
    row-gap: clamp(48px, 7vw, 72px);
  }

  .section-intro-copy,
  .validation-header > div:last-child,
  .launch-copy {
    max-width: 680px;
    padding-top: 0;
  }

  .section-lead {
    max-width: 38ch;
  }

  .product-intro .section-shell,
  .record-section .section-shell {
    padding-block: clamp(116px, 14vw, 164px);
  }

  .setup-visual {
    margin-top: clamp(68px, 9vw, 96px);
  }

  .metrics-footnote,
  .workflow-intro > p:not(.section-context) {
    max-width: 56ch;
  }

  .validation-principles {
    margin-top: clamp(68px, 9vw, 96px);
  }

  .validation-principles article {
    padding-block: 40px;
  }

  .validation-principles h3 {
    margin-top: 34px;
  }
}

@media (max-width: 820px) {
  :root {
    --section-rhythm: 104px;
  }

  .section-label {
    margin-bottom: 16px;
  }

  .section-header-split,
  .validation-header,
  .launch-layout,
  .metrics-section .section-shell,
  .workflow-layout,
  .record-layout {
    row-gap: 52px;
  }

  .section-intro-copy > p:not(.section-lead),
  .validation-header > div:last-child > p:not(.section-lead),
  .launch-copy > p:not(.section-lead),
  .record-copy > p:not(.section-lead),
  .workflow-intro > p:not(.section-label) {
    margin-top: 22px;
  }

  .product-intro .section-shell,
  .record-section .section-shell {
    padding-block: 112px;
  }

  .setup-visual {
    margin-top: 62px;
  }

  .metric-row {
    min-height: 136px;
    padding-block: 27px;
  }

  .workflow-steps li {
    padding-block: 38px;
  }

  .record-copy .section-lead {
    margin-top: 28px;
  }

  .record-points {
    margin-top: 32px;
  }

  .validation-principles {
    margin-top: 68px;
  }

  .launch-section .section-shell {
    padding-block: 104px;
  }

  .waitlist-section-complete {
    min-height: auto;
    padding-block: 112px;
  }

  .site-footer-complete {
    row-gap: 44px;
    padding-top: 60px;
  }
}

@media (max-width: 560px) {
  :root {
    --section-rhythm: 88px;
  }

  .section-header-split,
  .validation-header,
  .launch-layout,
  .metrics-section .section-shell,
  .workflow-layout,
  .record-layout {
    row-gap: 42px;
  }

  .expressive-heading {
    row-gap: 0.07em;
  }

  .section-context,
  .workflow-intro > p.section-context,
  .record-copy > p.section-context {
    margin-bottom: 16px;
  }

  .product-intro .section-shell,
  .record-section .section-shell {
    padding-block: 94px;
  }

  .setup-visual {
    margin-top: 52px;
  }

  .metric-row {
    min-height: 122px;
    padding-block: 25px;
  }

  .metric-row p,
  .workflow-steps p {
    margin-top: 9px;
  }

  .workflow-intro > p:not(.section-context) {
    margin-top: 24px;
  }

  .workflow-steps li {
    padding-block: 32px;
  }

  .record-copy .section-lead {
    margin-top: 24px;
  }

  .record-copy > p:not(.section-context, .section-lead) {
    margin-top: 18px;
  }

  .record-points {
    margin-top: 28px;
  }

  .record-points li {
    padding-block: 17px;
  }

  .validation-principles {
    margin-top: 58px;
  }

  .validation-principles article {
    padding-block: 32px;
  }

  .validation-principles h3 {
    margin-top: 28px;
  }

  .validation-principles p {
    margin-top: 13px;
  }

  .launch-section .section-shell {
    padding-block: 88px;
  }

  .text-link {
    margin-top: 28px;
  }

  .waitlist-section-complete {
    padding-block: 94px;
  }

  .waitlist-inner-complete > p:not(.section-label, .waitlist-note) {
    margin-top: 22px;
  }

  .waitlist-form {
    margin-top: 34px;
  }

  .site-footer-complete {
    row-gap: 38px;
    padding-top: 52px;
    padding-bottom: 24px;
  }

  .footer-bottom {
    margin-top: 8px;
    padding-top: 22px;
  }
}
