/* Public navigation, shared with the privacy page. Page styles own content. */
.site-header {
  width: min(calc(100% - 2.5rem), 70rem);
  margin: 0 auto;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-family: var(--font-body);
}
.site-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--text-1);
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--glass-border);
  border-radius: .65rem;
  background: var(--glass-fill);
  color: var(--verde);
  font: 600 1.2rem var(--font-display);
}
.site-header .language-nav {
  width: auto;
  max-width: none;
  min-height: 0;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
}
.site-header .language-nav::before { display: none; }
.language-links { display: flex; gap: .25rem; }
.site-header .language-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2.5rem;
  padding: .2rem .4rem;
  border-radius: .5rem;
  color: var(--text-2);
  text-decoration: none;
  font: .75rem var(--font-mono);
}
.site-header .language-links a[aria-current] {
  background: rgba(79,216,168,.1);
  color: var(--verde);
}
.site-header a:hover { color: var(--text-1); }
.site-header a:focus-visible { outline: 2px solid var(--azul); outline-offset: 4px; }
.footer-brand { color: var(--text-1); margin-right: auto; }
@media (max-width: 480px) {
  .site-header { width: calc(100% - 2rem); gap: .5rem; min-height: 4.25rem; }
  .site-brand { gap: .4rem; font-size: .9rem; }
  .language-links { gap: 0; }
  .site-header .language-links a { min-width: 1.75rem; padding-inline: .2rem; }
}
