.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .55);
}

.language-switcher a {
  min-width: 29px;
  padding: 4px 5px;
  color: #65717a;
  text-align: center;
  font-size: .58rem;
  font-weight: 800;
}

.language-switcher a:hover,
.language-switcher a.active {
  background: var(--navy);
  color: #fff;
}

html[lang="ka"] h1,
html[lang="ka"] h2,
html[lang="ka"] h3,
html[lang="ka"] blockquote {
  letter-spacing: 0 !important;
  line-height: 1.16 !important;
}

html[lang="ka"] .main-nav { gap: 18px; }
.main-nav .language-switcher { flex: 0 0 auto; }

@media (max-width: 1050px) {
  .main-nav .language-switcher {
    align-self: flex-start;
    margin: 10px 8px;
  }

  .language-switcher a {
    min-width: 48px;
    padding: 7px;
  }
}

/* Allow longer French labels to wrap without changing the existing identity. */
html[lang="fr"] h1,
html[lang="fr"] h2,
html[lang="fr"] h3,
html[lang="fr"] blockquote { line-height: 1.08; }
html[lang="fr"] .main-nav { gap: 16px; }
html[lang="fr"] .main-nav > a { white-space: nowrap; }
html[lang="fr"] .hero h1 { font-size: clamp(3rem, 4.5vw, 5.1rem); }
html[lang="fr"] .hero-architecture strong { overflow-wrap: break-word; }
html[lang="fr"] .button { white-space: normal; text-align: center; }
html[lang="fr"] .case-layout > *,
html[lang="fr"] .field-grid > *,
html[lang="fr"] .footer-grid > * { min-width: 0; }
html[lang="fr"] .form-actions { flex-wrap: wrap; }
html[lang="fr"] .upload-zone span { line-height: 1.6; }
.language-switcher a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (min-width: 1051px) and (max-width: 1280px) {
  .menu-button { display: block; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 86px; background: var(--cream); flex-direction: column; align-items: stretch; padding: 24px; }
  .main-nav.open { display: flex; }
  .main-nav > a { padding: 8px; }
  .language-switcher { align-self: flex-start; margin: 10px 8px; }
}
@media (max-width: 680px) {
  html[lang="fr"] .hero h1, html[lang="fr"] .inner-hero h1 { font-size: clamp(2.35rem, 9.5vw, 3.15rem); }
  html[lang="fr"] .form-actions .button { flex: 1 1 140px; }
}

/* Practice areas supplied for individual team profiles. */
.team-card .team-practice-heading { margin: 20px 0 10px; font-family: inherit; font-size: .875rem; font-weight: 700; line-height: 1.5; }
.team-card .team-practice-list { margin: 0; padding-left: 1.15em; color: var(--muted); font-size: .9375rem; line-height: 1.65; }
.team-card .team-practice-list li { margin: 5px 0; overflow-wrap: break-word; }
