/* Equal outer columns keep the original logo exactly on the viewport centre. */
.header{position:sticky;top:0;z-index:20;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);column-gap:24px;align-items:center;width:100%;max-width:none;height:96px;margin:0;padding:8px max(28px,calc((100% - 1384px)/2));border:0;border-radius:0;background:transparent;backdrop-filter:none;color:#25296b;direction:ltr;color-scheme:light}
.header::before{content:'';position:absolute;inset:0;z-index:-1;border:1px solid #25296b0b;border-radius:inherit;background:#efeff1;box-shadow:0 6px 24px #11193609;opacity:1;transition:opacity 300ms ease;pointer-events:none}
.header[data-scrolled=true]::before{opacity:0}
.header:focus-within::before,.header.menu-open::before{opacity:1}
.header-panel{display:contents}
.header-panel[hidden]{display:none}
.header nav{grid-column:1;grid-row:1;display:flex;justify-content:flex-start;align-items:center;gap:clamp(18px,2vw,30px);margin:0;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap}
.header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#25296b;transition:color 300ms ease}
.header .brand{grid-column:2;grid-row:1;display:grid;place-items:center;width:112px;height:80px;justify-self:center;margin:0}
.header .brand-mark{position:relative;display:block;width:82px;height:75.004px;overflow:hidden;background:none;transform:scale(1);transform-origin:center;transition:transform 300ms ease}
/* PNG alpha bounds: (1068,377)-(2662,1835) inside 3840×2160. */
.header .brand-mark img{position:absolute;width:240.9034%;max-width:none;height:auto;left:-67.0013%;top:-25.8573%;transform:none}
.header[data-scrolled=true] .brand-mark{transform:scale(.75)}
.header:focus-within .brand-mark,.header.menu-open .brand-mark{transform:scale(1)}
.header-actions{grid-column:3;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:18px;min-width:0}
.header .preferences{margin:0;gap:8px;direction:ltr}
.header-menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:#d20b35;color:#fff;font-size:14px;font-weight:800;line-height:1.3;white-space:nowrap;transition:background 200ms ease}
.header-menu-cta:hover{background:#b90b30}
.mobile-menu-toggle,.mobile-preferences-slot{display:none}
html[dir=rtl] .header nav,html[dir=rtl] .header-menu-cta{direction:rtl}
html[data-theme=dark] .header[data-scrolled=true]:not(:focus-within):not(.menu-open) nav a{color:#f4f5fa;text-shadow:0 1px 7px #0b1025}
html{scroll-padding-top:112px}
@media(min-width:981px) and (max-width:1150px){.header{padding-inline:20px;column-gap:18px}.header nav{gap:18px;font-size:13px}.header-actions{gap:10px}.header-menu-cta{padding-inline:14px;font-size:13px}.header .preferences .language-switch button{width:34px}.header .preferences #theme-toggle{width:38px;height:38px}}
@media(max-width:980px){
 .header{top:0;width:100%;height:78px;margin-top:0;padding:6px 12px;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);column-gap:8px;border-radius:0}
 .header .brand{width:82px;height:66px;grid-column:2;grid-row:1}
 .header .brand-mark{width:64px;height:58.540px}
 .mobile-menu-toggle{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;justify-self:start;width:44px;height:44px;padding:10px;border:1px solid #25296b16;border-radius:12px;background:#efeff1;color:#25296b}
 .mobile-menu-toggle span{width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform 300ms ease,opacity 300ms ease}
 .mobile-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .header-actions{gap:0;grid-column:3;grid-row:1}
 .header-menu-cta{min-height:44px;padding:10px 12px;font-size:12px;border-radius:10px}
 .header-panel{display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;gap:16px;padding:20px;background:#efeff1;color:#25296b;border:1px solid #25296b12;border-radius:13px;box-shadow:0 12px 28px #11193612;max-height:calc(100svh - 132px);overflow:auto;overscroll-behavior:contain}
 .header-panel nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0;order:0;flex:auto;font-size:16px;white-space:normal}
 .header-panel nav a,.header-panel nav a[href="#saveurs"]{display:flex;min-height:48px;padding:10px 8px;font-size:16px}
 .mobile-preferences-slot{display:block;border-top:1px solid #25296b16;padding-top:16px}
 .header-panel .preferences{display:flex;justify-content:flex-start;gap:12px;margin:0}
 .header-panel .language-switch{padding:4px;gap:3px;border-radius:14px}
 .header-panel .preferences .language-switch button{width:40px;height:44px;min-height:44px;font-size:12px;border-radius:10px}
 .header-panel .preferences #theme-toggle{width:44px;height:44px}
 html[dir=rtl] .header-panel nav{direction:rtl;text-align:right}
 html[dir=rtl] .header-panel .preferences{justify-content:flex-end}
 html{scroll-padding-top:94px}
}
@media(max-width:360px){.header{padding-inline:8px;column-gap:4px}.header-menu-cta{font-size:11px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.header::before,.header .brand-mark,.header nav a,.mobile-menu-toggle span{transition:none}}
.hero .new-label{font-size:13px;padding:6px 12px;line-height:1.5}
.header .preferences #theme-toggle{background:#efeff1}
.header[data-scrolled=true]:not(:focus-within):not(.menu-open) nav a{text-shadow:0 0 5px #efeff1,0 1px 10px #efeff1}
/* Down-scroll leaves only the centered logo; keyboard focus restores controls. */
.header nav,.header-actions,.mobile-menu-toggle{transition:opacity 300ms ease}
.header[data-scrolled=true]:not(:focus-within):not(.menu-open){pointer-events:none}
.header[data-scrolled=true]:not(:focus-within):not(.menu-open) nav,.header[data-scrolled=true]:not(:focus-within):not(.menu-open) .header-actions,.header[data-scrolled=true]:not(:focus-within):not(.menu-open) .mobile-menu-toggle{opacity:0;pointer-events:none}
.header .brand{pointer-events:auto}
.header[data-scrolled=true] .brand-mark{transform:translateY(-14px) scale(.75)}
.header:focus-within .brand-mark,.header.menu-open .brand-mark{transform:scale(1)}
@media(max-width:980px){.header[data-scrolled=true] .brand-mark{transform:translateY(-11px) scale(.75)}.header:focus-within .brand-mark,.header.menu-open .brand-mark{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.header nav,.header-actions,.mobile-menu-toggle{transition:none}}
@media(max-width:980px){.header::before{display:none}}
