.page-burger{display:none;align-items:center;gap:12px;padding:10px;border:0;background:none;color:#fff;cursor:pointer}
.page-burger-lines{display:grid;gap:6px}.page-burger-lines i{display:block;width:27px;height:1px;background:#fff}.page-burger b{font:600 9px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.page-menu-panel{position:fixed;z-index:62;top:0;right:0;width:min(520px,100%);height:100%;padding:30px 45px 45px;background:#0c0d0e;transform:translateX(105%);transition:transform .5s cubic-bezier(.77,0,.18,1)}.page-menu-panel.open{transform:none}
.page-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);color:#918b82;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.page-menu-close{border:0;background:none;color:#fff;font:300 40px/1 var(--sans);cursor:pointer}
.page-menu-panel nav{display:grid;margin-top:38px}.page-menu-panel nav a{display:flex;align-items:center;gap:20px;padding:13px 0;font:500 clamp(32px,5vw,54px)/1 var(--serif);transition:.25s}.page-menu-panel nav a:hover{padding-left:9px;color:var(--copper2)}.page-menu-panel nav small{color:var(--copper);font:600 8px var(--sans);letter-spacing:.14em}
.page-menu-scrim{position:fixed;z-index:61;inset:0;background:rgba(0,0,0,.72);opacity:0;visibility:hidden;transition:.35s}.page-menu-scrim.open{opacity:1;visibility:visible}.page-menu-open{overflow:hidden}
@media(max-width:900px){.page-nav{display:none!important}.page-burger{display:flex}}
@media(max-width:620px){.page-menu-panel{padding:26px 24px 40px}.page-menu-panel nav a{font-size:39px}}

/* Savoie flag on every internal hero image */
.page-hero::before{content:"";position:absolute;z-index:3;right:5vw;top:112px;width:40px;height:40px;border:1px solid rgba(255,255,255,.72);border-radius:4px;background:linear-gradient(90deg,transparent 39%,#fff 39% 61%,transparent 61%),linear-gradient(0deg,transparent 39%,#fff 39% 61%,transparent 61%),#d51f2a;box-shadow:0 12px 35px rgba(0,0,0,.35)}
@media(max-width:620px){.page-hero::before{right:20px;top:92px;width:32px;height:32px}}
.page-hero::before{display:none}

/* Unified editorial navigation */
.page-menu-panel{display:flex;flex-direction:column;width:min(420px,calc(100vw - 38px));overflow-y:auto;overscroll-behavior:contain}
.page-menu-panel nav{margin:8px 0 22px}
.page-menu-panel nav a{min-height:58px;gap:12px;padding:10px 0;border-bottom:1px solid rgba(201,138,75,.42);font-size:clamp(30px,3.2vw,43px);line-height:1.1}
.page-menu-panel nav a:first-child{border-top:0}
.page-menu-panel nav a:hover,.page-menu-panel nav a:focus-visible{padding-left:12px;color:var(--copper2)}
.page-menu-panel nav a:focus-visible,.page-menu-close:focus-visible{outline:2px solid var(--copper2);outline-offset:3px}
.page-menu-panel .menu-services{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.page-menu-panel .menu-services span{padding:8px 12px;border:1px solid rgba(201,138,75,.35);border-radius:999px;color:#c9c1b6;font:500 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:620px){.page-menu-panel{padding:24px 22px 32px}.page-menu-panel nav{margin:8px 0 18px}.page-menu-panel nav a{min-height:52px;font-size:clamp(25px,7vw,34px)}.page-menu-panel .menu-services span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.page-menu-panel,.page-menu-scrim,.page-menu-panel nav a{transition:none}}
