/* Preserve desktop composition while refining small-screen typography. */
@media (max-width: 600px) {
  h1, h2, h3 { text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .btn { max-width: 100%; box-sizing: border-box; text-align: center; white-space: normal; text-wrap: balance; }
  .v4-actions, .cta-group { flex-wrap: wrap; }
  .opening-stage { min-width: 0; max-width: 100%; }
  .opening-frame--credential { font-size: 17px !important; line-height: 1.55; }
  .opening-frame .opening-credential-sub { display: block; font-size: 17px !important; line-height: 1.55; }
  .opening-frame:has(.opening-credential-sub) + .opening-frame { margin-top: 12px; }
  .opening-frame--name { font-size: 42px !important; }
  .contact-form-row > *, .v4-editorial > *, .acte-grid > * { min-width: 0; }
  input, textarea, select { max-width: 100%; box-sizing: border-box; }
  video { max-width: 100%; }
}
@media (max-width: 360px) {
  .opening-frame--credential { font-size: 16px !important; }
  .opening-frame .opening-credential-sub { font-size: 16px !important; }
  .opening-frame--name { font-size: 36px !important; }
  .btn { padding-left: 14px; padding-right: 14px; }
}
