/*
 * Home page layout. Framer breakpoints: desktop ≥1200px, tablet 810–1199px,
 * phone ≤809px. Desktop and tablet share one layout here (see "Known
 * differences" in docs/REFERENCE.md: Framer's tablet layout clips the heading).
 */

body {
  background: var(--color-video-fallback);
}

.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
  overflow: clip;
}

.hero__content {
  position: relative;
  z-index: 1; /* above the video, below the grain (z-index 10) */
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1200px;
  padding: 0;
}

@media (max-width: 809.98px) {
  .hero__content {
    padding: 0 32px;
  }

  .grain {
    top: 0;
  }
}

/*
 * Narrow phones. Framer's card is ~404px wide and gets cut off below that.
 * Approved fix: keep an 8px gutter, let the card shrink, and scale the heading
 * so it still fits on one line. Above ~420px nothing here changes the layout.
 */
@media (max-width: 419.98px) {
  .hero__content {
    padding: 0 8px;
  }

  .card {
    width: 100%;
    min-width: 0;
  }

  .card__title {
    /* "JOIN THE WAITLIST" is 6.0× its font size wide in Anton at -0.04em. */
    font-size: min(60px, calc((100vw - 16px - 44px) / 6.05));
  }

  .card__intro {
    max-width: 100%;
  }

  .card__subtitle {
    width: auto;
  }

  .beta-line {
    white-space: normal;
  }
}

/* Short landscape screens: let the page scroll instead of clipping the card. */
@media (max-height: 479.98px) {
  .hero {
    padding: 24px 0;
  }
}
