.language-switch { position: relative; }
/* Off-screen reveal transforms must not create a horizontal page scrollbar. */
main { overflow-x: clip; }
.language-toggle { display: flex; align-items: center; gap: 7px; padding: 8px 10px; min-height: 38px; border: 1px solid #c9d8d8; border-radius: 30px; background: transparent; font-size: 11px; font-weight: 800; }
.language-toggle svg { width: 15px; height: 15px; }
.language-chevron { font-size: 13px; font-weight: 400; }
.language-toggle:hover, .language-toggle[aria-expanded=true] { background: #e6eeea; border-color: #719297; }
.language-panel { position: absolute; right: 0; top: calc(100% + 12px); min-width: 184px; border: 1px solid #d6e3dd; border-radius: 12px; background: var(--cream); padding: 12px; box-shadow: 0 12px 36px #102d3b20; z-index: 50; }
.language-panel > p { margin: 0 8px 8px; color: #63808a; font-size: 9px; font-weight: 700; }
.language-panel button { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; padding: 10px; border: 0; border-radius: 7px; background: transparent; font-size: 12px; }
.language-panel button > span { color: #63808a; font-size: 9px; font-weight: 800; min-width: 19px; }
.language-panel button:hover { background: #e2ece4; }
.language-panel button[aria-pressed=true] { background: var(--navy); color: white; font-weight: 700; }
.language-panel button[aria-pressed=true] > span { color: #bddde4; }
.dialog-languages { display: flex; gap: 5px; align-items: center; margin: 0 0 18px; }
.dialog-languages button { min-height: 29px; min-width: 34px; font-size: 10px; font-weight: 700; border: 1px solid #d1ded6; border-radius: 20px; background: white; }
.dialog-languages button:hover { background: #eff5ed; }
.dialog-languages button[aria-pressed=true] { background: var(--navy); border-color: var(--navy); color: white; }
/* Translation wrappers preserve the original decorative arrow and label sizes. */
.button > .i18n-inline, .text-link > .i18n-inline, .replay-intro > .i18n-inline { font: inherit; }
.contact-links > a > .i18n-inline { display: inline; font: inherit; margin: 0; }
.dialog-content label > .i18n-inline { color: inherit; }
.discipline-controls button > .i18n-inline { font: inherit; letter-spacing: inherit; opacity: 1; }
.faq-list summary > .i18n-inline { font: inherit; }
.faq-list details[open] summary > .i18n-inline { transform: none; color: inherit; }
.contact-intro h2 > .i18n-inline { color: var(--ink); }
html[lang=en] .hero-copy h1 { font-size: clamp(46px, 5.55vw, 84px); }
html[lang=en] .discipline-intro h2 { font-size: clamp(39px, 4.1vw, 61px); }
html[lang=hu] .join-steps h3 { font-size: clamp(18px, 1.6vw, 23px); }
@media (max-width: 760px) {
  .site-header { padding: 0 16px; }
  .brand { gap: 8px; }
  .header-actions { gap: 6px; }
  .language-toggle { gap: 5px; padding: 8px; font-size: 10px; }
  .language-toggle svg { width: 13px; height: 13px; }
  .language-chevron { display: none; }
  .language-panel { right: -90px; }
  .button-small { padding: 0 12px; gap: 10px; }
  .menu-toggle { width: 28px; }
  .hero-actions { flex-wrap: wrap; row-gap: 12px; }
  html[lang=en] .hero-copy h1 { font-size: clamp(41px, 11.4vw, 65px); }
  html[lang=en] .discipline-intro h2 { font-size: 42px; }
  .dialog-languages { margin-bottom: 15px; }
}
@media (max-width: 360px) {
  .site-header { padding: 0 14px; }
  .brand { gap: 6px; }
  .emblem { width: 36px; height: 26.8px; }
  .brand-name { font-size: 15px; }
  .brand-name > span { font-size: 7px; }
  .language-toggle svg { display: none; }
  .language-toggle { min-width: 37px; justify-content: center; }
  .button-small { padding: 0 9px; gap: 8px; font-size: 9px; }
  .button-small > span[aria-hidden] { font-size: 16px; }
  .menu-toggle { width: 24px; }
}
