:root { --site-page:#f8f7fb; --site-surface:#fff; --site-ink:#171520; --site-muted:#686472; --site-line:#e8e3ee; --site-focus:rgba(102,87,217,.28); }
.site-header,.site-header * { box-sizing:border-box; }
.site-header { width:min(100% - 2rem,72rem); min-height:5rem; margin:0 auto; padding:.65rem 0; position:relative; display:flex; align-items:center; gap:1.5rem; color:var(--site-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.site-header a { color:inherit; text-decoration:none; }
.brand { min-height:2.75rem; display:inline-flex; align-items:center; flex:0 0 auto; gap:.625rem; font-size:.875rem; font-weight:750; letter-spacing:-.015em; }
.brand__mark { width:2rem; height:2rem; display:grid; place-items:center; border-radius:.625rem; background:var(--site-ink); color:#fff; font-size:.75rem; }
.site-nav { min-width:0; max-width:100%; margin-inline-start:auto; display:flex; align-items:center; gap:clamp(.7rem,2vw,1.5rem); color:var(--site-muted); font-size:.8125rem; font-weight:650; white-space:nowrap; }
.site-nav a { min-height:2.75rem; display:inline-flex; align-items:center; border-bottom:.125rem solid transparent; transition:color .2s ease,border-color .2s ease; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--site-ink); border-bottom-color:currentColor; }
.language-menu { margin:0; position:relative; z-index:40; flex:0 0 auto; }
.language-menu summary { list-style:none; }
.language-menu summary::-webkit-details-marker { display:none; }
.language-button { min-width:8rem; min-height:2.75rem; padding:.45rem .7rem; display:flex; align-items:center; justify-content:center; gap:.5rem; border:.0625rem solid var(--site-line); border-radius:.7rem; background:rgba(255,255,255,.82); color:var(--site-ink); cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.language-button:hover,.language-menu[open] .language-button { border-color:#c8c0d0; background:#fff; box-shadow:0 .4rem 1.2rem rgba(34,27,48,.09); }
.language-button svg { width:1.1rem; height:1.1rem; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.language-button .language-chevron { width:.85rem; height:.85rem; margin-inline-start:auto; transition:transform .2s ease; }
.language-menu[open] .language-chevron { transform:rotate(180deg); }
.language-panel { width:13rem; margin:.5rem 0 0; padding:.4rem; position:absolute; top:100%; inset-inline-end:0; display:grid; gap:.15rem; border:.0625rem solid var(--site-line); border-radius:.8rem; background:var(--site-surface); box-shadow:0 1rem 2.5rem rgba(34,27,48,.14); }
.language-option { width:100%; min-height:2.75rem; padding:.5rem .7rem; display:flex; align-items:center; border-radius:.55rem; color:var(--site-muted) !important; font-size:.82rem; text-align:start; transition:background-color .2s ease,color .2s ease; }
.language-option:hover { background:#f0edf5; color:#4f43b8 !important; }
.language-option[aria-current="page"] { background:var(--site-ink); color:#fff !important; }
.site-header a:focus-visible,.language-button:focus-visible { outline:.1875rem solid var(--site-focus); outline-offset:.1875rem; border-radius:.375rem; }
.skip-link { padding:.625rem .875rem; position:fixed; top:.75rem; inset-inline-start:.75rem; z-index:100; display:block; border-radius:.5rem; background:var(--site-ink); color:#fff; text-decoration:none; transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
@media (max-width:48rem) {
	.site-header { padding:.65rem 0 .8rem; flex-wrap:wrap; gap:.25rem 1rem; }
	.site-nav { width:100%; margin:0; order:3; gap:1.25rem; overflow-x:auto; scrollbar-width:none; }
	.site-nav::-webkit-scrollbar { display:none; }
	.site-nav a { min-height:2.5rem; }
	.language-menu { margin-inline-start:auto; }
}
@media (max-width:34rem) {
	.site-nav { flex-wrap:wrap; gap:.1rem 1rem; overflow-x:visible; white-space:normal; }
	.site-nav a { min-height:2.25rem; }
}
@media (max-width:32rem) {
	.brand > span:last-child { display:none; }
	.language-button { min-width:2.75rem; }
	.language-button > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
	.language-panel { width:min(13rem,calc(100vw - 2rem)); }
}
@media (prefers-reduced-motion:reduce) { .site-header * { transition-duration:.01ms !important; } }
