/* Shared navigation overrides page-specific layout styles. */
.site-header-shell { background:var(--paper); }
.site-header { position:relative; z-index:30; height:88px; min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0; flex-wrap:nowrap; border-bottom:1px solid var(--line); }
.site-header-shell .site-header { width:min(calc(100% - 64px),1400px); }
.site-header .brand { display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; font-size:23px; font-weight:600; letter-spacing:-.02em; flex:none; }
.site-header .brand-mark { width:40px; height:40px; flex:none; }
.site-header .nav { display:flex; align-items:center; flex-wrap:nowrap; gap:22px; width:auto; }
html[lang=fr] .site-header .nav { gap:18px; }
.site-header .nav a:not(.button),.site-header summary { color:var(--muted); font:400 14px/1.5 "IBM Plex Sans","Helvetica Neue",Arial,sans-serif; text-decoration:none; }
.site-header .nav a:hover,.site-header summary:hover { color:var(--ink); }
.site-header .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:1px solid transparent; border-radius:4px; background:var(--accent); color:var(--paper); text-decoration:none; font:600 15px/1.5 "IBM Plex Sans","Helvetica Neue",Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.site-header .button:hover { background:var(--ink); color:var(--paper); }
.site-header .menu-button { display:none; border:1px solid var(--line); color:var(--ink); background:transparent; border-radius:4px; width:44px; height:44px; cursor:pointer; }
.site-header .nav-dropdown { position:relative; }
.site-header summary { list-style:none; display:flex; align-items:center; gap:9px; min-height:44px; cursor:pointer; white-space:nowrap; }
.site-header summary::-webkit-details-marker { display:none; }
.nav-chevron { width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin:-3px 2px 0 0; }
.site-header details[open] .nav-chevron { transform:rotate(225deg); margin-top:3px; }
.language-flag { display:block; width:25px; height:17px; flex:none; border-radius:2px; box-shadow:0 0 0 1px #17252e20; }
.site-header .nav-dropdown-panel { position:absolute; top:calc(100% + 10px); right:0; min-width:245px; padding:8px; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 32px #17252e14; border-radius:4px; }
.site-header .nav-dropdown-panel a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 12px; }
.site-header .nav-dropdown-panel a:hover,.site-header .nav-dropdown-panel a[aria-current=page] { background:#e8eef0; color:var(--ink); }
.site-header .language-dropdown .nav-dropdown-panel { min-width:165px; }
.site-header .language-dropdown .nav-dropdown-panel a { justify-content:flex-start; gap:12px; }
@media(max-width:1180px) {
 .site-header,.site-header-shell .site-header { height:72px; min-height:72px; padding:0; }
 .site-header .menu-button { display:block; }
 .site-header .nav,html[lang=fr] .site-header .nav { display:none; position:absolute; top:72px; left:0; right:0; width:auto; max-height:calc(100dvh - 90px); overflow-y:auto; padding:18px; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 24px #17252e12; flex-direction:column; align-items:stretch; gap:4px; }
 .site-header .nav.open,html[lang=fr] .site-header .nav.open { display:flex; }
 .site-header .nav > a:not(.button),.site-header summary { padding:10px 4px; font-size:16px; }
 .site-header .nav-dropdown-panel { position:static; box-shadow:none; border:0; border-left:1px solid var(--line); padding:0 0 0 10px; margin:0 0 10px 4px; min-width:0; }
 .site-header .nav-dropdown-panel a { padding:12px; }
 .site-header .button { margin-top:10px; }
}
@media(max-width:760px) { .site-header-shell .site-header { width:calc(100% - 36px); } }
