/* Liquid glass: shared presentation layer, with the original content and motion intact. */
:root {
  --brown-darkest: #172321;
  --brown-primary: #24322e;
  --brown-medium: #8aab9c;
  --brown-accent: #c2caba;
  --brown-light: #e0d2b7;
  --cream: #e6ebe4;
  --ivory: #faf8ef;
  --paper: #24322e;
  --ink: #faf8ef;
  --muted: #c4cfc6;
  --gold: #e0d2b7;
  --glass: linear-gradient(135deg, rgb(255 255 255 / 16%), rgb(255 255 255 / 5%) 48%, rgb(210 228 218 / 10%));
  --glass-border: rgb(255 255 255 / 24%);
  --glass-shadow: inset 0 1px 0 rgb(255 255 255 / 28%), inset 0 -1px 0 rgb(255 255 255 / 5%), 0 18px 55px rgb(5 16 13 / 18%);
  --font-ui: 'Segoe UI', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { background: #202a29; scroll-padding-top: 32px; }
body { background: #202a29; color: var(--ivory); }
main { background: transparent; }
.page-content {
  background: radial-gradient(ellipse at 0% 12%, #58736680, transparent 35%), radial-gradient(ellipse at 100% 44%, #a18c6540, transparent 34%), radial-gradient(ellipse at 12% 82%, #57786a60, transparent 36%), #202a29;
  border-radius: 44px 44px 0 0;
  margin-top: -42px;
  padding-top: 0;
  border-top: 1px solid var(--glass-border);
  box-shadow: 0 -15px 70px #09171230;
}
h2, h3 { color: var(--ivory); }
h2 em, .timeline-date { color: var(--gold); }
.section-copy > p:not(.eyebrow), .section-heading > p:last-child, .timeline-stop > p:last-child { color: #d1dbd2; }
.section-copy > p, .section-heading > p, .timeline-stop > p:last-child, .past-event-copy > p, .menu-item-description, address, .opening-hours, .legal-content p { font-family: var(--font-ui); font-size: 15px; line-height: 1.9; }
.site-header { padding: 22px clamp(18px, 4vw, 64px); mix-blend-mode: normal; z-index: 5; }
.header-inner, .menu-page-nav {
  border: 1px solid var(--glass-border);
  background: linear-gradient(120deg, #ffffff20, #ffffff09), #17232170;
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
  box-shadow: var(--glass-shadow);
  border-radius: 28px;
}
.header-inner { min-height: 82px; padding: 8px 24px; gap: 22px; }
.header-inner::after { display: none; }
.header-brand { width: 140px; height: 58px; }
.site-nav { gap: 0; flex-wrap: wrap; justify-content: center; }
.site-nav a, .site-nav button { display: flex; align-items: center; justify-content: center; padding: 8px 12px; border: 0; border-radius: 0; background: none; box-shadow: none; font: 400 clamp(13px, 1.25vw, 17px)/1.5 var(--font-newspaper); letter-spacing: 0; text-shadow: none; transition: none; }
.site-nav a + a { border-left: 1px solid #e0d2b740; }
.site-nav [aria-current], .site-nav a:hover { background: none; box-shadow: none; color: var(--gold); text-decoration: underline; text-underline-offset: 5px; }
.site-nav [aria-current]::after { display: none; }
.menu-banner-link.is-opening .menu-banner-sketch { clip-path: none; }
.header-brand:focus-visible, a:has(> .brand-wordmark):focus-visible { outline: 2px solid #f2dfb8; outline-offset: 5px; }
.start-screen > .hero-photo { filter: brightness(.66) saturate(.78); }
.start-screen > .hero-sketch { filter: sepia(.4) brightness(.72); }
.start-screen > .hero-content { mix-blend-mode: normal; }
.hero-content { gap: 28px; padding-top: 140px; padding-bottom: 95px; }
.main-heading { width: min(760px, 80vw); padding: 25px 38px; border: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.main-heading img { width: 100%; max-height: 36dvh; }
.main-heading::after { display: none; }
/* The PNGs contain white artwork and real alpha; no compositing workaround. */
.header-brand, .header-brand img, .main-heading, .main-heading img,
.brand-wordmark, a:has(> .brand-wordmark) {
  background: none;
  border: 0;
  outline: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: none;
  mix-blend-mode: normal;
}
.header-brand::before, .header-brand::after,
.main-heading::before, .main-heading::after,
a:has(> .brand-wordmark)::before, a:has(> .brand-wordmark)::after {
  content: none;
  display: none;
}
.hero-description { font: italic 400 clamp(18px, 1.7vw, 24px)/1.65 var(--font-newspaper); letter-spacing: .15px; padding: 14px 28px; border: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; text-shadow: 0 2px 8px #000, 0 1px 22px #0009; }
.welcome-strip { display: block; background: transparent; color: #e6ebe4; font: 400 clamp(23px, 3vw, 38px)/1.45 var(--font-newspaper); letter-spacing: -.4px; padding: 38px 24px; text-wrap: balance; }
.gallery-backdrop {
  padding-top: 20px;
  border-radius: inherit;
  background: linear-gradient(180deg, #202a29b8, #202a2999 45%, #202a29d9), url('images/galerie-stellkasten-skizze.optimized.jpg') center top / cover no-repeat;
}
#cafe.polaroid-gallery {
  background: transparent;
  border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.polaroid { padding: 9px 9px 0; border: 0; border-radius: 22px; background: #e6ebe0; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 12px 26px #071b1226; }
.polaroid img, .polaroid-open { border-radius: 15px; }
.polaroid figcaption { color: #293b31; padding: 17px 0 19px; }
.button, .contact-socials a, .lightbox-close {
  border: 1px solid var(--glass-border); border-radius: 999px;
  background: var(--glass); color: var(--ivory);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 #ffffff25, 0 5px 18px #071b1210;
  font-family: var(--font-ui);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.button { padding: 13px 24px; }
.button:hover, .contact-socials a[href]:hover { background: #ffffff26; color: #fff; box-shadow: inset 0 1px 0 #ffffff50, 0 8px 25px #071b1225; }
.discovery-grid { max-width: 1240px; width: calc(100% - 80px); margin: 54px auto 0; padding: 0; gap: 0; overflow: hidden; border-radius: 32px; }
.discovery-grid .menu-banner-link { border: 0; border-radius: 0; box-shadow: none; }
.menu-banner-link::after { background: linear-gradient(transparent, #0b1a1680); }
.discovery-grid .menu-banner-label { inset: auto 18px 18px; padding: 22px 18px; border-radius: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; font-size: clamp(25px, 2.8vw, 40px); text-shadow: 0 2px 8px #000, 0 2px 20px #0009; }
.menu-banner-label > span { font: 10px/1.7 var(--font-ui); letter-spacing: 2px; }
.news-section .weekly-wordmark { width: min(100%, 640px); margin-bottom: 16px; }
.weekly-menu, .decor-feature, .location-card, .menu-category, .menu-charity, .menu-placeholder, .legal-placeholder, .past-event-copy {
  border: 1px solid var(--glass-border); border-radius: 32px;
  background: var(--glass); box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(20px) saturate(125%); backdrop-filter: blur(20px) saturate(125%);
  outline: none; color: var(--cream);
}
.weekly-period { font: 500 clamp(13px, 1.6vw, 18px)/1.6 var(--font-ui); letter-spacing: 1px; }
.weekly-schedule { border-spacing: 0 10px; }
.weekly-schedule th, .weekly-schedule td { background: #ffffff06; border-top: 1px solid #ffffff16; border-bottom: 1px solid #ffffff16; padding: 18px 16px; }
.weekly-schedule th { border-left: 1px solid #ffffff16; border-right: 1px solid #ffffff12; border-radius: 16px 0 0 16px; }
.weekly-schedule .weekly-price { border-right: 1px solid #ffffff16; border-radius: 0 16px 16px 0; }
.weekly-schedule abbr { font: 500 25px/1.2 var(--font-ui); color: var(--gold); }
.weekly-schedule th > span { font: 11px/1.6 var(--font-ui); margin-top: 6px; }
.weekly-dish strong { font-size: clamp(20px, 2.2vw, 27px); font-weight: 400; }
.weekly-dish > span { font: 13px/1.7 var(--font-ui); color: #c8d4ca; }
.weekly-price > span { font: 500 clamp(18px, 2.5vw, 26px)/1.4 var(--font-ui); background: #e0d2b712; border: 1px solid #e0d2b733; border-radius: 13px; padding: 8px 13px; }
.weekly-ribbon { border: 0; background: #ffffff07; border-radius: 12px; font: 11px/1.8 var(--font-ui); letter-spacing: 1px; padding: 14px; }
.weekly-welcome { font-style: italic; font-size: 26px; }
#genuss.enjoyment { padding-top: 85px; background: linear-gradient(#202a29e8, #202a29c2, #202a29ed), url('images/geschichte-zug-skizze.optimized.jpg') center / cover; }
.history-timeline { gap: 24px; }
.history-timeline::before, .timeline-stop::before { display: none; }
.timeline-stop { padding: 22px; border: 1px solid #ffffff20; border-radius: 28px; background: linear-gradient(140deg, #ffffff13, #ffffff05); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: var(--glass-shadow); }
.timeline-date { font: 500 12px/1.5 var(--font-ui); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; }
.timeline-photo { border-radius: 17px; border-color: #ffffff25; margin-bottom: 22px; }
.timeline-stop h3 { font-size: 25px; }
.timeline-stop > p:last-child { font-size: 14px; }
.pause-banner { margin: 12px 32px; border-radius: 36px; overflow: hidden; border: 1px solid #ffffff25; background-image: linear-gradient(#12221b42, #12221b66), url('images/vintage-pause-enhanced.optimized.jpg'); }
.pause-banner > div { width: fit-content; margin: auto; padding: 20px 48px; border: 0; background: none; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; text-shadow: 0 2px 10px #000, 0 2px 26px #0009; }
.quote { font-size: clamp(30px, 4vw, 56px); }
.decor-feature h3 em, .location-pin { color: var(--gold); }
.opening-hours { border-color: #ffffff20; }
.visit-section {
  background: linear-gradient(90deg, #202a29eb, #202a29b8 55%, #202a29a6), url('images/kontakt-aspangbahn-skizze.optimized.jpg') center / cover no-repeat;
  border-top: 1px solid #ffffff1c;
}
.visit-section .location-card {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(300px, 30vw, 420px);
  overflow: hidden;
  background: linear-gradient(#202a2910, #202a2930), url('images/anfahrt-karte-minimal.svg') center / cover no-repeat;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-decoration: none;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.location-map-label { color: #faf8ef; font: 600 clamp(28px, 3vw, 42px)/1.2 var(--font-newspaper); text-shadow: 0 2px 6px #0a1812, 0 0 24px #0a1812; }
.visit-section .location-map:hover { border-color: #f5ead8a6; box-shadow: var(--glass-shadow), 0 0 24px #e0d2b71a; }
.visit-section .location-map:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media (max-width: 680px) {
  .visit-section {
    background-image: linear-gradient(#202a29ce, #202a29c4), url('images/kontakt-aspangbahn-skizze.optimized.jpg');
    background-position: 65% center;
  }
}
.location-card { padding: 38px; }
.site-footer, .events-sketch-page > .site-footer {
  position: relative;
  z-index: 1;
  width: calc(100% - clamp(32px, 8vw, 128px));
  max-width: 1240px;
  margin: 24px auto;
  padding: 28px clamp(20px, 3vw, 40px);
  color: var(--cream);
  background: linear-gradient(120deg, #ffffff20, #ffffff09), #17232170;
  border: 1px solid var(--glass-border);
  border-radius: 28px;
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
  mix-blend-mode: normal;
}
.site-footer > p { font-family: var(--font-ui); }
.site-footer { flex-wrap: wrap; }
.site-footer > .footer-credit { flex: 0 0 100%; margin: 0; text-align: center; font: 12px/1.8 var(--font-ui); color: #c7d2c9; }
.footer-credit a { display: inline-block; padding: 6px 4px; color: inherit; text-underline-offset: 3px; }
.footer-credit a:hover { color: var(--ivory); }
.footer-credit a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.photo-lightbox { border: 0; border-radius: 24px; background: #263c31; color: var(--ivory); backdrop-filter: none; -webkit-backdrop-filter: none; }
.lightbox-image { border-radius: 14px; }
.photo-lightbox::backdrop { background: #071811df; backdrop-filter: none; -webkit-backdrop-filter: none; }
.lightbox-close { background: #1a2b25dc; }
.menu-page-nav { margin: 22px clamp(16px, 4vw, 64px); padding: 12px 26px; font: 12px/1.6 var(--font-ui); }
.menu-sketch-page > .menu-page-nav, .events-sketch-page > .menu-page-nav { mix-blend-mode: normal; background-color: #20332c80; }
.menu-page-nav .brand-wordmark { width: 145px; }
.menu-sketch-page::before { background: radial-gradient(ellipse at 15% 10%, #7d9b7b40, transparent 60%), linear-gradient(#202a29e8, #202a29dc), url('images/speisekarte-stellwerk-skizze.optimized.jpg') center / cover; }
.events-sketch-page::before { background: radial-gradient(ellipse at 80% 10%, #ab95612c, transparent 60%), linear-gradient(#202a29e3, #202a29e8), url('images/events-signal-skizze.optimized.jpg') center top / cover; }
.menu-content { max-width: 1140px; padding-top: 60px; }
.menu-sketch-page > .menu-page-nav { position: sticky; top: 12px; z-index: 10; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
.menu-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 0; width: 100%; max-width: 780px; justify-self: center; margin: 0; padding: 0; text-align: center; background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.menu-sketch-page .menu-categories a { display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 8px 6px; font: 400 clamp(13px, 1.25vw, 17px)/1.5 var(--font-newspaper); background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: none; }
.menu-sketch-page .menu-categories a:not(:nth-child(3n + 1)) { border-left: 1px solid #e0d2b740; }
.menu-sketch-page .menu-categories a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: 5px; }
.menu-categories a:focus-visible { outline-offset: -3px; }
.menu-content .menu-category { scroll-margin-top: var(--menu-header-offset, 240px); }
.legal-links .button, .gallery-toggle { background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; font: 400 14px/1.6 var(--font-newspaper); color: var(--cream); padding: 10px 12px; text-decoration: underline; text-underline-offset: 5px; transition: none; }
.legal-links .button:hover, .gallery-toggle:hover { background: none; box-shadow: none; color: var(--gold); transform: none; }
.menu-category { padding: clamp(22px, 4vw, 42px); margin-bottom: 28px; }
.menu-intro { color: #cad7cd; font: 14px/1.8 var(--font-ui); }
.menu-item { border-bottom-color: #ffffff1c; padding: 20px 0; }
.menu-item:last-child { border-bottom: none; padding-bottom: 0; }
.menu-sketch-page .menu-item-description { font-size: 14px; color: #cbd7cf; }
.menu-sketch-page .menu-price { font: 500 17px/1.8 var(--font-ui); color: var(--gold); }
.menu-charity { padding: 32px; }
.menu-page .events-wordmark { max-width: 760px; }
.past-event::before, .past-event-image { border-radius: 26px; }
.past-event-copy { background: linear-gradient(135deg, #4d6254dd, #283b31ed); border-radius: 25px; }
.past-event-copy h3 { color: var(--ivory); }
.planned-events { margin-top: 64px; }
.past-event.planned-event { padding: 0; }
.planned-event::before { display: none; }
.planned-event-details { font: 400 15px/1.9 var(--font-ui); }
.planned-event .past-event-copy > p:last-child { margin-top: 16px; }
.planned-event-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 32px; margin: 28px 0; }
.planned-event-details dt { color: var(--gold); font-weight: 600; }
.planned-event-details dd { margin: 4px 0 0; }
.planned-event a { color: var(--gold); text-underline-offset: 4px; }
@media (max-width: 680px) { .planned-event-details { grid-template-columns: 1fr; gap: 16px; } }
.past-events-list .past-event-date { border: 1px solid #ffffff25; border-radius: 30px; background: #ffffff12; color: var(--gold); font: 12px/1.8 var(--font-ui); padding: 6px 12px; }
.past-events-list .past-event-cooperation { color: #d5dfd5; }
.legal-page { background: radial-gradient(ellipse at 20% 20%, #526c5680, transparent 65%), #202a29; }
.legal-content { background: transparent; }
.legal-content h1 { overflow-wrap: anywhere; }
.legal-content h2 { margin: 38px 0 14px; font-size: clamp(24px, 4vw, 32px); line-height: 1.3; }
.legal-content h3 { margin: 24px 0 12px; font-size: 21px; }
.legal-content a { color: var(--gold); text-underline-offset: 4px; overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible { outline: 2px solid #f2dfb8; outline-offset: 5px; }
@media (max-width: 1000px) {
  .header-inner { padding: 10px 16px; gap: 12px; }
  .header-brand { width: 110px; }
  .site-nav a { padding: 8px; font-size: 13px; }
}
@media (min-width: 681px) and (max-width: 800px) {
  .header-inner { flex-direction: column; gap: 0; }
  .header-brand { height: 42px; }
  .site-nav { flex-wrap: wrap; justify-content: center; }
}
@media (min-width: 681px) and (max-width: 900px) {
  .history-timeline { padding-left: 0; }
}
@media (max-width: 900px) {
  .menu-sketch-page > .menu-page-nav { grid-template-columns: 1fr auto; gap: 8px 16px; }
  .menu-sketch-page > .menu-page-nav > .menu-categories { grid-column: 1 / -1; grid-row: 2; max-width: none; }
  .menu-sketch-page > .menu-page-nav > a:last-child { grid-column: 2; grid-row: 1; }
}
@media (max-width: 680px) {
  .site-header { padding: 14px 14px 0; }
  .header-inner { gap: 5px; border-radius: 25px; padding: 9px 10px 12px; min-height: 0; }
  .header-brand { width: 110px; height: 40px; }
  .site-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 0; }
  .site-nav a { padding: 7px 5px; font-size: 13px; white-space: normal; text-align: center; }
  .site-nav a:nth-child(3n + 1) { border-left: 0; }
  .site-nav a:last-child { grid-column: 1 / -1; }
  .start-screen { min-height: 660px; }
  .hero-content { padding: 172px 20px 90px; gap: 23px; }
  .main-heading { width: 100%; padding: 27px 14px; border-radius: 28px; }
  .main-heading img { width: 100%; }
  .hero-description { font-size: 17px; padding: 12px 18px; }
  .page-content { border-radius: 28px 28px 0 0; margin-top: -28px; }
  .welcome-strip { font-size: clamp(23px, 5vw, 30px); letter-spacing: -.3px; padding: 30px 22px; }
  .discovery-grid { width: calc(100% - 40px); padding: 0; gap: 0; margin-top: 32px; border-radius: 26px; }
  .discovery-grid .menu-banner { height: 300px; }
  .discovery-grid .menu-banner-label { font-size: 29px; }
  .section { padding: 65px 20px; }
  .weekly-menu { padding: 22px 13px; border-radius: 24px; }
  .weekly-period { font-size: 12px; letter-spacing: .3px; }
  .weekly-schedule tr { border: 1px solid #ffffff24; border-radius: 17px; overflow: hidden; background: #ffffff04; }
  .weekly-schedule th, .weekly-schedule td, .weekly-schedule .weekly-price { border: 0; background: transparent; border-radius: 0; padding: 12px; }
  .weekly-schedule .weekly-dish { border-top: 1px solid #ffffff18; padding: 14px; }
  .weekly-price > span { font-size: 22px; }
  .weekly-welcome { font-size: 23px; }
  .history-timeline { padding-left: 0; gap: 20px; }
  .timeline-stop { padding: 22px; }
  .pause-banner { margin: 0 16px; padding: 55px 18px; border-radius: 28px; }
  .pause-banner > div { padding: 12px 18px; border-radius: 22px; }
  .quote { font-size: 30px; }
  .decor-feature, .location-card { border-radius: 28px; padding: 28px 22px; }
  .menu-page-nav { padding: 12px 16px; gap: 12px; }
  .menu-page-nav .brand-wordmark { width: 105px; }
  .menu-page-nav > a:last-child { font-size: 11px; }
  .menu-category { border-radius: 25px; padding: 23px 18px; }
  .menu-sketch-page .menu-item dt { font-size: 19px; }
  .menu-sketch-page .menu-price { font-size: 15px; }
  .past-event-copy { padding: 24px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .header-inner, .menu-page-nav { background-color: #263a30ed; }
  .weekly-menu, .decor-feature, .location-card, .menu-category, .past-event-copy { background-color: #34473c; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* One expanding glass surface for the fixed home navigation. */
.menu-sketch-page { padding-top: var(--menu-header-offset, 160px); }
.menu-sketch-page > .menu-page-nav { position: fixed; top: 12px; left: 0; right: 0; grid-template-columns: auto minmax(0, 1fr) auto; }
.menu-sketch-page > .menu-page-nav > .navigation-toggle { grid-column: 2; grid-row: 1; }
.menu-sketch-page > .menu-page-nav > a:last-child { grid-column: 3; grid-row: 1; }
.menu-sketch-page > .menu-page-nav > .menu-categories { grid-column: 1 / -1; grid-row: 2; max-width: 100%; max-height: calc(100dvh - 190px); overflow-y: auto; }
.menu-sketch-page .menu-categories[hidden] { display: none; }
.menu-sketch-page .menu-categories [aria-current] { color: var(--gold); text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 900px) {
  .menu-sketch-page > .menu-page-nav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 12px 16px; }
  .menu-sketch-page > .menu-page-nav .brand-wordmark { max-width: 100%; }
  .menu-sketch-page > .menu-page-nav > a:last-child { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .menu-sketch-page > .menu-page-nav > .menu-categories { grid-row: 3; }
}
@media (max-width: 680px) {
  .menu-sketch-page .menu-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-sketch-page .menu-categories a { min-width: 0; }
  .menu-sketch-page .menu-categories a:not(:nth-child(3n + 1)) { border-left: 0; }
  .menu-sketch-page .menu-categories a:nth-child(even) { border-left: 1px solid #e0d2b740; }
}
html:has(.site-header) { scroll-padding-top: var(--site-header-offset, 120px); }
.site-header { position: fixed; pointer-events: none; }
.site-header .header-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 18px; pointer-events: auto; }
.navigation-toggle { justify-self: end; display: flex; align-items: center; justify-content: flex-end; gap: 14px; max-width: 100%; min-height: 44px; padding: 8px 0 8px 12px; color: var(--ivory); font: 400 clamp(15px, 1.25vw, 18px)/1.4 var(--font-newspaper); text-align: right; border: 0; background: none; box-shadow: none; cursor: pointer; }
.navigation-chevron { flex-shrink: 0; font-family: var(--font-ui); font-size: 22px; }
.navigation-toggle[aria-expanded="true"] .navigation-chevron { transform: rotate(180deg); }
.site-header .site-nav { grid-column: 1 / -1; width: 100%; padding: 12px 0 6px; max-height: calc(100dvh - 150px); overflow-y: auto; }
.site-header .site-nav[hidden] { display: none; }
@media (max-width: 680px) {
  .site-header .header-inner { gap: 0 8px; }
  .site-header .header-brand { width: 80px; }
  .navigation-toggle { gap: 8px; padding-left: 0; font-size: 14px; }
  .site-header .site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-header .site-nav a { min-width: 0; border-left: 0; }
  .site-header .site-nav a:nth-child(even) { border-left: 1px solid #e0d2b740; }
}
