header{position:relative;height:auto;min-height:105px;padding-top:14px;padding-bottom:14px}
header nav{flex-wrap:wrap;gap:10px 18px}
header>.header-actions{position:relative;flex:none;margin-left:auto;align-self:center;z-index:60;color:var(--ink)}
.language-switch summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 9px;list-style:none;cursor:pointer;border:1px solid transparent;border-radius:6px;font:12px/1 Arial,sans-serif;letter-spacing:.05em;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary::marker{content:""}
.language-switch summary:hover,.language-switch[open] summary{background:#05264206;border-color:var(--line)}
.language-switch svg{display:block;flex:none}
.language-chevron{transition:transform .18s ease}
.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;top:calc(100% + 6px);right:0;min-width:158px;padding:5px;background:var(--paper,#fcfbf7);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 25px #05264214}
header .language-options a{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;width:100%;padding:9px 10px;border:0;border-radius:4px;color:var(--ink);text-decoration:none;font:14px/1.4 Arial,sans-serif;letter-spacing:0;white-space:nowrap}
header .language-options a:hover,header .language-options a[aria-current=true]{background:#05264206}
.language-flag{font-size:18px;line-height:1}.language-check{margin-left:auto;color:#6c746d}
.language-switch summary:focus-visible,.language-options a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:850px){header>.header-actions{margin-left:auto}.language-options{max-width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}

/* Keep language beside the brand, including when the navigation wraps below. */
header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:24px}
header>.brand{grid-column:1;grid-row:1;min-width:0}
header>nav{grid-column:2;grid-row:1;justify-content:flex-end;min-width:0}
header>.header-actions{grid-column:3;grid-row:1;margin-left:0;justify-self:end}
@media(max-width:1100px){header{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}header>.header-actions{grid-column:2;grid-row:1}header>nav{grid-column:1 / -1;grid-row:2;width:100%;justify-content:flex-start}header>.brand{max-width:100%}}

/* Profile and language share one compact header utility group. */
header>.header-actions{display:flex;align-items:center;gap:8px}
.header-actions>.language-switch{position:relative;z-index:60;color:var(--ink)}
header .header-profile{display:grid;place-items:center;flex:none;position:relative;width:36px;height:36px;min-height:36px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;text-decoration:none;transition:background .15s ease}
.header-profile:hover{background:#05264206}
.header-profile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){header{column-gap:10px}.header-actions{gap:4px!important}.header-actions .language-switch summary{padding:0 5px;gap:5px}}
@media(prefers-reduced-motion:reduce){.header-profile{transition:none}}
/* Error pages retain their language control without a profile menu. */
header>.language-switch{position:relative;grid-column:3;grid-row:1;justify-self:end;z-index:60}
@media(max-width:1100px){header>.language-switch{grid-column:2}}

.header-profile svg{width:18px;height:18px}
.header-profile::before{content:"";position:absolute;inset:-4px;border-radius:50%}
