/* English typography. Load after style.css; the Japanese site keeps its own type scale. */
.prelaunch-en {
  --reading-body: 1.125rem;
  --reading-detail: 1rem;
  --reading-caption: .9375rem;
  font-size: var(--reading-body);
  line-height: 1.65;
}

.prelaunch-en h1,
.prelaunch-en h2 {
  line-height: 1.22;
  letter-spacing: -.03em;
}

.prelaunch-en .hero h1 {
  font-size: clamp(2rem, calc(.5rem + 2.6vw), 2.75rem);
  line-height: 1.24;
  letter-spacing: -.035em;
}

.prelaunch-en .story-copy h2,
.prelaunch-en .product-copy h2,
.prelaunch-en .motion .section-heading h2,
.prelaunch-en .signup-copy h2 {
  font-size: clamp(2.125rem, calc(1.25rem + 1.9vw), 2.875rem);
  line-height: 1.24;
}

.prelaunch-en .hero-intro,
.prelaunch-en .hero-explain,
.prelaunch-en .story-copy > p:not(.eyebrow):not(.story-lead),
.prelaunch-en .product-copy > p:not(.eyebrow):not(.product-goal):not(.product-support),
.prelaunch-en .support-mode p,
.prelaunch-en .motion article > p,
.prelaunch-en .downstairs-feature p,
.prelaunch-en .signup-copy > p:not(.eyebrow),
.prelaunch-en .form-message {
  font-size: var(--reading-body);
  line-height: 1.7;
}

.prelaunch-en .story-copy > p:not(.eyebrow):not(.story-lead),
.prelaunch-en .product-copy > p:not(.eyebrow):not(.product-goal):not(.product-support) {
  max-width: 36rem;
}

.prelaunch-en .hero .eyebrow,
.prelaunch-en .hero-brand-row .eyebrow,
.prelaunch-en .eyebrow,
.prelaunch-en .support-mode dt {
  font-size: var(--reading-caption);
  line-height: 1.6;
  letter-spacing: .025em;
}

.prelaunch-en .story-lead {
  font-size: 1.5rem !important;
  line-height: 1.5;
}

.prelaunch-en .product-copy > p.product-goal,
.prelaunch-en .support-mode h3,
.prelaunch-en .motion-layout h3 {
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: -.015em;
}

.prelaunch-en .product-copy > p.product-support,
.prelaunch-en .motion-statement {
  font-size: 1.375rem;
  line-height: 1.5;
}

.prelaunch-en .downstairs-feature h3 {
  font-size: clamp(1.625rem, calc(1rem + 1.2vw), 2rem);
  line-height: 1.35;
}

.prelaunch-en .hero-promise {
  font-size: clamp(1.125rem, calc(.875rem + .6vw), 1.5rem);
  line-height: 1.65;
}

.prelaunch-en .site-header nav,
.prelaunch-en .button,
.prelaunch-en .header-button,
.prelaunch-en .text-link,
.prelaunch-en .motion-button,
.prelaunch-en .field label {
  font-size: var(--reading-detail);
  line-height: 1.5;
}

.prelaunch-en .button {
  min-height: 48px;
}

.prelaunch-en .motion-button,
.prelaunch-en .text-link {
  min-height: 44px;
}

.prelaunch-en .field input,
.prelaunch-en .field select {
  font-size: var(--reading-body);
  line-height: 1.5;
  min-height: 52px;
  height: auto;
}

.prelaunch-en .form-note,
.prelaunch-en .product-figure figcaption,
.prelaunch-en .motion article > p small,
.prelaunch-en .media-error {
  font-size: var(--reading-caption);
  line-height: 1.65;
}

.prelaunch-en .footer-company address {
  font-size: var(--reading-detail);
  line-height: 1.75;
}

.prelaunch-en .site-footer .footer-origin {
  font-size: 1.0625rem;
  line-height: 1.6;
}

.prelaunch-en .footer-brand,
.prelaunch-en .footer-company,
.prelaunch-en .story-images,
.prelaunch-en .motion-pair,
.prelaunch-en .downstairs-feature > * {
  min-width: 0;
}

.prelaunch-en .footer-brand .footer-tagline {
  max-width: none;
  font-size: var(--reading-detail);
  line-height: 1.6;
  letter-spacing: 0;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.prelaunch-en .footer-tagline span {
  display: inline;
}

.prelaunch-en .footer-logo-link {
  display: inline-block;
  min-height: 44px;
}

.prelaunch-en .footer-logo-link img {
  display: block;
}

@media (max-width: 760px) {
  .prelaunch-en {
    --reading-body: 1.0625rem;
  }

  .prelaunch-en .hero h1 {
    font-size: clamp(1.875rem, calc(1.25rem + 3vw), 2.5rem);
    line-height: 1.25;
  }

  .prelaunch-en .story-copy h2,
  .prelaunch-en .product-copy h2,
  .prelaunch-en .motion .section-heading h2,
  .prelaunch-en .signup-copy h2 {
    font-size: clamp(1.875rem, calc(1.2rem + 3vw), 2.25rem);
    line-height: 1.28;
  }

  .prelaunch-en .story-lead {
    font-size: 1.25rem !important;
    line-height: 1.5;
  }

  .prelaunch-en .product-copy > p.product-goal,
  .prelaunch-en .support-mode h3,
  .prelaunch-en .motion-layout h3 {
    font-size: 1.1875rem;
  }

  .prelaunch-en .product-copy > p.product-support,
  .prelaunch-en .motion-statement {
    font-size: 1.25rem;
    line-height: 1.55;
  }

  .prelaunch-en .hero-panel .button {
    font-size: var(--reading-detail);
  }

  .prelaunch-en .site-header .header-button {
    padding-inline: 16px;
  }

  /* Full-width tagline at normal text size; natural wrapping remains available
     when the reader enlarges text or uses a wider accessibility font. */
  .prelaunch-en .footer-brand .footer-tagline {
    font-size: clamp(.8125rem, calc(.5rem + 1.75vw), 1rem);
    margin-top: 14px;
  }

  .prelaunch-en .footer-tagline span {
    display: inline;
  }
}

@media (max-width: 360px) {
  .prelaunch-en .site-header { gap: 8px; }
  .prelaunch-en .site-header .brand img { width: 84px; }
  .prelaunch-en .site-header .header-button {
    font-size: .9375rem;
    padding-inline: 10px;
  }
}
