/* Shared navigation for ARTCH's public pages. */
html { scrollbar-gutter: stable; }
body .site-header {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px; min-height:92px; height:auto;
  padding:16px 5%; background:#090909; border-bottom:1px solid #d3bf871c;
}
body .site-header > :is(.logo,.brand) {
  flex:0 0 130px; width:130px; margin:0;
}
body .site-header > :is(.logo,.brand) img { width:100%; height:auto; }
body .site-header > .site-nav-primary {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  flex:1 1 100%; order:4; width:auto; max-width:none; overflow:visible;
  gap:14px 28px; margin:0; padding:0; font-size:.875rem; line-height:1.5;
}
body .site-header > .site-nav-primary a {
  display:block; padding:10px 0; color:#dedbd4; white-space:nowrap;
  text-decoration:none; border-bottom:0;
}
body .site-header > .site-nav-primary a:is(:hover,[aria-current="page"]) { color:#e3cb92; }
body .site-header > :is(.book,.header-cta) {
  order:2; flex-shrink:0; margin:0; font-size:.875rem; line-height:1.4;
  min-height:46px; padding:12px 18px; gap:20px;
}
body .site-menu-toggle { display:none; }
body .site-header.site-header--ready { flex-wrap:nowrap; }
body .site-header--ready > .site-nav-primary {
  flex:1 1 auto; order:1; flex-wrap:nowrap;
}
body .site-header--ready > .site-nav-primary > [data-nav-secondary] { display:none; }
body .site-header--ready > .site-menu-toggle,
body .site-menu-close {
  display:inline-flex; align-items:center; justify-content:center; gap:13px;
  min-height:46px; padding:10px 0 10px 10px; border:0; border-radius:0;
  background:transparent; color:#e9e4da; box-shadow:none; cursor:pointer;
  font-family:'Montserrat',Arial,sans-serif; font-size:.875rem; line-height:1.5;
}
body .site-menu-toggle { order:3; flex-shrink:0; }
.site-menu-toggle svg,.site-menu-close svg { width:24px; height:24px; color:#d3bf87; }
.site-menu-toggle:hover,.site-menu-close:hover { color:#e3cb92; }
.site-menu {
  box-sizing:border-box; position:fixed; inset:0 0 0 auto;
  width:min(480px,100%); max-width:100%; height:100vh; height:100dvh;
  max-height:none; margin:0; padding:0; overflow-y:auto; overscroll-behavior:contain;
  border:0; border-left:1px solid #d3bf8738; border-radius:0;
  background:linear-gradient(145deg,#191713 0%,#101010 42%,#090909 100%);
  color:#f3f0e9; box-shadow:-24px 0 90px #0007;
  font-family:'Montserrat',Arial,sans-serif;
}
.site-menu:not([open]) { display:none; }
.site-menu[open] { animation:artch-menu-in .38s cubic-bezier(.22,.7,.25,1) both; }
.site-menu::backdrop { background:#0009; backdrop-filter:blur(4px); animation:artch-menu-shade .3s ease both; }
.site-menu.is-closing { animation:artch-menu-out .23s ease-in both; }
.site-menu.is-closing::backdrop { animation:artch-menu-shade-out .23s ease-in both; }
.site-menu-inner { min-height:100%; display:flex; flex-direction:column; padding:25px 38px max(30px,env(safe-area-inset-bottom)); }
.site-menu-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.site-menu-top h2 { margin:0; font:400 .875rem/1.5 'Montserrat',Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#d3bf87; }
.site-menu nav { display:grid; gap:0; }
.site-menu nav a { display:block; color:#eee9df; text-decoration:none; transition:color .2s ease; }
.site-menu .site-menu-main { padding-bottom:22px; border-bottom:1px solid #d3bf872c; margin-bottom:15px; }
.site-menu-main a { font:400 clamp(25px,6.8vw,34px)/1.35 'Cinzel',Georgia,serif; padding:10px 0; }
.site-menu .site-menu-other { grid-template-columns:1fr; margin-bottom:26px; }
.site-menu-other a { min-height:44px; padding:9px 0; font-size:.875rem; line-height:1.6; }
.site-menu nav a:is(:hover,[aria-current="page"]) { color:#e3cb92; }
.site-menu nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; text-decoration-color:#d3bf8766; }
.site-menu a:focus-visible,.site-menu button:focus-visible,.site-menu-toggle:focus-visible { outline:2px solid #e3cb92; outline-offset:5px; }
.site-menu-footer { margin-top:auto; padding-top:12px; }
body .site-menu-footer .book { display:flex; width:100%; min-height:50px; align-items:center; justify-content:space-between; padding:15px 20px; font-size:.875rem; line-height:1.4; text-decoration:none; }
.site-menu-home { display:inline-block; margin-top:18px; padding:8px 0; font-size:.875rem; color:#b6b2aa; text-decoration:none; }
.site-menu-open { overflow:hidden; }
.site-menu-open body { position:fixed; width:100%; overflow:hidden; }
@keyframes artch-menu-in { from { transform:translateX(100%); opacity:.7; } to { transform:translateX(0); opacity:1; } }
@keyframes artch-menu-out { to { transform:translateX(100%); opacity:.7; } }
@keyframes artch-menu-shade { from { opacity:0; } to { opacity:1; } }
@keyframes artch-menu-shade-out { to { opacity:0; } }
@media(max-width:1050px) {
  body .site-header--ready > .site-nav-primary { display:none; }
  body .site-header > :is(.book,.header-cta) { margin-left:auto; }
  body .site-header--ready > .site-menu-toggle { margin-left:auto; }
  body .site-header > :is(.book,.header-cta) + .site-menu-toggle { margin-left:0; }
}
@media(max-width:760px) {
  body .site-header { min-height:78px; padding:12px 6%; gap:18px; }
  body .site-header > :is(.logo,.brand) { flex-basis:110px; width:110px; }
  body .site-header > :is(.book,.header-cta) { display:none; }
  body .site-header--ready > .site-menu-toggle { margin-left:auto; }
  .site-menu-inner { padding:17px 26px max(25px,env(safe-area-inset-bottom)); }
  .site-menu-top { margin-bottom:21px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-menu[open],.site-menu::backdrop,.site-menu.is-closing,.site-menu.is-closing::backdrop { animation:none; }
  .site-menu nav a { transition:none; }
}

body .site-header>.customer-login{order:2;flex-shrink:0;color:#e9e4da;font:500 .85rem/1.5 'Montserrat',Arial,sans-serif;text-decoration:none;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #c3aa77;padding:8px 0}body .site-header>.customer-login:focus-visible{outline:2px solid #e3cb92;outline-offset:4px}@media(max-width:760px){body .site-header{gap:14px}body .site-header>.customer-login{margin-left:auto}body .site-header--ready>.site-menu-toggle{margin-left:0}}@media(min-width:1001px) and (max-width:1200px){body .site-header>.site-nav-primary{gap:15px}body .site-header{gap:18px}}
