@font-face{font-family:Barlow Condensed;src:url('/assets/barlow.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
@font-face{font-family:Instrument Serif;src:url('/assets/instrument.woff2') format('woff2');font-style:italic;font-display:swap}

:root {
  --paper:#f8eedb;
  --light:#fffaee;
  --red:#a32c23;
  --dark-red:#792119;
  --ink:#29211b;
  --muted:#625147;
  --line:#dac8ae;
  --gold:#f5c869;
  --green:#292f23;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif }
[hidden] { display:none !important }
img { display:block;width:100%;object-fit:cover }
a { color:inherit;text-underline-offset:.23em }
button, input, select { font:inherit;color:inherit }
button, select, summary { cursor:pointer }
:focus-visible { outline:3px solid #356c81;outline-offset:4px }
h1,h2,h3,h4,h5,p,figure { margin:0 }
h1,h2,h3 { line-height:.92;font-family:var(--display);font-weight:800 }
address { font-style:normal }
.wrap { width:min(1160px,calc(100% - 88px));margin-inline:auto }
.skip { position:absolute;left:12px;top:12px;z-index:10;padding:8px 14px;background:#fff;transform:translateY(-180%) }
.skip:focus { transform:none }
.announcement { background:var(--red);color:var(--light);text-align:center;font-size:.78rem;font-weight:700;padding:7px 16px;letter-spacing:.065em }
.announcement a { text-decoration:none }
.announcement a:hover { text-decoration:underline }
.site-header { border-bottom:1px solid var(--line) }
.header-inner { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:81px;gap:24px }
.wordmark { display:inline-grid;justify-self:start;width:max-content;text-decoration:none;color:var(--red);line-height:.83 }
.wordmark small { font-weight:800;font-size:.61rem;letter-spacing:.26em }
.wordmark strong { font:800 2.65rem/.9 var(--display);letter-spacing:-.025em }
.navigation { display:flex;gap:clamp(14px,2.7vw,38px);align-items:center }
.navigation a { text-decoration:none;font-weight:700;font-size:.91rem }
.navigation a:hover,.navigation a[aria-current] { color:var(--red);text-decoration:underline }
.button { background:var(--red);border:1px solid var(--red);color:var(--light);padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;min-height:45px;text-align:center;font-weight:800;font-size:.9rem;text-decoration:none;border-radius:4px;transition:background .18s,color .18s }
.button:hover { background:var(--dark-red);border-color:var(--dark-red) }
.button.secondary { background:transparent;color:var(--red);border-color:currentColor }
.button.secondary:hover { background:var(--red);color:var(--light) }
.nav-order { justify-self:end }
.nav-toggle { background:transparent;border:1px solid var(--red);border-radius:4px;padding:7px 10px;color:var(--red);font-size:.83rem;font-weight:800 }
.nav-toggle span { margin-left:4px }
.eyebrow { font-size:.75rem;font-weight:800;letter-spacing:.17em;color:var(--red);text-transform:uppercase }
.actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:27px }
.hero { padding:clamp(34px,5vw,73px) 0 clamp(40px,5vw,69px);overflow:hidden }
.hero-grid { display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(27px,5vw,75px);align-items:center }
.hero h1 { margin:13px 0 22px;color:var(--red);font-size:clamp(4.1rem,9vw,9.6rem);letter-spacing:-.033em;text-transform:uppercase }
.hero h1 em { display:block;font:italic clamp(3.6rem,7.85vw,8.5rem)/.84 var(--serif);letter-spacing:-.045em;text-transform:none;color:var(--ink);white-space:nowrap }
.hero-copy > p:not(.eyebrow),.page-copy > p:not(.eyebrow) { max-width:43ch;color:var(--muted);font-size:clamp(1rem,1.45vw,1.2rem) }
.hero-photo { position:relative;background:var(--green);border:7px solid var(--light);box-shadow:0 0 0 1px var(--line),7px 7px 0 #e4d1b5;transform:rotate(2deg);border-radius:6px }
.hero-photo img { height:clamp(325px,36vw,475px);object-position:center 51%;border-radius:2px }
.seal { position:absolute;display:grid;place-content:center;justify-items:center;gap:0;right:-18px;bottom:18px;width:108px;aspect-ratio:1;background:var(--gold);color:var(--dark-red);border:1px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 4px var(--gold),inset 0 0 0 5px currentColor;transform:rotate(11deg) }
.seal span { font-size:.54rem;font-weight:800;letter-spacing:.1em }
.seal b { font:2rem/1.15 Georgia,serif }
.strip { display:flex;justify-content:center;align-items:center;gap:clamp(12px,5vw,73px);padding:9px 12px;background:var(--red);color:var(--light);border-block:3px double var(--gold);font:800 clamp(.73rem,2vw,1.25rem)/1.1 var(--display);letter-spacing:.11em;text-align:center }
.strip b { color:var(--gold) }
.menu-section { padding-block:clamp(42px,6vw,85px);scroll-margin-top:10px }
.menu-intro { display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px }
.menu-intro h2,.home-features h2 { color:var(--red);font-size:clamp(3.4rem,8vw,6.5rem);letter-spacing:-.018em;margin-top:6px }
.menu-intro > p { color:var(--muted);max-width:34ch }
.menu-tools { display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:26px }
.menu-tools label { display:block;font-size:.8rem;font-weight:800;margin-bottom:5px }
.menu-tools input,.menu-tools select { width:100%;min-height:49px;background:var(--light);border:1px solid #a78a72;border-radius:4px;padding:9px 12px }
.menu-note,.search-status { margin-top:12px;color:var(--muted);font-size:.87rem }
.empty { margin-top:21px;padding:20px;background:var(--light);border:1px dashed var(--line) }
.menu-group { margin-top:31px }
.group-heading { border-top:2px solid var(--red);padding-top:12px;margin-bottom:10px }
.group-heading h3 { font-size:clamp(1.95rem,4vw,3rem);color:var(--red) }
.group-heading p { margin-top:7px;color:var(--muted);font-size:.91rem }
.menu-grid { display:grid;grid-template-columns:1fr 1fr;gap:0 27px;align-items:start }
.menu-item { display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0 }
.menu-item > img { width:63px;height:63px;border-radius:4px;background:#e6d2b6;flex-shrink:0 }
.item-copy { flex:1;min-width:0 }
.item-heading { display:flex;justify-content:space-between;gap:10px;align-items:baseline }
.item-heading h4 { font-size:1.01rem;line-height:1.25 }
.price { color:var(--dark-red);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums }
.item-copy p { margin-top:5px;font-size:.875rem;color:var(--muted) }
.availability { display:block;margin-top:5px;color:var(--dark-red);font-size:.77rem;font-weight:800 }
.item-options { margin-top:7px;font-size:.8rem }
.item-options summary { color:var(--dark-red);font-weight:700 }
.option-group { margin-top:9px }
.option-group h5 { font-size:.8rem }
.option-group ul { padding:0;margin:2px 0 0;list-style:none }
.option-group li { display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted var(--line) }
.home-features { padding:52px 0 61px;background:#edddc0 }
.feature-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px }
.feature-grid article { background:var(--light);border:1px solid var(--line);border-radius:6px;overflow:hidden }
.feature-grid img { height:225px }
.feature-grid article > div { padding:21px }
.feature-grid h3 { font-size:2.6rem;color:var(--red);margin-bottom:7px }
.text-link { display:inline-block;margin-top:9px;color:var(--red);font-weight:800 }
.text-link::after { content:' ↗' }
.checker { height:14px;background:conic-gradient(var(--red) 25%,var(--paper) 0 50%,var(--red) 0 75%,var(--paper) 0) 0 0 / 14px 14px }
.site-footer { background:var(--green);color:var(--paper) }
.footer-grid { display:grid;grid-template-columns:1fr .9fr 1.3fr .72fr;gap:25px;padding-block:39px }
.site-footer .wordmark { color:var(--gold);margin-bottom:13px }
.site-footer p,.site-footer address,.site-footer .hours,.footer-links { font-size:.86rem }
.site-footer h2 { font-size:1.5rem;margin-bottom:10px }
.footer-links { display:grid;justify-items:start;gap:4px }
.hours { margin:0 }
.hours > div { display:flex;justify-content:space-between;gap:12px }
.hours dd { margin:0;text-align:right }
.page-hero { padding-block:clamp(40px,7vw,90px);background:#f3e4ca }
.page-hero-inner { display:grid;grid-template-columns:1fr;gap:37px;align-items:center }
.page-hero-inner:has(.page-image,.venue) { grid-template-columns:1fr 1fr }
.page h1,.missing h1 { color:var(--red);font-size:clamp(4rem,8.8vw,8.5rem);letter-spacing:-.027em;margin:10px 0 19px }
.page-image { background:var(--green);border:6px solid var(--light);box-shadow:6px 6px 0 #cfad8a;transform:rotate(1deg);border-radius:6px;overflow:hidden }
.page-image img { height:clamp(275px,31vw,410px) }
.page-body { padding-block:clamp(40px,6vw,72px) }
.section-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:25px }
.section-grid section { padding-top:15px;border-top:2px solid var(--red) }
.section-grid h2,.venue h2 { color:var(--red);font-size:2.45rem;margin-bottom:9px }
.section-grid p { color:var(--muted);max-width:50ch }
.page-lounge .page-hero,.page-event .page-hero { background:var(--green);color:var(--paper) }
.page-lounge .page-hero :is(h1,.eyebrow),.page-event .page-hero :is(h1,.eyebrow) { color:var(--gold) }
.page-lounge .page-copy > p:not(.eyebrow),.page-event .page-copy > p:not(.eyebrow) { color:var(--paper) }
.page-lounge .button.secondary,.page-event .button.secondary { color:var(--gold) }
.page-lounge .page-image { box-shadow:6px 6px 0 #595b42 }
.page-preorders .page-hero { background:#f2cc80 }
.page-order .page-image { transform:rotate(-1deg) }
.page-team .page-hero { background:#e9d7bc }
.venue { padding:24px;background:var(--light);border:1px solid var(--line);border-radius:4px }
.venue .hours { margin-top:14px }
.venue .hours > div { border-top:1px solid var(--line);padding:7px 0 }
.gallery { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px }
.gallery img { height:clamp(150px,25vw,310px);border-radius:5px }
.gallery figcaption { margin-top:6px;color:var(--dark-red);font-weight:800 }
.missing { padding-block:65px }
.missing .button { margin-top:16px }

@media (max-width:960px) {
  .footer-grid { grid-template-columns:1fr 1fr }
}
@media (max-width:740px) {
  .wrap { width:calc(100% - 36px) }
  .header-inner { grid-template-columns:1fr auto auto;gap:10px;min-height:67px }
  .navigation { grid-row:2;grid-column:1/-1;flex-wrap:wrap;gap:10px 22px;padding-bottom:14px }
  .nav-order { font-size:.79rem;min-height:36px;padding:5px 9px }
  .hero-grid,.page-hero-inner:has(.page-image,.venue) { grid-template-columns:1fr }
  .hero { padding-top:28px }
  .hero h1 { font-size:clamp(4rem,15vw,6.4rem) }
  .hero h1 em { font-size:clamp(3.5rem,13vw,6.2rem);white-space:normal }
  .hero-photo { margin-inline:4px 11px }
  .hero-photo img { height:clamp(215px,70vw,380px) }
  .seal { width:84px;right:-12px;bottom:10px }
  .seal span { font-size:.43rem }
  .seal b { font-size:1.55rem }
  .menu-intro { display:block }
  .menu-intro > p { margin-top:10px }
  .menu-grid,.feature-grid { grid-template-columns:1fr }
  .page-image img { height:clamp(210px,61vw,330px) }
}
@media (max-width:390px) {
  .menu-tools { grid-template-columns:1fr }
  .gallery { grid-template-columns:1fr }
  .gallery img { height:230px }
  .footer-grid { grid-template-columns:1fr }
  .strip { gap:8px;letter-spacing:.04em }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important;transition:none !important }
}
