.locale-switcher {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  color: var(--text);
  font: 600 .84rem "Inter", sans-serif;
  cursor: pointer;
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}
.locale-switcher:hover { transform: translateY(-1px); border-color: rgba(167,139,250,.5); background: rgba(167,139,250,.1); }
.locale-switcher svg { width: 17px; height: 17px; fill: none; stroke: var(--accent); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.language-dialog {
  width: min(560px, calc(100% - 32px));
  max-height: min(760px, calc(100% - 32px));
  padding: 0;
  overflow: auto;
  color: var(--text);
  background: transparent;
  border: 0;
  border-radius: 28px;
  box-shadow: 0 38px 120px rgba(0,0,0,.68), 0 0 80px rgba(167,139,250,.12);
  animation: language-dialog-enter 420ms cubic-bezier(.2,.8,.2,1) both;
}
.language-dialog::backdrop { background: rgba(5,5,8,.78); backdrop-filter: blur(14px); animation: language-backdrop-enter 300ms ease both; }
.language-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(24px, 6vw, 42px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: inherit;
  background: radial-gradient(ellipse at 90% 0%, rgba(167,139,250,.17), transparent 43%), linear-gradient(145deg, #17171d, #0b0b0e 72%);
}
.language-panel::before {
  position: absolute;
  z-index: -1;
  top: -130px;
  right: -125px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(167,139,250,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 26px rgba(167,139,250,.025), 0 0 0 54px rgba(167,139,250,.02);
  content: "";
}
.language-dialog-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 38px; }
.language-wordmark { color: var(--muted-strong); font-size: .72rem; font-weight: 800; letter-spacing: .2em; }
.language-close {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  color: var(--muted-strong);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.language-close:hover { transform: rotate(90deg); border-color: rgba(167,139,250,.45); color: var(--text); }
.language-dialog .eyebrow { margin-bottom: 12px; font-size: .68rem; }
.language-dialog h2 { max-width: 100%; margin: 0 0 10px; font-size: clamp(1.8rem, 5vw, 2.5rem); letter-spacing: -.055em; }
.language-dialog > .language-panel > p:not(.eyebrow) { max-width: 390px; margin: 0; color: var(--muted); font-size: .95rem; }
.language-options { display: grid; gap: 10px; margin-top: 28px; }
.language-option {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 30px;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 74px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 17px;
  background: rgba(255,255,255,.027);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}
.language-option:hover:not(:disabled) { transform: translateX(3px); border-color: rgba(167,139,250,.42); background: rgba(167,139,250,.08); }
.language-option.is-current { border-color: rgba(167,139,250,.36); background: linear-gradient(100deg, rgba(167,139,250,.12), rgba(167,139,250,.035)); }
.language-option:disabled { opacity: .42; cursor: not-allowed; }
.language-code { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(167,139,250,.24); border-radius: 13px; background: rgba(167,139,250,.09); color: #c8b9ff; font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.language-option-copy { display: grid; gap: 3px; }
.language-option-copy strong { font-size: .98rem; }
.language-option-copy small { color: var(--muted); font-size: .78rem; }
.language-option-arrow { color: var(--muted); font-size: 1rem; text-align: right; }
.language-option.is-current .language-option-arrow { color: var(--accent); }
.language-availability { margin: 15px 0 0 !important; font-size: .78rem !important; }
.language-picker-dialog[open] .language-panel { animation: language-panel-enter 460ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes language-dialog-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes language-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes language-panel-enter { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.cookie-dialog {
  max-width: 580px;
  padding: clamp(24px, 5vw, 38px);
  border: 1px solid rgba(255,255,255,.12);
  background: radial-gradient(ellipse at 90% 0%, rgba(167,139,250,.13), transparent 45%), #111115;
}
.cookie-dialog > p { margin: 16px 0; }
.cookie-dialog > a { color: var(--muted-strong); text-decoration: underline; text-underline-offset: 4px; }
.cookie-dialog .cookie-actions { margin-top: 24px; }
.footer-cookie-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.footer-cookie-button { transition: color 260ms cubic-bezier(.22,1,.36,1); }
.footer-cookie-button:hover { color: var(--text); }
.social-links a { display: flex; align-items: center; gap: 10px; }
.social-links svg { width: 20px; height: 20px; fill: currentColor; }
.contact-form { display: grid; gap: 16px; margin-top: 34px; }
.contact-form label { display: grid; gap: 7px; color: var(--muted-strong); }
.contact-form input, .contact-form textarea {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0b0b0d;
  color: var(--text);
  font: inherit;
}
.contact-form textarea { resize: vertical; }
.contact-form button { justify-self: start; }
.contact-form small { color: var(--muted); }
.contact-form [data-error="true"] { color: #ff9b9b; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 620px) {
  .locale-switcher { min-width: 0; max-width: 132px; padding: 0 11px; gap: 7px; font-size: .78rem; }
  .language-panel { padding: 23px 19px; }
  .language-dialog-top { margin-bottom: 28px; }
  .language-option { min-height: 68px; padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-dialog, .language-dialog::backdrop, .language-picker-dialog[open] .language-panel { animation: none; }
  .language-option, .language-close, .locale-switcher { transition: none; }
  .site-intro, .site-intro * { animation: none !important; }
}
