/* Shared mobile reading and touch controls for the final FR/EN/DE site. */
.synapse-variant .v-film-frame { display: contents; }
.synapse-variant .v-film-play-control {
  position: absolute; z-index: 8; left: 18px; bottom: 18px;
  min-height: 44px; padding: 10px 14px; border: 1px solid #ffffff88;
  border-radius: 4px; background: #082034e6; color: #fff;
  font: 600 14px/1.2 Arial, Helvetica, sans-serif; cursor: pointer;
}
@media (max-width: 980px) {
  body.synapse-variant .header-inner > .header-cta,
  body.synapse-variant .header-inner > .language-switch { display: none !important; }
  body.synapse-variant .mobile-panel { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  body.synapse-variant .mobile-panel :is(.v4-technology-links, .other-sector-links) {
    position: static; width: auto; max-width: 100%; box-shadow: none;
  }
  body.synapse-variant .mobile-panel :is(a, summary) {
    min-height: 44px; font-size: 16px; line-height: 1.5; white-space: normal;
  }
  body.synapse-variant .mobile-panel .mobile-language {
    margin: 20px 0 0; gap: 16px; flex-wrap: wrap;
  }
  body.synapse-variant .mobile-language a {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px;
  }
}
@media (max-width: 760px) {
  html:has(body.synapse-variant) { scroll-padding-top: 88px; }
  body.synapse-variant .site-header { height: 76px !important; }
  body.synapse-variant .header-inner { height: 76px; min-height: 76px; }
  body.synapse-variant .mobile-menu { margin-left: auto; }
  body.synapse-variant .mobile-panel {
    top: 76px !important; max-height: calc(100svh - 76px) !important;
    max-height: calc(100dvh - 76px) !important;
  }
  body.synapse-variant :is(h1, h2, h3, .lead, .body-copy, .text-link) { overflow-wrap: anywhere; }
  body.synapse-variant :is(input, select, textarea) { font-size: 16px; }
  body.synapse-variant :is(.button, .pause-marquee, .process-video-toggle, .process-video-sound) {
    min-height: 44px;
  }
  body.synapse-variant .hero-gallery-caption {
    display: flex; flex-direction: column; align-items: stretch;
    left: 12px; right: 12px; bottom: 12px; gap: 12px;
  }
  body.synapse-variant .hero-gallery-caption > span:first-child {
    max-width: none; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere;
  }
  body.synapse-variant .gallery-controls { flex-wrap: wrap; gap: 4px; }
  body.synapse-variant .gallery-controls button {
    width: 44px; height: 44px; min-width: 44px; font-size: 14px;
  }
  body.synapse-variant .reference-band .section-head {
    flex-direction: column; align-items: flex-start; gap: 16px;
  }
  body.synapse-variant .v-table-scroll {
    overflow-x: auto; overscroll-behavior-x: contain;
  }
  body.synapse-variant .qualification-form,
  body.synapse-variant .field-grid > * { min-width: 0; }
  body.synapse-variant .form-actions { flex-wrap: wrap; }
  body.synapse-variant .footer-grid a { overflow-wrap: anywhere; }
}

/* Keep the complete landscape frame on phones in either orientation. */
@media (max-width: 980px) {
  body.variant-c.v-homepage .home-hero.v-home {
    display: flex !important; flex-direction: column; align-items: stretch;
    height: auto !important; min-height: 0 !important; aspect-ratio: auto;
    background-image: none !important; background-color: #04284e !important;
  }
  body.variant-c.v-homepage .v-film-frame {
    display: block; position: relative; order: 0; width: 100%;
    aspect-ratio: 16 / 9; overflow: hidden; background: #04284e;
  }
  body.variant-c.v-homepage .v-home .v-hero-film {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: contain !important; object-position: center !important; opacity: 1;
  }
  body.variant-c.v-homepage .v-film-shade { display: none; }
  body.variant-c.v-homepage .home-hero.v-home .hero-copy {
    order: 1; width: 100% !important; padding: 26px 22px 30px !important; background: #04284e !important;
  }
  body.variant-c.v-homepage .home-hero.v-home .hero-copy h1 {
    font-size: clamp(30px, 8vw, 38px) !important; line-height: 1.12;
    letter-spacing: -.035em; margin: 0 0 18px !important;
  }
  body.variant-c.v-homepage .home-hero.v-home .hero-subtitle {
    font-size: 18px; line-height: 1.55;
  }
  body.variant-c.v-homepage .v-film-sound-control {
    top: auto; bottom: 8px; right: 8px; transform: none;
    min-width: 44px; min-height: 44px; font-size: 14px;
  }
  body.variant-c.v-homepage .v-film-play-control { bottom: 8px; left: 8px; }
}
