/* Go Grow Glow: mobile + equal-logo-size correction.
   Load AFTER styles.css and design-correction.css.
   Requires logo-en-balanced-v2.webp and logo-es-balanced-v2.webp.
   Presentation only; no backend, Nginx, registry, or OS changes. */
.brand-logo {
  width: min(340px, 100%);
  height: auto;
  aspect-ratio: 25 / 19;
  max-height: none;
  object-fit: contain;
}
.language-switch { max-width: calc(100% - 32px); }
.lang-btn { min-width: 52px; min-height: 44px; }
.lang-btn:focus-visible { outline-offset: -4px; }
.field-row input { font-size: 16px; }
@media (max-width: 760px) {
  .hero {
    --photo-height: clamp(172px, 47vw, 210px);
    padding-top: calc(var(--photo-height) - 14px);
    padding-inline: clamp(16px, 5vw, 24px);
    padding-bottom: 20px;
  }
  .hero::before {
    height: calc(var(--photo-height) + 22px);
    background-size: cover, auto calc(var(--photo-height) + 50px);
    background-position: center, left top;
  }
  .brand-logo {
    width: min(230px, 76%);
    height: auto;
    margin-bottom: 10px;
  }
  .eyebrow {
    margin-bottom: 10px;
    font-size: .63rem;
    letter-spacing: .13em;
  }
  .hero h1 {
    font-size: clamp(2.35rem, 10vw, 3rem);
    line-height: 1.04;
    text-wrap: balance;
  }
  .subcopy {
    margin: 14px auto 17px;
    max-width: 36ch;
    font-size: 1rem;
    line-height: 1.5;
  }
  .coming-row { margin-bottom: 13px; gap: 10px; }
  .coming-row strong {
    font-size: .68rem;
    letter-spacing: .22em;
    white-space: nowrap;
  }
  .waitlist label { margin: 0 0 6px 12px; font-size: .8rem; }
  .field-row input {
    min-height: 48px;
    font-size: 16px;
    padding-inline: 13px;
  }
  .field-row button { min-height: 48px; font-size: .94rem; }
  .form-meta { font-size: .75rem; line-height: 1.6; }
  .form-message { margin-top: 7px; }
  .language-switch {
    top: max(12px, env(safe-area-inset-top, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
  }
  .pillars article { padding: 18px 10px; }
  .pillars h2 { font-size: .67rem; letter-spacing: .12em; }
  .pillars p { font-size: .78rem; }
  .brand-strip { min-height: 165px; padding: 18px 12px; }
  .brand-strip p { font-size: 2.35rem; line-height: 1; }
  footer {
    padding-bottom: max(18px, env(safe-area-inset-bottom, 0px));
    letter-spacing: .1em;
  }
  footer nav { flex-wrap: wrap; justify-content: center; gap: 4px 14px; }
  footer nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 2.35rem; }
  .brand-logo { width: min(210px, 76%); }
  .pillars h2 { letter-spacing: .07em; font-size: .64rem; }
}
