.website-language { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; max-width: 100%; font: inherit; font-size: 13px; }
.website-language select { min-width: 104px; min-height: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid currentColor; border-radius: 10px; color: inherit; background: transparent; font: inherit; }
.website-language select:focus-visible { outline: 3px solid #609342; outline-offset: 3px; }
.website-language option { background: #fff; color: #17251d; }
.portal-footer:has([data-website-language-control]) { flex-wrap: wrap; align-items: center; }
.legal-page .brand-header:has([data-website-language-control]) { flex-wrap: wrap; gap: 12px; }
.legal-page [data-website-language-control] { margin-left: auto; }
html[lang="fr"] .portal-hero h1 span { white-space: normal; }
/* Long translated legal headings must fit their text column, not get clipped by the screen. */
html[lang="fr"] .legal-page .workspace-hero { flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 12px; }
html[lang="fr"] .legal-page .workspace-hero h1 { max-width: 100%; min-width: 0; font-size: clamp(2.4rem, 10vw, 5rem); overflow-wrap: anywhere; }
@media (max-width: 620px) {
  .legal-page .workspace-hero { flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 12px; }
  .legal-page .workspace-hero .eyebrow { max-width: 100%; }
}
html[lang="fr"] .student-payment-title { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  html[lang="fr"] .student-payments .student-payment-title { font-size: clamp(34px, 10vw, 48px); }
}
