/* Navigation follows the selected page theme. */
:root{--nav-surface:#f7f5f1f5;--nav-ink:#29252f;--nav-accent:#6935df;--nav-muted:#655d70;--nav-hover:#422084;--nav-backdrop:#20172926;--nav-shadow:0 8px 32px #21133212}
:root[data-theme=dark]{--nav-surface:#242428f2;--nav-ink:#f5f5f7;--nav-accent:#ba9bff;--nav-muted:#c7c2ce;--nav-hover:#fff;--nav-backdrop:#17131b50;--nav-shadow:0 8px 32px #00000026}

.gastro-page .site-header{position:fixed!important;top:16px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(480px,calc(100% - 32px));height:64px!important;min-height:0;padding:12px 20px!important;border-radius:18px;display:flex!important;flex-wrap:nowrap!important;gap:12px;background:var(--nav-surface)!important;color:var(--nav-ink)!important;box-shadow:var(--nav-shadow);backdrop-filter:blur(18px);z-index:100;border:0!important}
.gastro-page .site-header .brand{gap:7px;flex-shrink:0}
.gastro-page .site-header .brand>svg{width:26px;height:26px}
.gastro-page .site-header .brand>span:not(.brand-studio){font-size:27px}
.gastro-page .site-header .brand-studio{font-size:7px}
#a2y-menu-toggle,#a2y-menu-close{border:0;background:none;color:inherit;font:600 11px/1.2 Arial,sans-serif;white-space:nowrap;cursor:pointer;padding:10px 0;margin-left:auto}
#a2y-menu-toggle span,#a2y-menu-close span{font-size:18px;margin-left:8px}
.gastro-page .site-header .theme-control{position:static;margin:0}
#theme-toggle{width:36px;height:36px;padding:10px}
#theme-toggle::before{inset:4px}
#a2y-menu{position:fixed;inset:16px auto auto 50%;transform:translateX(-50%);margin:0;width:min(480px,calc(100% - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:0;border:0;background:none;color:var(--nav-ink);overflow:auto}
#a2y-menu::backdrop{background:var(--nav-backdrop)}
.menu-top,.menu-legal,.menu-contact,.menu-main{background:var(--nav-surface);box-shadow:var(--nav-shadow);backdrop-filter:blur(24px);border-radius:18px}
.menu-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:16px}
.menu-brand .brand{color:var(--nav-ink);display:flex;align-items:center;gap:7px}
.menu-brand .brand svg{width:26px;height:26px}
.menu-brand .brand>span:not(.brand-studio){font-size:27px}
.menu-brand .brand-studio{font-size:7px}
.menu-main{min-height:300px;height:calc(100% - 194px);margin:8px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:24px 12px}
.menu-main a{font-size:clamp(26px,4vw,40px);line-height:1.12;font-weight:750;letter-spacing:-.045em;text-decoration:none;color:var(--nav-accent);padding:3px 8px;transition:color .2s,transform .2s}
.menu-main a:hover{color:var(--nav-hover);transform:translateX(4px)}
.menu-main sup{font-size:11px;vertical-align:top;letter-spacing:0;display:inline-block;margin-top:5px}
.menu-legal,.menu-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;font-size:11px;margin-top:8px}
.menu-legal a,.menu-contact a{color:var(--nav-muted);text-decoration:none}.menu-contact span{font-size:9px;color:var(--nav-muted)}
#a2y-menu[open] .menu-main{animation:menu-reveal .55s cubic-bezier(.22,1,.36,1) both}
#a2y-menu[open] .menu-main a{animation:menu-text .5s .1s both}
@keyframes menu-reveal{from{clip-path:inset(0 0 100% 0);opacity:.4}to{clip-path:inset(0);opacity:1}}
@keyframes menu-text{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.a2y-preloader{position:fixed;inset:0;z-index:2000;background:#242428;overflow:hidden;color:#c4a5ff;transition:transform .55s cubic-bezier(.76,0,.24,1);isolation:isolate}
.a2y-preloader.leaving{transform:translateY(-100%);pointer-events:none}
.a2y-preloader video{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.32;filter:grayscale(1);transform:scale(1.15)}
.a2y-preloader::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#24242822,#24242855);z-index:-1}
.preload-content{position:relative;max-width:1200px;height:100%;margin:auto;padding:9vh 6vw;display:flex;flex-direction:column;justify-content:center}
.preload-content .brand{color:#eeeaf4;align-self:flex-start;margin-bottom:5vh;pointer-events:none}
.preload-title{font-size:clamp(45px,8.3vw,120px);line-height:.98;font-weight:800;letter-spacing:-.065em;margin:0}
.preload-title span{display:block;animation:preload-type .7s cubic-bezier(.22,1,.36,1) both}
.preload-title span:nth-child(2){animation-delay:.15s}.preload-title span:nth-child(3){animation-delay:.3s}
.preload-foot{font-size:12px;letter-spacing:.12em;margin-top:5vh}
.preload-skip{position:absolute;right:24px;bottom:24px;background:none;border:0;color:#fff;padding:12px;font:inherit;font-size:12px;cursor:pointer}
@keyframes preload-type{from{opacity:0;transform:translateY(50px);clip-path:inset(100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:400px){.gastro-page .site-header,.menu-top{padding:10px 14px!important}.gastro-page .site-header .brand-studio,.menu-brand .brand-studio{font-size:6px}.menu-contact{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#a2y-menu[open] .menu-main,#a2y-menu[open] .menu-main a{animation:none}.menu-main a{transition:none}}

.gastro-page .site-header .brand{color:inherit}
.menu-main a:focus-visible{outline:2px solid var(--nav-accent);outline-offset:3px;border-radius:6px}

/* Fixed A2Y brand color in both themes. */
:root,:root[data-theme=light],:root[data-theme=dark]{--nav-surface:#7243ff;--nav-ink:#fff;--nav-accent:#fff;--nav-muted:#fff;--nav-hover:#fff;--nav-shadow:0 8px 32px #4820a526}
/* Inverse navigation surface in each page mode. */
:root,:root[data-theme=light]{--nav-surface:#242428;--nav-ink:#f5f5f7;--nav-accent:#c4a5ff;--nav-muted:#e2dfe9;--nav-hover:#fff;--nav-shadow:0 8px 32px #24242820}
:root[data-theme=dark]{--nav-surface:#f5f5f7;--nav-ink:#242428;--nav-accent:#6935df;--nav-muted:#595462;--nav-hover:#422084;--nav-shadow:0 8px 32px #00000020}
