.main {
  min-block-size: calc(100dvh - var(--header-min-block-size));
  overflow: clip;
}

.hero {
  position: relative;
  isolation: isolate;
  padding-block: clamp(var(--space-12), 9vw, var(--space-24));
  background:
    radial-gradient(
      circle at 12% 18%,
      color-mix(in srgb, var(--status-info-surface) 82%, transparent),
      transparent 40%
    ),
    radial-gradient(
      circle at 88% 72%,
      color-mix(in srgb, var(--surface-strong) 78%, transparent),
      transparent 42%
    ),
    var(--surface-page);
}

.hero::after {
  position: absolute;
  z-index: -1;
  inset-block-end: 0;
  inset-inline: 0;
  block-size: 1px;
  background: var(--border-standard);
  content: '';
}

.heroGrid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(22rem, 0.98fr);
  align-items: center;
  gap: clamp(var(--space-10), 7vw, var(--space-20));
}

.heroCopy {
  display: grid;
  gap: var(--space-5);
  min-inline-size: 0;
}

.heroCopy > p:last-of-type {
  max-inline-size: 58ch;
}

.heroActions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding-block-start: var(--space-2);
}

.previewStage {
  position: relative;
  min-inline-size: 0;
  padding: clamp(var(--space-3), 2.5vw, var(--space-6));
}

.previewStage::before,
.previewStage::after {
  position: absolute;
  z-index: -1;
  border-radius: var(--radius-md);
  content: '';
}

.previewStage::before {
  inset: 0;
  background: var(--surface-strong);
  transform: rotate(-2deg);
}

.previewStage::after {
  inset-block-start: 8%;
  inset-inline: 8%;
  block-size: 88%;
  border: 1px solid var(--border-strong);
  transform: rotate(2deg);
}

.sectionBorder {
  border-block-end: 1px solid var(--border-standard);
}

.splitSection,
.pricingGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
  align-items: start;
  gap: clamp(var(--space-8), 7vw, var(--space-16));
}

.capabilityList,
.factorList,
.methodList {
  margin: 0;
}

.capabilityList,
.factorList {
  display: grid;
  gap: var(--space-4);
  padding: 0;
  list-style: none;
}

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

.capabilityList li,
.factorList li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--space-3);
}

.capabilityList svg,
.factorList svg {
  margin-block-start: 0.28rem;
  color: var(--interactive-primary);
}

.methodList {
  display: grid;
  gap: var(--space-2);
  padding-inline-start: var(--space-5);
}

.pricingCopy {
  display: grid;
  gap: var(--space-8);
}

.pricingCard {
  display: grid;
  gap: var(--space-5);
}

.pricingCard > svg {
  color: var(--interactive-primary);
}

.pricingCard > :last-child {
  justify-self: start;
}

.finalSection {
  padding-block-start: clamp(var(--space-8), 6vw, var(--space-16));
}

@media (max-width: 1023px) {
  .heroGrid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.9fr);
    gap: var(--space-10);
  }

  .splitSection,
  .pricingGrid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 1fr);
  }
}

@media (max-width: 767px) {
  .heroGrid,
  .splitSection,
  .pricingGrid {
    grid-template-columns: 1fr;
  }

  .heroCopy {
    justify-items: start;
  }

  .heroActions,
  .heroActions > *,
  .pricingCard > :last-child {
    inline-size: 100%;
  }

  .previewStage {
    padding-inline: 0;
  }

  .previewStage::before,
  .previewStage::after {
    display: none;
  }

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

@media (max-width: 359px) {
  .hero {
    padding-block: var(--space-10);
  }
}

@media (forced-colors: active) {
  .previewStage::before,
  .previewStage::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .previewStage::before,
  .previewStage::after {
    transform: none;
  }
}
