/* Shared studio navigation. Scoped so legacy policy layouts keep their styling. */
@font-face { font-family: 'Space Grotesk'; src: url('assets/fonts/space-grotesk-regular.ttf') format('truetype'); font-weight: 400 500; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('assets/fonts/space-grotesk-bold.ttf') format('truetype'); font-weight: 600 800; font-display: swap; }
.site-header { --paper: #f2f2ed; --ink: #242720; --muted: #63665c; --line: #c7c9bf; --red: #be3926; position: sticky; top: 0; z-index: 30; background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; font-family: 'Space Grotesk', 'PingFang SC', 'Microsoft YaHei', sans-serif; line-height: 1.65; }
.site-header *, .site-header *::before, .site-header *::after { box-sizing: border-box; }
.site-header a { color: inherit; text-decoration: none; }
.site-header .header-inner { width: min(1536px, calc(100% - clamp(24px, 4.4vw, 72px) * 2)); margin-inline: auto; display: flex; align-items: center; justify-content: flex-start; gap: 30px; min-height: 88px; padding-block: 0; }
.site-header .wordmark { display: inline-flex; align-items: center; gap: 0; flex-shrink: 0; min-height: 44px; font-size: 29px; font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.site-header .brand-mark { display: block; flex: 0 0 29px; margin-right: 11px; width: 29px; height: 29px; }
.site-header .brand-period { color: var(--red); }
.site-header .header-caption { font-size: 12px; color: var(--muted); padding-left: 26px; border-left: 1px solid var(--line); white-space: nowrap; }
.site-header .site-nav { position: static; display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 24px; margin: 0 0 0 auto; padding: 0; width: auto; max-height: none; overflow: visible; border: 0; background: transparent; }
.site-header .nav-link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; justify-content: center; padding: 0; font-size: 14px; position: relative; white-space: nowrap; }
.site-header .nav-link::after { content: ''; display: block; position: absolute; bottom: 3px; left: 0; right: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.site-header .nav-link:hover::after, .site-header .nav-link.is-active::after { transform: scaleX(1); }
.site-header .language-toggle { display: inline-flex; gap: 14px; align-items: center; justify-content: center; min-width: 60px; min-height: 44px; margin: 0; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 0 0 0 22px; background: transparent; font-size: 14px; white-space: nowrap; }
.site-header .language-toggle::before { content: none; }
.site-header a:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
.privacy-language { padding-top: 20px; }
.privacy-language .language-menu { width: max-content; max-width: 100%; }
.privacy-language .language-options { right: auto; left: 0; }
@media (max-width: 1150px) {
  .site-header .header-caption { display: none; }
  .site-header .site-nav { gap: 20px; }
}
@media (max-width: 860px) {
  .site-header .header-inner { min-height: 74px; flex-wrap: wrap; gap: 0; padding-top: 12px; }
  .site-header .wordmark { font-size: 26px; }
  .site-header .site-nav { display: flex; width: 100%; margin: 10px 0 0; padding: 8px 0 12px; border-top: 1px solid var(--line); gap: 0 20px; }
  .site-header .language-toggle { padding-left: 16px; }
}
@media print { .site-header { position: static; } .site-header .language-toggle { display: none; } }
