/* Use the full logo canvas so its final letter never hits a cropped edge. */
.site-header .logo-window,
.mobile-menu .logo-window {
  width: 204px;
  height: 32px;
  flex-shrink: 0;
}
.site-header .logo-window img,
.mobile-menu .logo-window img {
  width: 100%;
  height: auto;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.site-header .desktop-nav { font-size: 14px; }
.site-header .nav-cta { font-size: 13px; padding: 13px 20px; }
.site-header .desktop-nav a { white-space: nowrap; }

/* Match the mobile menu action to the main waitlist button. */
#mobile-menu > .button[data-waitlist] {
  display: grid;
  place-items: center;
  min-height: 56px;
  padding: 16px 24px;
  font-size: 16px;
  line-height: 1.25;
  text-align: center;
  gap: 0;
}
#mobile-menu .close-menu { width: 44px; height: 44px; flex: none; }
/* Opening by touch should not paint a keyboard focus ring on the close control. */
#mobile-menu[data-input-mode="pointer"] :focus { outline: none; }

/* A restrained glass capsule, using the existing hero colors. */
.hero-v12 .hero-center > .eyebrow {
  padding: 9px 15px;
  border: 1px solid rgba(240, 255, 249, .28);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .055));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 4px 16px rgba(0, 24, 20, .08);
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
}
/* Keep the hero action prominent, including on shorter desktop screens. */
.hero-v12 .hero-actions > .button[data-waitlist] {
  display: inline-grid;
  place-items: center;
  gap: 0;
  text-align: center;
  text-indent: 0;
  min-width: 232px;
  min-height: 60px;
  max-width: 100%;
  padding: 18px 34px;
  font-size: 17px;
  line-height: 1.25;
}
.hero-v12 .hero-actions .hero-cta-label {
  display: block;
  font: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
}
/* A clear primary line, with the qualifier and description grouped beneath it. */
.hero-v12 .hero-center h1 > span { font-size: 1.12em; line-height: 1.08; }
.hero-v12 .hero-center h1 > em { margin-top: 8px; line-height: 1.1; }
.hero-v12 .hero-center > p { margin-top: 22px; }
@media (min-width: 801px) {
  .hero.hero-v12 { padding-top: clamp(132px, 15svh, 164px); }
}
@media (min-width: 801px) and (max-width: 960px) {
  .site-header .logo-window { width: 192px; }
  .site-header .desktop-nav { gap: 18px; }
  .site-header .nav-cta { padding-inline: 17px; }
}
@media (max-width: 600px) {
  .site-header .logo-window { width: 165px; height: 29px; }
  .hero-v12 .hero-actions > .button[data-waitlist] {
    min-width: 224px;
    min-height: 56px;
    padding: 16px 30px;
    font-size: 16px;
  }
  .hero-v12 .hero-center h1 > span { font-size: 1.12em; }
  .hero-v12 .hero-center h1 > em { font-size: .94em; margin-top: 8px; }
  .hero-v12 .hero-center > p { margin-top: 20px; max-width: 350px; text-wrap: pretty; }
}
/* Keep the action visible inside the existing fixed mobile navigation bar. */
@media (max-width: 800px) {
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 36px;
    gap: 8px;
  }
  .site-header .brand { min-width: 0; }
  .site-header .logo-window { width: 100%; max-width: 204px; min-width: 0; }
  .site-header .nav-cta {
    display: inline-flex;
    min-height: 44px;
    padding: 10px 14px;
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    gap: 0;
  }
  .site-header .menu-toggle { width: 36px; height: 44px; margin: 0; }
}
@media (max-width: 600px) {
  .site-header .logo-window { max-width: 165px; }
  .site-header .nav-cta { padding-inline: 12px; }
}
@media (max-width: 360px) {
  .site-header { gap: 6px; }
  .site-header .nav-cta { padding-inline: 10px; font-size: 11.5px; }
}
