.language-switcher{
  display:flex;align-items:center;gap:.4rem;margin:0 0 0 auto;
  color:#5A6572;font:500 .6875rem/1 "IBM Plex Mono",monospace;letter-spacing:.1em;
}
.language-switcher a{color:#5A6572;text-decoration:none;padding:.45rem .2rem;border-bottom:1px solid transparent}
.language-switcher a:hover,.language-switcher a[aria-current]{color:#10233F;border-bottom-color:#3A7462}
@media (max-width:900px){.language-switcher{margin-left:auto}.header-cta + .language-switcher{display:none}}

/* Header language adjustments. Portuguese labels need more horizontal room. */
.site-header .language-switcher{flex:0 0 auto;white-space:nowrap}
.site-header .language-switcher a{color:var(--muted-on-dark,#A9B7C6)}
.site-header .language-switcher a:hover,
.site-header .language-switcher a[aria-current]{color:#fff;border-bottom-color:var(--teal-on-dark,#9BCDB8)}

html[lang^="pt"] .header-inner{gap:clamp(.65rem,1.3vw,1.35rem)}
html[lang^="pt"] .nav ul{flex-wrap:nowrap;gap:clamp(.7rem,1.2vw,1.15rem)}
html[lang^="pt"] .nav li{flex:0 0 auto}
html[lang^="pt"] .nav a{
  display:block;white-space:nowrap;font-size:clamp(.75rem,.88vw,.84rem);letter-spacing:0;
}
html[lang^="pt"] .header-cta{
  flex:0 0 auto;white-space:nowrap;padding:.68rem .9rem;font-size:.75rem;
}
html[lang^="pt"] .lang{flex:0 0 auto;white-space:nowrap}
html[lang^="pt"] .mobile-nav a{white-space:nowrap}

/* Keep the compact mobile navigation until the Portuguese labels fit safely. */
@media (min-width:1060px) and (max-width:1239px){
  html[lang^="pt"] .nav{display:none}
  html[lang^="pt"] .menu-toggle{display:block;margin-left:0}
  html[lang^="pt"] .header-cta{margin-left:0}
  html[lang^="pt"] .language-switcher{margin-left:auto}
  html[lang^="pt"] .site-header .lang{margin-left:auto}
  html[lang^="pt"] .mobile-nav.is-open{display:block!important}
}

@media (min-width:1240px){
  html[lang^="pt"] .nav{display:block}
  html[lang^="pt"] .menu-toggle{display:none}
}

@media (min-width:1440px){
  html[lang^="pt"] .nav ul{gap:1.5rem}
  html[lang^="pt"] .nav a{font-size:.9rem;letter-spacing:.01em}
  html[lang^="pt"] .header-cta{padding:.7rem 1.15rem;font-size:.8rem}
}

@media (max-width:1059px){
  .site-header .lang{display:block;margin-left:auto;white-space:nowrap}
}

@media (max-width:600px){
  html[lang^="pt"] .header-cta{display:none}
  html[lang^="pt"] .header-inner{gap:.6rem}
  html[lang^="pt"] .language-switcher{font-size:.625rem;letter-spacing:.06em}
}
