.language-switcher{position:relative;display:inline-flex;align-items:center;font-family:inherit}.language-trigger{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid rgba(11,45,91,.18);border-radius:999px;background:#fff;color:#0b2d5b;font:700 .84rem inherit;cursor:pointer}.language-trigger svg{width:17px;height:17px}.language-menu{position:absolute;z-index:1200;top:calc(100% + 9px);right:0;display:none;width:220px;padding:8px;border:1px solid #dce4ed;border-radius:15px;background:#fff;box-shadow:0 18px 48px rgba(6,24,51,.18)}.language-switcher.is-open .language-menu{display:grid}.language-option{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#17243a;font:650 .9rem inherit;text-align:left;cursor:pointer}.language-option:hover,.language-option[aria-current=true]{background:#edf4fa;color:#0b2d5b}.language-option[aria-current=true]::after{content:'✓';color:#c62828;font-weight:900}.language-suggestion{position:fixed;z-index:2000;left:50%;bottom:22px;display:flex;align-items:center;gap:14px;width:min(92vw,620px);padding:15px 17px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:#081f40;color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.28);transform:translateX(-50%)}.language-suggestion p{flex:1;margin:0;font-size:.9rem;line-height:1.45}.language-suggestion button{border:0;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.language-suggestion .accept-language{background:#e4474f;color:#fff}.language-suggestion .dismiss-language{background:#fff;color:#0b2d5b}.i18n-legal-note{margin:12px auto;padding:12px 16px;border-left:3px solid #e4474f;background:#fff7f7;color:#4f5e71;font-size:.84rem;line-height:1.5}
[dir=rtl] body{font-family:Tahoma,"Arial",sans-serif}[dir=rtl] .language-menu{right:auto;left:0}[dir=rtl] .language-option{text-align:right}[dir=rtl] .application-header-actions,[dir=rtl] .nav-links,[dir=rtl] .footer-links{direction:rtl}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select{text-align:right}[dir=rtl] input[type=tel],[dir=rtl] input[type=email],[dir=rtl] input[type=url]{direction:ltr;text-align:left}[dir=rtl] .process-note,[dir=rtl] .i18n-legal-note{border-left:0;border-right:3px solid #e4474f}
@media(max-width:900px){
  .language-trigger .language-name{display:none}
  .language-trigger{padding:9px 11px}
  .language-menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    left:auto;
    bottom:auto;
    width:min(280px,calc(100vw - 28px));
    max-height:calc(100vh - 110px);
    max-height:calc(100svh - 110px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  [dir=rtl] .language-menu{right:auto;left:0}
  .language-suggestion{flex-wrap:wrap}
  .language-suggestion p{flex-basis:100%}
}

.navbar .language-switcher{flex:0 0 auto;margin-left:10px}
[dir=rtl] .navbar .language-switcher{margin-right:10px;margin-left:0}
@media(max-width:1100px){.navbar .language-switcher{margin-left:auto}[dir=rtl] .navbar .language-switcher{margin-right:auto;margin-left:0}}

/* Longer translated navigation labels need their own desktop rhythm.
   English intentionally keeps the original navbar sizing. */
@media (min-width:993px){
  html[lang="fr"] .navbar,
  html[lang="es"] .navbar{gap:16px}

  html[lang="fr"] .logo img,
  html[lang="es"] .logo img{width:120px}

  html[lang="fr"] .nav-links,
  html[lang="es"] .nav-links{gap:20px}

  html[lang="fr"] .nav-links > li:not(.mobile-cta) > a,
  html[lang="es"] .nav-links > li:not(.mobile-cta) > a{
    font-size:.9rem;
    white-space:nowrap;
  }

  html[lang="fr"] .nav-actions,
  html[lang="es"] .nav-actions{gap:8px}

  html[lang="fr"] .nav-actions .btn,
  html[lang="es"] .nav-actions .btn{
    padding:12px 18px;
    font-size:.9rem;
    white-space:nowrap;
  }

  html[lang="fr"] .navbar .language-switcher,
  html[lang="es"] .navbar .language-switcher{margin-left:0}

  html[lang="ar"] .navbar{gap:18px}
  html[lang="ar"] .nav-links{gap:24px}
  html[lang="ar"] .nav-links > li:not(.mobile-cta) > a{
    font-size:.94rem;
    white-space:nowrap;
  }
  html[lang="ar"] .nav-actions .btn{
    padding-inline:22px;
    white-space:nowrap;
  }
}

@media (min-width:993px) and (max-width:1120px){
  html[lang="fr"] .nav-links,
  html[lang="es"] .nav-links{gap:14px}
  html[lang="fr"] .nav-links > li:not(.mobile-cta) > a,
  html[lang="es"] .nav-links > li:not(.mobile-cta) > a{font-size:.84rem}
  html[lang="fr"] .nav-actions .btn,
  html[lang="es"] .nav-actions .btn{padding-inline:14px;font-size:.84rem}

  html[lang="ar"] .nav-links{gap:18px}
  html[lang="ar"] .nav-links > li:not(.mobile-cta) > a{font-size:.9rem}
  html[lang="ar"] .nav-actions .btn{padding-inline:18px}
}
