/* Sole owner of the shared header, locale disclosure and compact drawer. */
.site-header { position:fixed; inset-block-start:16px; inset-inline:24px; z-index:50; border:1px solid var(--glass-edge); border-radius:16px; background:var(--glass); box-shadow:var(--glass-shadow); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:inset-block-start var(--duration),background var(--duration); }
.header-inner { display:flex; align-items:center; gap:24px; min-height:78px; padding:12px 24px; }
.header-inner .brand { flex:none; }
.header-inner .logo { width:157px; }
.navigation { display:flex; gap:24px; align-items:center; margin-inline:auto; }
.navigation a { font-size:.875rem; min-height:44px; display:flex; align-items:center; white-space:nowrap; border-block-end:2px solid transparent; color:var(--muted); }
.navigation a[aria-current],.navigation a:hover { color:var(--ink); border-color:var(--accent); }
.header-tools,.desktop-settings { display:flex; align-items:center; gap:12px; }
.header-cta { white-space:nowrap; }
.icon-button.menu-toggle { display:none; }
.site-header.is-scrolled { inset-block-start:8px; }
.site-header.is-scrolled .header-inner { min-height:66px; }
.language-picker { position:relative; min-width:0; font-family:var(--body); }
.language-picker summary { display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 8px; font-size:.875rem; list-style:none; cursor:pointer; border-radius:8px; }
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary:hover,.language-picker[open]>summary { background:var(--surface-alt); }
.language-picker .locale-chevron { inline-size:14px; block-size:14px; transition:transform var(--duration); }
.language-picker[open] .locale-chevron { transform:rotate(180deg); }
.language-options { position:absolute; inset-block-start:calc(100% + 10px); inset-inline-end:0; width:230px; max-width:calc(100vw - 48px); padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); box-shadow:var(--shadow); z-index:3; }
.language-options a { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 12px; border-radius:7px; font-size:.95rem; }
.language-options a[aria-current] { background:var(--accent-soft); font-weight:600; }
.language-options a:hover { background:var(--surface-alt); }
.locale-check { margin-inline-start:auto; visibility:hidden; color:var(--icon-accent); }
[aria-current]>.locale-check { visibility:visible; }
.language-options small { font-size:.75rem; }
.theme-control { color:var(--ink); }
.theme-sun { display:none; }
[data-theme=dark] .theme-sun { display:block; }
[data-theme=dark] .theme-moon { display:none; }
.theme-labelled { display:flex; align-items:center; gap:8px; border:0; border-radius:8px; min-height:44px; padding:10px; background:transparent; font-size:.875rem; }
.theme-labelled:hover,.theme-labelled[aria-pressed=true] { background:var(--surface-alt); }
.menu-glyph path { transform-origin:12px 12px; transition:transform 200ms var(--ease),opacity 150ms; }
.menu-upper { transform:translateY(-5px); }
.menu-lower { transform:translateY(5px); }
[aria-expanded=true] .menu-upper { transform:rotate(45deg); }
[aria-expanded=true] .menu-lower { transform:rotate(-45deg); }
[aria-expanded=true] .menu-middle { opacity:0; }
.site-drawer { position:fixed; inset-block:0; inset-inline-start:0; inset-inline-end:auto; margin:0; width:min(430px,calc(100% - 16px)); max-width:none; height:100dvh; max-height:100dvh; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:0; background:var(--surface); color:var(--ink); box-shadow:var(--shadow); }
.site-drawer[open] { display:grid; grid-template-rows:auto minmax(0,1fr); animation:drawer-in 280ms var(--ease); }
.site-drawer::backdrop { background:#07192499; backdrop-filter:blur(4px); }
[dir=ltr] .site-drawer { --slide:-100%; border-start-end-radius:20px; border-end-end-radius:20px; }
[dir=rtl] .site-drawer { --slide:100%; border-start-end-radius:20px; border-end-end-radius:20px; }
.drawer-top { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; padding-block-start:max(20px,env(safe-area-inset-top)); border-block-end:1px solid var(--line); }
.drawer-top .logo { width:145px; }
.drawer-scroll { overflow:auto; overscroll-behavior:contain; min-height:0; padding:16px 24px max(24px,env(safe-area-inset-bottom)); }
.drawer-nav { display:grid; }
.drawer-nav a { display:flex; align-items:center; min-height:48px; padding:8px 12px; border-inline-start:2px solid transparent; font-size:1.15rem; line-height:1.5; }
.drawer-nav a[aria-current] { border-color:var(--accent); background:var(--accent-soft); font-weight:500; }
.drawer-nav a:hover { background:var(--surface-alt); }
.drawer-categories { margin-block:18px; border-block:1px solid var(--line); }
.drawer-categories summary { min-height:56px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.95rem; font-weight:500; cursor:pointer; list-style:none; }
.drawer-categories summary::-webkit-details-marker { display:none; }
.drawer-categories[open] summary>.icon { transform:rotate(180deg); }
.drawer-categories>div { display:grid; gap:4px; padding-block-end:12px; }
.drawer-categories a { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 12px; min-height:44px; font-size:.9rem; color:var(--muted); }
.drawer-categories a:hover,.drawer-categories a[aria-current] { color:var(--ink); background:var(--surface-alt); }
.drawer-categories .arrow { inline-size:16px; block-size:16px; }
.drawer-settings { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; margin-block:16px 20px; }
.drawer-settings .language-options { position:static; width:100%; max-width:none; box-shadow:none; margin-block-start:8px; }
.drawer-contact { border-block-start:1px solid var(--line); padding-block-start:20px; display:grid; gap:8px; }
.drawer-contact .button { margin-block-end:8px; }
.drawer-contact>a:not(.button) { min-height:44px; display:flex; align-items:center; gap:12px; font-size:.9rem; }
.drawer-contact>a:not(.button)>.icon { color:var(--icon-accent); }
.site-drawer.is-closing { animation:drawer-out 240ms var(--ease) forwards; }
@keyframes drawer-in { from {transform:translateX(var(--slide));opacity:.7} to {transform:none;opacity:1} }
@keyframes drawer-out { to {transform:translateX(var(--slide));opacity:0} }
@supports not (backdrop-filter:blur(2px)) { .site-header {background:var(--surface)} }
@media(max-width:1199px) {
  .navigation,.desktop-settings,.header-cta { display:none; }
  .icon-button.menu-toggle { display:flex; border-radius:9px; }
  .header-tools { margin-inline-start:auto; }
  .header-inner { min-height:70px; padding:12px 20px; }
}
@media(max-width:767px) {
  .site-header { inset-inline:12px; inset-block-start:12px; border-radius:14px; }
  .header-inner { min-height:64px; padding:10px 16px; }
  .header-inner .logo { width:145px; }
  .drawer-top { padding:16px 20px; }
  .drawer-scroll { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.menu-glyph path,.locale-chevron {transition:none}
  .site-drawer[open],.site-drawer.is-closing {animation:none}
}
