.public-language-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px;
  border: 1px solid rgba(7, 59, 53, .14);
  border-radius: 999px;
  background: #f1f5f0;
}

.public-language-pill a {
  padding: 7px 10px !important;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  color: #46615c !important;
}

.public-language-pill a.active {
  color: #fff !important;
  background: #073b35;
  box-shadow: 0 4px 12px rgba(7, 59, 53, .18);
}

.public-language-section {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 6vw, 84px);
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(76px, 9vw, 120px) clamp(24px, 6vw, 72px);
}

.language-copy h2 {
  max-width: 560px;
  margin: 17px 0 18px;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(37px, 4vw, 58px);
  font-weight: 400;
  line-height: 1.04;
  color: #073b35;
}

.language-copy p {
  max-width: 540px;
  color: #61706d;
  line-height: 1.8;
}

.public-language-options {
  display: grid;
  gap: 14px;
}

.public-language-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 110px;
  padding: 22px;
  border: 1px solid #dce5e0;
  border-radius: 22px;
  color: #073b35;
  background: #fff;
  box-shadow: 0 10px 35px rgba(7, 59, 53, .06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.public-language-card:hover {
  transform: translateY(-3px);
  border-color: #76aa9d;
  box-shadow: 0 16px 40px rgba(7, 59, 53, .11);
}

.public-language-card.active {
  border-color: #1a7468;
  background: linear-gradient(135deg, #f4fbf8, #fff);
  box-shadow: 0 15px 40px rgba(26, 116, 104, .12);
}

.language-code {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  background: #073b35;
  font-size: 18px;
  font-weight: 800;
}

.public-language-card > span:nth-child(2) {
  display: grid;
  gap: 5px;
}

.public-language-card strong { font-size: 19px; }
.public-language-card small { color: #73817e; line-height: 1.45; }
.public-language-card b { color: #1a7468; font-size: 12px; white-space: nowrap; }

@media (max-width: 980px) {
  .public-language-section { grid-template-columns: 1fr; }
  .public-language-pill { width: max-content; margin: 4px 0; }
}

@media (max-width: 560px) {
  .public-language-card { grid-template-columns: 48px minmax(0, 1fr); padding: 18px; }
  .language-code { width: 48px; height: 48px; border-radius: 14px; }
  .public-language-card b { grid-column: 2; }
}
