/* Cross-language layout fixes verified at phone, tablet and desktop widths. */
.hero,
.cases-hero,
.contact-hero {
  padding: calc(var(--nav-h) + clamp(32px, 4vw, 56px)) 0 clamp(40px, 5vw, 64px);
}
.hero h1 { font-size: clamp(32px, 5vw, 64px); line-height: 1.18; }
.ja-pr .hero-pr h1 { max-width: 20em; }
.cases-hero h1 { font-size: clamp(32px, 5vw, 64px); line-height: 1.2; }
.contact-hero h1 { font-size: clamp(30px, 4.5vw, 56px); line-height: 1.25; }
.lang-btn { white-space: nowrap; }
.lang { flex-shrink: 0; }
html[lang="en"] .nav-inner { gap: 18px; }
html[lang="en"] .nav-links a { padding-inline: 10px; white-space: nowrap; }

.res-body h3 { display: block; overflow-wrap: anywhere; line-height: 1.5; }
.res-body h3 .no { display: inline-block; margin-right: 8px; }
.res-body, .roster-bio { overflow-wrap: anywhere; }
@media (min-width: 1025px) {
  .quotes-stack .quote:hover,
  .quotes-stack .quote:focus,
  .quotes-stack .quote:focus-within { height: auto; min-height: 330px; }
}

@media (max-width: 1200px) {
  html[lang="en"] .nav-links {
    display: none; position: fixed; inset: var(--nav-h) 0 auto 0;
    background: #fff; box-shadow: var(--shadow-md); flex-direction: column;
    align-items: stretch; gap: 0; padding: 12px 18px 22px; margin: 0;
  }
  html[lang="en"] .nav-links.open { display: flex; }
  html[lang="en"] .nav-links a { padding: 13px 10px; border-radius: 10px; font-size: 16px; }
  html[lang="en"] .nav .nav-links.open a,
  html[lang="en"] .nav:not(.scrolled) .nav-links.open a { color: var(--ink); }
  html[lang="en"] .nav .nav-links.open a.active,
  html[lang="en"] .nav:not(.scrolled) .nav-links.open a.active { color: var(--blue); }
  html[lang="en"] .nav-burger { display: flex; margin-left: 8px; }
  html[lang="en"] .nav .lang { margin-left: auto; }
  html[lang="en"] .nav-cta { display: none; }
}
@media (max-width: 1200px) {
  .nav-links { max-height: calc(100dvh - var(--nav-h)); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 1024px) {
  .hero, .cases-hero, .contact-hero { min-height: 0; }
  .cases-hero > .wrap { padding-right: 104px; }
}
.ja-refined #market-korea .pcard:first-of-type .pcard-amt { font-size: 18px; }
.ja-refined #market-korea .pcard:first-of-type .pcard-body { padding: 12px 16px; }
@media (max-width: 640px) {
  .hero, .cases-hero, .contact-hero {
    padding-top: calc(var(--nav-h) + 24px);
    padding-bottom: 40px;
  }
  .hero h1 { font-size: clamp(28px, 7.4vw, 38px); line-height: 1.25; }
  .ja-operation .hero-op h1 { font-size: clamp(22px, 6.3vw, 34px); }
  .cases-hero h1 { font-size: clamp(28px, 7.4vw, 38px); line-height: 1.3; }
  .contact-hero h1 { font-size: clamp(28px, 7.4vw, 38px); }
  .cases-hero > .wrap { padding-right: calc(64px + env(safe-area-inset-right)); }
  .res-body { padding: 14px 12px 16px; }
  .res-body h3 { font-size: 14.5px; }
  .pcard-amt { font-size: clamp(12px, 3.4vw, 14px); white-space: nowrap; }
  .ja-refined #market-korea .pcard:first-of-type .pcard-amt { font-size: clamp(12px, 3.4vw, 14px); }
  .ja-refined #market-korea .pcard:first-of-type .pcard-body { padding: 8px 10px 12px; }
  .pcard-flag, .pcard-flag.pcard-flag-gold {
    white-space: normal; overflow-wrap: anywhere; padding: 3px 6px; border-radius: 8px;
  }
}
@media (max-width: 360px) {
  .nav-inner { gap: 8px; }
  .lang-btn { padding-inline: 10px; }
  .nav-burger, html[lang="en"] .nav-burger { margin-left: 0; }
  .pcard-img img.pcard-logo { width: 42px; max-width: 42px; }
}
@media (max-width: 480px) {
  html[lang="en"] .roster { grid-template-columns: 1fr; }
  html[lang="en"] .roster-photo { aspect-ratio: 4 / 3; }
}
