/* A top-edge disclosure on the left. The original 76px navbar stays put. */
.navigation { display:block; height:76px; padding:0; }
.navigation-bar { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; height:76px; padding:18px 4.444444vw; pointer-events:none; }
.navigation-bar>* { pointer-events:auto; }
.site-menu-trigger { border:0; padding:0; background:none; flex-shrink:0; transition:filter .2s; }
.site-menu-trigger:hover { filter:brightness(1.06); }
.site-menu { position:fixed; z-index:1; top:0; left:0; width:min(440px,100vw); height:100dvh; overflow:hidden; border:0; border-radius:0; background:var(--paper); color:var(--ink); box-shadow:16px 0 48px -24px #3e272326; }
.site-menu[hidden] { display:none; }
.site-menu:is([data-state="opening"],[data-state="closing"]) { will-change:height; }
.site-menu-sheet { position:absolute; inset:84px 0 0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:16px 24px 28px clamp(24px,4.444444vw,84px); }
.site-menu-close { position:absolute; top:18px; right:16px; display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; padding:0; background:transparent; color:var(--gold); transition:background .2s,transform .3s; }
.site-menu-close:hover { background:var(--cream); transform:rotate(8deg); }
.site-menu-close svg { display:block; pointer-events:none; }
.site-menu-list { display:flex; flex-direction:column; gap:4px; padding:0; margin:0; list-style:none; }
.site-menu-list>li:nth-child(4) { margin-top:28px; }
.site-menu-link { display:flex; align-items:center; width:100%; min-height:60px; padding:12px 0; border:0; background:transparent; text-decoration:none; transition:color .22s; }
.site-menu-name { display:inline-block; font-size:24px; font-weight:400; line-height:1.25; letter-spacing:.2px; transition:transform .6s cubic-bezier(.215,.61,.355,1); }
.site-menu-link[aria-current] { color:var(--gold); }
a.site-menu-link:is(:hover,:focus-visible) { color:var(--gold); text-decoration:none; }
a.site-menu-link:is(:hover,:focus-visible) .site-menu-name { transform:translateX(20px); }
.site-menu-link[aria-disabled="true"] { color:#9c918b; cursor:default; }
.site-menu-soon { font-size:14px; white-space:nowrap; }
@media(max-width:700px) {
 .navigation-bar { padding:16px; gap:12px; }
 .site-menu-sheet { top:132px; padding:8px 16px 20px; }
 .site-menu-link { min-height:56px; }
 .site-menu-name { font-size:20px; }
 .site-menu-close { top:84px; right:12px; }
}
@media(max-width:359px) { .navigation-bar { padding-inline:12px; gap:8px; } .site-menu-sheet { padding-inline:12px; } .site-menu-soon { font-size:12px; } }
/* Shared authored offsets; all original anchors and hover behavior are retained. */
.site-menu-list.menu-positioned { position:relative; display:block; transform-origin:0 0; }
.menu-positioned>li { position:absolute; top:0; left:0; width:100%; margin:0!important; transform-origin:0 50%; }
.menu-positioned .site-menu-name { font-size:var(--menu-font,24px); }
.menu-positioned .site-menu-link { min-height:48px; padding:10px 0; }
.menu-positioned .menu-custom-text { padding:11px 0; }
.menu-custom-text { white-space:pre-wrap; overflow-wrap:anywhere; font-weight:400; line-height:1.25; padding:12px 0; color:var(--ink); }
@media(max-width:700px) { .menu-positioned .site-menu-name { font-size:min(var(--menu-font,24px),20px); } }
.menu-editing .site-menu * { transition:none!important; }
.menu-editing .site-menu { pointer-events:auto!important; }
.menu-editing .editor-selected,.menu-editing .editor-draggable { outline:none!important; }
.menu-editing .editor-rotate-handle,.menu-editing .editor-group-grip { display:none!important; }
.menu-editing .site-menu-link:is(:hover,:focus-visible) .site-menu-name { transform:none; }
.menu-editing .site-menu-link:hover { color:inherit; }
.menu-editing .site-menu-close,.menu-editing .navigation-bar { pointer-events:none; }
.menu-editing .navigation-bar>* { pointer-events:none; }
.menu-editing .site-menu-list>li { cursor:move!important; touch-action:none; user-select:none; }
.menu-editing .site-menu-list>li * { cursor:move!important; }
/* Keep the social icon directly below Contact without moving saved menu items. */
.menu-positioned .site-menu-social { display:flex; align-items:center; width:44px; height:44px; margin-top:12px; padding:0; text-decoration:none; }
.site-menu-social .site-menu-name,.site-menu-social img { display:block; }
.site-menu-social:is(:hover,:focus-visible) .site-menu-name { transform:translateX(20px); }
.site-menu-social:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:6px; }
