@media (max-width: 980px) {
  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(12,11,8,0.30) 0%, rgba(12,11,8,0.62) 38%, rgba(12,11,8,0.92) 100%),
      linear-gradient(90deg, rgba(14,13,8,0.78) 0%, rgba(35,31,18,0.50) 100%);
  }
  .hero__content {
    width: min(680px, 90vw);
    padding-left: 6vw;
  }
  .hero__recruitment-link {
    top: max(2.5rem, calc(2rem + env(safe-area-inset-top)));
    right: max(8rem, calc(6.5rem + env(safe-area-inset-right)));
  }
  .language-switcher {
    top: max(2.65rem, calc(2.15rem + env(safe-area-inset-top)));
    right: max(2.5rem, calc(2rem + env(safe-area-inset-right)));
  }
}
@media (max-width: 720px) {
  .hero__content {
    justify-content: flex-end;
    min-height: 100svh;
    padding: 3rem 7vw 7.2rem;
  }
  .hero__logo { margin-bottom: 2.4rem; width: clamp(8rem, 42vw, 12rem); }
  .hero__pretitle { font-size: clamp(2.25rem, 12vw, 3.8rem); margin-bottom: .85rem; }
  .hero__title { font-size: clamp(1.75rem, 8vw, 2.8rem); line-height: 1.20; }
  .hero__subtitle { font-size: .70rem; letter-spacing: .18em; margin-bottom: 2.1rem; }
  .hero__text { margin-bottom: 2rem; }
  .hero__text p { font-size: .88rem; line-height: 1.82; letter-spacing: .025em; margin-bottom: 1.05rem; }
  .hero__button { width: 100%; min-height: 3.1rem; padding-inline: 1rem; font-size: .72rem; letter-spacing: .18em; margin-bottom: 2.2rem; }
  .hero__recruitment-link {
    top: max(4.2rem, calc(3.7rem + env(safe-area-inset-top)));
    right: calc(1rem + env(safe-area-inset-right));
    left: auto;
    display: block;
    width: max-content;
    max-width: calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));
    margin-left: auto;
    text-align: right;
    transform: none;
    white-space: nowrap;
  }
  .language-switcher {
    top: max(1.5rem, calc(1rem + env(safe-area-inset-top)));
    right: calc(1rem + env(safe-area-inset-right));
    left: auto;
    width: max-content;
    margin-left: auto;
    justify-content: flex-end;
    text-align: right;
    transform: none;
  }
  .hero__footer { font-size: .66rem; line-height: 1.5; letter-spacing: .10em; }
}
@media (max-width: 420px) {
  .hero__content { padding-inline: 6vw; padding-bottom: 6.5rem; }
  .hero__subtitle { letter-spacing: .12em; }
  .audio-button { width: 3.9rem; height: 3.9rem; }
  .audio-button__icon { font-size: 1.2rem; }
  .audio-button__label { font-size: .50rem; }
}
