/* Safe areas remain additive: browser zoom and text enlargement stay enabled. */
body {
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
footer { padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px)); }
.site-header nav { -webkit-overflow-scrolling: touch; }
.brand, .site-header nav a { flex-shrink: 0; }
.brand { white-space: nowrap; }
.section-heading > *, .careers-heading > *, .film-locations > * { min-width: 0; }
.email-link, .business-english, .role-name small { word-wrap: break-word; }
.no-native-details .roles details:not([open]) > .role-content { display: none; }
.no-native-details .roles details[open] > .role-content { display: block; }
button, a, summary { touch-action: manipulation; }
button:focus, a:focus, summary:focus { outline: 2px solid var(--orange); outline-offset: 4px; }
@supports selector(:focus-visible) {
  button:focus:not(:focus-visible), a:focus:not(:focus-visible), summary:focus:not(:focus-visible) { outline: none; }
}
@media (hover: none) {
  .button:hover { transform: none; }
}
@media (pointer: coarse) {
  .text-link, .copy-email, .hero-bottom a { min-height: 48px; }
  .roles summary { min-height: 72px; }
}

/* Only browsers without measured flex-gap support receive these margins. */
.no-flex-gap .brand > * + * { margin-left: 18px; }
.no-flex-gap .site-header nav > a + a { margin-left: 28px; }
.no-flex-gap .nav-cta > span { margin-left: 22px; }
.no-flex-gap .menu-toggle span + span { margin-top: 7px; }
.no-flex-gap .eyebrow > span { margin-right: 14px; }
.no-flex-gap .button > span { margin-left: 25px; }
.no-flex-gap .text-link > span, .no-flex-gap .hero-bottom a > span { margin-left: 20px; }
.no-flex-gap .hero-actions > a { margin-right: 24px; margin-bottom: 14px; }
.no-flex-gap .section-label > .section-index { margin-right: 14px; }
.no-flex-gap .section-heading > p { margin-left: 40px; }
.no-flex-gap .careers-heading > div { margin-left: 40px; }
.no-flex-gap .commerce-capabilities article > span,
.no-flex-gap .team-values article > span { margin-right: 23px; }
.no-flex-gap .film-locations > div > * + * { margin-top: 2px; }
.no-flex-gap .workplace-top > span + span { margin-left: 20px; }
.no-flex-gap .career-footnote > * + * { margin-top: 6px; }
.no-flex-gap .workplace-note > * + *,
.no-flex-gap .footer-top > * + *,
.no-flex-gap .footer-bottom > * + * { margin-left: 20px; }

@media (max-width: 1100px) {
  .no-flex-gap .site-header nav > a + a { margin-left: 0; }
  .no-flex-gap .section-heading > p,
  .no-flex-gap .careers-heading > div { margin-left: 0; margin-top: 24px; }
  .no-flex-gap .workplace-note > * + * { margin-left: 0; margin-top: 6px; }
}
@media (max-width: 760px) {
  .no-flex-gap .brand > * + * { margin-left: 10px; }
  .no-flex-gap .section-label > .section-index { margin-right: 10px; }
  .no-flex-gap .section-label > .english { margin-top: 6px; }
  .no-flex-gap .commerce-capabilities article > span,
  .no-flex-gap .team-values article > span { margin-right: 14px; }
  .no-flex-gap .hero-bottom > a { margin-top: 8px; }
  .no-flex-gap .workplace-top { display: block; }
  .no-flex-gap .workplace-top > span { display: block; }
  .no-flex-gap .workplace-top > span + span { margin-left: 0; margin-top: 6px; }
  .no-flex-gap .footer-top > p { margin-left: 0; margin-top: 20px; }
  .no-flex-gap .footer-bottom > * + * { margin-left: 0; margin-top: 9px; }
}
@media (max-width: 420px) {
  .no-flex-gap .hero-actions > a { margin-right: 0; }
}
