/* Shared, always-visible navigation. A second row keeps mobile labels readable. */
:root { --site-header-height:80px; --site-gutter:clamp(22px,3vw,40px); }
.footer {
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(0,2fr);
  align-items:start;
  gap:24px 48px;
  margin-top:40px;
  padding-block:32px 12px!important;
  color:var(--ks-muted)!important;
  font-size:13px;
  line-height:1.6;
}
.footer > span { max-width:32ch; padding-block:11px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:4px 20px; min-width:0; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; min-width:0; max-width:100%; overflow-wrap:anywhere; text-decoration-thickness:1px; text-underline-offset:5px; }
.footer-links a::after { content:none; }
.footer-links a:is(:hover,:focus-visible) { text-decoration-line:underline; }
.footer-links a:focus-visible { outline:2px solid var(--visual-accent); outline-offset:4px; }
.skip-link { position:fixed; z-index:110; max-width:calc(100% - 32px); }
/* Native scripts keep their natural shaping and spacing; the Latin wordmark is unchanged. */
:is(html:lang(ar),html:lang(hi),html:lang(ja),html:lang(ko))
  :is(h1:not(.living-wordmark),h2,h3,.eyebrow,.pc-section-kicker) { letter-spacing:normal!important; }
html { scroll-padding-top:calc(var(--site-header-height) + 18px); }
html[dir] .main {
  margin:0!important;
  padding:0 var(--site-gutter) 52px!important;
  transition:none;
  min-width:0;
}
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:var(--ks-bg);
  border-bottom:1px solid var(--ks-line);
  box-shadow:0 5px 22px rgba(6,24,48,.055);
  padding-inline:var(--site-gutter);
}
.header-inner {
  max-width:1320px;
  margin-inline:auto;
  min-height:80px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
}
.site-header .brand-mini {
  min-width:0;
  min-height:44px!important;
  padding:0!important;
  gap:12px!important;
  direction:ltr;
  unicode-bidi:isolate;
}
.site-header .brand-mini img {
  width:56px!important;
  height:56px!important;
  flex:0 0 56px;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.site-header .brand-mini strong {
  display:flex;
  gap:.24em;
  min-width:0;
  font-family:"Segoe UI Variable Display",Inter,"Segoe UI",system-ui,sans-serif;
  font-size:22px!important;
  font-weight:750!important;
  letter-spacing:-.045em!important;
  line-height:1.05;
  color:var(--ks-text);
  background:none;
  -webkit-text-fill-color:currentColor;
  animation:none;
}
.site-header .brand-mini strong span:last-child {
  font-weight:550;
  color:var(--visual-accent);
}
.site-nav { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:5px; min-width:0; padding-block:10px; }
.site-nav a {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:10px 10px;
  border:1px solid transparent;
  border-radius:12px;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.012em;
  line-height:1.3;
  text-align:center;
  color:var(--ks-muted);
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.site-nav a:hover { color:var(--ks-text); background:var(--ks-surface); }
.site-nav a.active {
  color:var(--ks-text);
  background:var(--visual-tint);
  border-color:var(--visual-border);
}
.site-nav a.active::after {
  content:"";
  position:absolute;
  inset-inline:calc(50% - 9px);
  bottom:3px;
  height:2px;
  border-radius:2px;
  background:var(--visual-accent);
}
.site-nav .ico { display:grid; place-items:center; flex:0 0 21px; width:21px; color:var(--visual-accent); }
.site-nav .ui-icon { width:21px; height:21px; }
.header-controls { display:flex; gap:8px; align-items:center; }
.site-header .control { min-height:44px; }
.site-header .theme-control { width:44px; }
.site-header .lang-menu { inset-inline-start:auto; inset-inline-end:0; max-height:min(520px,calc(100dvh - var(--site-header-height) - 16px)); overflow-y:auto; }
.site-header .lang-button { max-width:170px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-header a:focus-visible, .site-header button:focus-visible { outline:2px solid var(--visual-accent); outline-offset:3px; }
:target { scroll-margin-top:18px; }
@media(max-width:1100px) {
  :root { --site-header-height:124px; }
  .header-inner { grid-template-columns:minmax(0,1fr) auto; gap:0 18px; padding-top:10px; }
  .site-header .brand-mini img { width:50px!important; height:50px!important; flex-basis:50px; }
  .site-header .brand-mini strong { font-size:21px!important; }
  .site-nav { grid-column:1/-1; grid-row:2; justify-content:flex-start; padding-block:8px 10px; }
  .header-controls { grid-column:2; grid-row:1; }
}
@media(max-width:900px) {
  .footer { grid-template-columns:minmax(0,1fr); gap:8px; }
  .footer > span { max-width:none; padding-block:0; }
  .footer-links { justify-content:flex-start; }
}
@media(max-width:620px) {
  :root { --site-gutter:16px; }
  html[dir] .main { padding-bottom:34px!important; }
  .header-inner { gap:0 8px; padding-top:8px; }
  .site-header .brand-mini { gap:9px!important; }
  .site-header .brand-mini img { width:40px!important; height:40px!important; flex-basis:40px; }
  .site-header .brand-mini strong { flex-direction:column; gap:0; font-size:18px!important; }
  .site-header .lang-button { max-width:120px; padding-inline:9px!important; font-size:12px; }
  .site-nav { display:flex; justify-content:space-between; gap:4px; width:100%; padding-block:6px 8px; }
  .site-nav a { flex:1 1 auto; min-width:44px; min-height:52px; padding:3px 2px; gap:4px; flex-direction:column; font-size:12.5px; border-radius:10px; }
  .site-nav .label { max-width:100%; overflow-wrap:anywhere; line-height:1.25; }
  .site-nav .ico { width:20px; flex-basis:20px; }
  .site-nav .ui-icon { width:20px; height:20px; }
  .site-nav a.active::after { bottom:2px; }
  .footer { margin-top:30px; padding-top:26px!important; }
  .footer-links { column-gap:18px; }
}
@media(max-width:360px) {
  .site-nav { gap:1px; flex-wrap:nowrap; }
  .site-nav a { min-width:0; padding:2px 0; gap:2px; font-size:10.5px; }
  .site-nav .label { line-height:1.1; overflow-wrap:normal; white-space:nowrap; }
  .site-nav .ico { width:18px; flex-basis:18px; }
  .site-nav .ui-icon { width:18px; height:18px; }
  .site-header .brand-mini img { width:36px!important; height:36px!important; flex-basis:36px; }
  .site-header .brand-mini strong { font-size:17px!important; }
  .site-header .lang-button { max-width:105px; }
  .header-controls { gap:5px; }
}
@media(min-width:1101px) and (max-width:1250px) {
  .header-inner { gap:16px; }
  .site-nav { gap:3px; }
  .site-nav a { padding-inline:8px; gap:6px; }
}
@media(forced-colors:active) {
  .site-header { border-bottom:1px solid CanvasText; }
  .site-nav a.active { border-color:Highlight; }
  .site-header .brand-mini strong, .site-header .brand-mini strong span { color:CanvasText; -webkit-text-fill-color:CanvasText!important; }
}
