/* Mobile first-view lock: loaded after the legacy stylesheet. */
@media (max-width: 720px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .site-header {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 76px !important;
    padding: 12px 14px !important;
    gap: 8px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .brand,
  .brand-lockup {
    min-width: 0 !important;
  }

  .brand-logo-old {
    width: 148px !important;
    max-width: calc(100vw - 174px) !important;
    height: auto !important;
  }

  .lang-switch-header {
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
  }

  .nav-toggle {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }

  .hero {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 34px 0 34px !important;
    overflow: hidden !important;
  }

  .hero-grid {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
  }

  .hero-copy,
  .hero-content,
  .hero h1,
  .hero-lede,
  .hero-actions {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .japan-cue,
  .hero-jp-line,
  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old {
    display: none !important;
  }

  .hero .eyebrow {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #a94739 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
    white-space: normal !important;
  }

  .hero h1 {
    display: block !important;
    margin: 0 0 18px !important;
    color: #0c1422 !important;
    font-size: clamp(39px, 10.2vw, 43px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.1vw, 38px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
  }

  .hero-title-line {
    display: block !important;
    max-width: calc(100vw - 48px) !important;
    white-space: normal !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 !important;
    color: #5e6672 !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
    overflow-wrap: break-word !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 22px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    max-width: calc(100vw - 48px) !important;
    min-width: 0 !important;
    min-height: 52px !important;
    justify-content: center !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .brand-logo-old {
    width: 144px !important;
    max-width: calc(100vw - 168px) !important;
  }

  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.6vw, 40px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 36px) !important;
    line-height: 1.22 !important;
  }
}
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
