/* Transparent over the homepage, white and compact as soon as the page scrolls. */
.header,.home .header{position:sticky;top:0;z-index:40;height:80px;margin:0;background:#fff;color:#090909;border:0;border-bottom:1px solid #dedede;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.home .header{position:fixed;left:0;right:0;width:100%}
.home .header:not(.scrolled):not(.menu-open){background:linear-gradient(180deg,#000a,#0008);color:#fff;border-bottom-color:#ffffff40;box-shadow:none}
.header.scrolled{box-shadow:0 2px 8px #00000008}
.header.menu-open,.home .header.menu-open{background:#fff;color:#090909}
.header-inner{position:relative;display:flex;justify-content:space-between;align-items:center;height:100%;min-height:0;gap:24px;padding:0 24px}
.header-left{display:flex;align-items:center;gap:25px;min-width:0}
.header .desktop-links{display:flex;gap:25px;font-size:14px;white-space:nowrap;line-height:1.1}
.header .desktop-links a:hover{color:#ff7900}
.header-brand{position:absolute;left:50%;top:0;z-index:2;display:flex;align-items:center;justify-content:center;width:205px;height:100%;transform:translateX(-50%)}
.header-wordmark{width:100%;height:auto;transition:opacity .18s ease,transform .2s ease}
/* Match the French sticky badge: the circle centers the O, not the apostrophe. */
.header-mark{position:absolute;top:0;left:50%;width:112px;height:112px;padding:0;background:#fff;border:1px solid #e3dcce;border-radius:50%;opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .2s ease,visibility .18s}
.header-mark::before{content:"";position:absolute;top:-1px;left:-1px;width:112px;height:80px;background:#fff}
.header-mark img{position:absolute;top:19px;left:11px;max-width:none;width:108px;height:84px}
.header.scrolled .header-wordmark{opacity:0;transform:scale(.9)}
.header.scrolled .header-mark{opacity:1;visibility:visible;transform:translate(-50%,0)}
.header .menu-toggle,.home .header .menu-toggle{display:grid;place-items:center;flex:0 0 36px;width:36px;min-width:36px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#ff7900;cursor:pointer}
.menu-bars{position:relative;display:block;width:30px;height:26px}
.menu-bars>span{position:absolute;left:0;width:30px;height:4px;background:currentColor;border-radius:65% 30% 55% 35%;transition:transform .2s ease,opacity .2s ease}
.menu-bars>span:nth-child(1){top:3px;transform:rotate(-3deg)}
.menu-bars>span:nth-child(2){top:11px;transform:rotate(2deg)}
.menu-bars>span:nth-child(3){top:19px;transform:rotate(-3deg)}
.menu-toggle[aria-expanded=true] .menu-bars>span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-bars>span:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-toggle[aria-expanded=true] .menu-bars>span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}
.header .header-actions .btn{min-height:34px;padding:7px 17px;font-size:14px;line-height:1.1;white-space:nowrap}
.header .header-actions .loyalty-nav{border:1px solid #090909;background:#fff;color:#090909;gap:8px}
.header .locale,.home .header:not(.scrolled) .locale{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 12px;border:1px solid #090909;border-radius:999px;background:#fff;color:#090909;font-size:11px;font-weight:800;white-space:nowrap}
.loyalty-token{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #bf4500;border-radius:50%;background:#ff7900;color:#fff;font-size:10px;line-height:1}
.header .nav{top:100%;background:#fff;color:#090909;border-bottom:1px solid #ddd;padding:40px max(28px,6vw);gap:80px;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 15px #0000000d}
.header .nav-group{font-size:25px}
.header .nav a:hover{color:#ff7900}
.header a:focus-visible,.header button:focus-visible{outline:3px solid #165ab9;outline-offset:4px}
@media(max-width:1300px){.header-inner{padding-inline:20px}.header-left{gap:17px}.header .desktop-links{font-size:12px;gap:18px}.header-brand{width:180px}.header-actions{gap:8px}.header .header-actions .btn{font-size:13px;padding-inline:13px}.header .locale{font-size:10px;padding-inline:9px}}
@media(max-width:1100px){.header .desktop-links{display:none}.header-brand{width:200px}}
@media(max-width:850px){.header .locale,.home .header:not(.scrolled) .locale{display:none}}
@media(max-width:700px){.header,.home .header{height:70px}.header-inner{padding-inline:14px;gap:12px}.header-brand{width:clamp(100px,30vw,153px)}.header-mark{width:84px;height:84px}.header-mark::before{width:84px;height:70px}.header-mark img{top:14px;left:8px;width:81px;height:63px}.header .header-actions .loyalty-nav,.header .locale,.home .header:not(.scrolled) .locale{display:none}.header .header-actions .btn{min-height:36px;font-size:14px;padding:8px 15px}.header .menu-toggle{min-width:32px;width:32px;flex-basis:32px}.header .nav{padding:28px 24px;gap:26px;max-height:calc(100dvh - 70px)}.header .nav-group{font-size:21px}}
@media(max-width:380px){.header-inner{padding-inline:12px}.header-brand{width:clamp(100px,30vw,114px)}.header .header-actions .btn{font-size:12px;padding-inline:11px}.header .nav{flex-direction:column;gap:24px}}
@media(prefers-reduced-motion:reduce){.header,.header-wordmark,.header-mark,.menu-bars>span{transition:none}}
