/* Brand alignment — sampled from the supplied color crest. */
:root {
  --ink: #252932;
  --paper: #f7f3ea;
  --white: #fffdf7;
  --red: #987248;
  --red-bright: #b48a59;
  --accent: #d6b984;
  --brand-gold: #d6b984;
  --brand-bronze: #76502b;
  --brand-night: #181d26;
  --brand-panel: #303744;
  --muted: #cbc7bd;
}
body { background: var(--ink); }
::selection { color: var(--ink); background: var(--brand-gold); }
.experience,
.journey-stage,
.chapter,
.visit { background: var(--ink); }
.site-header,
.site-header.is-fixed {
  background: #fff;
  color: var(--ink);
  border-bottom-color: #98724866;
  box-shadow: 0 6px 22px #11172218;
  backdrop-filter: none;
  transition: min-height .28s ease, padding .28s ease, box-shadow .28s ease;
}
.site-header { min-height: 116px; padding-top: 5px; padding-bottom: 5px; }
.site-header.is-fixed { min-height: 100px; padding-top: 3px; padding-bottom: 3px; box-shadow: 0 8px 28px #11172222; }
.site-header .brand,
.site-header.is-fixed .brand {
  width: 164px;
  height: 104px;
  aspect-ratio: auto;
  overflow: hidden;
  position: relative;
  background: #fff;
  border: 0;
  box-shadow: none;
  transition: width .28s ease, height .28s ease;
}
.site-header .brand img,
.site-header.is-fixed .brand img {
  position: absolute;
  width: 194px;
  height: auto;
  max-width: none;
  left: -16px;
  top: -14px;
  filter: none;
  transition: width .28s ease, left .28s ease, top .28s ease;
}
.site-header.is-fixed .brand { width: 152px; height: 97px; }
.site-header.is-fixed .brand img { width: 179px; left: -14px; top: -12.5px; }
.button-red { background: var(--brand-gold); color: var(--ink); }
.button-red:hover { background: #e2c99f; }
.button-light { background: var(--paper); color: var(--ink); }
.motion-control { color: var(--ink); border-bottom-color: #98724899; }
.site-header nav a:hover,
.site-header nav a[aria-current="location"] { color: var(--brand-bronze); border-bottom-color: var(--brand-bronze); }
.site-header a:focus-visible,
.site-header button:focus-visible { outline-color: var(--brand-bronze); }
button:focus-visible,
a:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible { outline-color: var(--brand-gold); }
.chapter-copy em,
.ingredient-story > span,
.people-award strong,
.room-copy em,
.street-copy em,
.visit h2 em { color: var(--brand-gold); }
.chapter-copy .eyebrow { color: #e2ded4; }
.burger-visual figcaption,
.photo-stack,
.dish-photo,
.dish-photo figcaption { background: #202630; }
.dish-photo figcaption { height: 54px; transition: opacity .22s ease; }
.dish-photo img { height: calc(100% - 54px); }
.motion-ready:not(.reduced) .photo-next figcaption { opacity: 0; }
.dish-photo figcaption { color: #fffaf0; }
.dish-photo figcaption > span:last-child,
.menu-picks p,
.bite-footer { color: #d0c9bd; }
.menu-picks a { border-top-color: #d6b98455; }
.morning-chapter { background: var(--paper); color: var(--ink); }
.morning-copy .eyebrow,
.morning-copy em { color: var(--brand-bronze); }
.morning-copy .lede { color: #3d4149; }
.brunch-hours { display: block; color: #555963; font-size: .875rem; }
.brunch-plane .photo-stack,
.brunch-plane .dish-photo,
.brunch-plane figcaption { background: #e9e3d8; }
.brunch-plane figcaption { color: var(--ink); }
.morning-chapter .menu-picks p { color: #555963; }
.morning-chapter .menu-picks a { border-color: #25293242; }
.pour-chapter { background: var(--brand-panel); }
.pour-copy em { color: var(--brand-gold); }
.pour-plane img,
.pour-plane figcaption { background: #202630; }
.pour-plane figcaption { color: #fff9ee; }
.room-image::after,
.street-image::after {
  background: linear-gradient(90deg, #121722ed 0%, #12172288 43%, #12172200 80%),
              linear-gradient(0deg, var(--ink), transparent 30%);
}
.people-chapter { background: #202630; }
.people-award { border-color: #d6b98466; }
.motion-ready:not(.reduced) .chapter-rail {
  color: #d7d2c8;
  border: 1px solid #d6b98455;
  border-radius: 2px;
  background: #181d26d9;
  padding: 9px 14px;
  backdrop-filter: blur(12px);
  transition: color .32s ease, border-color .32s ease, background-color .32s ease;
}
.chapter-rail a { font-size: .875rem; }
.chapter-rail a[aria-current] { color: var(--brand-gold); }
.journey-progress { background: #ffffff30; }
.journey-progress i { background: var(--brand-gold); }
.chapter-rail.on-light { color: #555963 !important; border-color: #76502b55 !important; background: #f7f3eae8 !important; }
.chapter-rail.on-light a[aria-current] { color: var(--brand-bronze); }
.on-light .journey-progress { background: #25293235; }
.site-footer {
  padding: 0;
  background: var(--brand-night);
  color: var(--white);
  border-top: 1px solid #98724866;
}
.visit {
  overflow: hidden;
  background: radial-gradient(circle at 83% 4%, #3a425099 0, #25293200 34%), var(--ink);
  padding-inline: max(var(--pad), calc((100vw - 1680px) / 2));
}
.visit-grid > div:last-child {
  border-left: 1px solid #d6b98455;
  padding-left: clamp(24px, 4vw, 64px);
}
.hours-and-notes {
  border: 1px solid #d6b9843d;
  padding: clamp(24px, 3vw, 44px);
  background: linear-gradient(135deg, #303744d9, #1f2530d9);
}
.faq { border-top-color: #d6b98466; }
.hours th,
.hours td,
.faq-list details { border-color: #d6b9842e; }
.hours-call,
.hours-note a { text-decoration: underline; text-underline-offset: 3px; }
.button > span[aria-hidden="true"],
.text-link > span[aria-hidden="true"],
.opening-note > span[aria-hidden="true"] { transition: transform .22s ease; }
.button:hover > span[aria-hidden="true"],
.text-link:hover > span[aria-hidden="true"],
.opening-note:hover > span[aria-hidden="true"] { transform: translate(3px,-2px); }
.text-link,
.opening-note { transition: color .2s ease, border-color .2s ease; }
.text-link:hover,
.opening-note:hover { color: var(--brand-gold); }
.motion-ready:not(.reduced).reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .8s cubic-bezier(.2,.72,.2,1), transform .8s cubic-bezier(.2,.72,.2,1);
}
.motion-ready:not(.reduced).reveal-ready [data-reveal].is-revealed { opacity: 1; transform: none; }
.visit h2[data-reveal] { transition-delay: .04s; }
.visit-grid[data-reveal] { transition-delay: .08s; }
.hours-and-notes[data-reveal] { transition-delay: .12s; }
.faq[data-reveal] { transition-delay: .08s; }
.footer-top > [data-reveal]:nth-child(2) { transition-delay: .05s; }
.footer-top > [data-reveal]:nth-child(3) { transition-delay: .1s; }
.burger-unavailable .burger-visual canvas { display: none !important; }
.burger-unavailable .burger-camera img { opacity: 1 !important; }
.chapter-copy .eyebrow,
.opening-note,
.burger-visual figcaption,
.burger-visual figcaption span,
.menu-picks p,
.dish-photo figcaption,
.dish-photo figcaption > span:last-child,
.room-location,
.people-award span,
.celebration-photo figcaption,
.visit .section-kicker,
.hours-note,
.menu-meta,
.menu-meta > p:last-child,
.menu-source,
.footer-bottom { font-size: .875rem; }
.footer-top {
  padding: 58px var(--pad) 52px;
  padding-inline: max(var(--pad), calc((100vw - 1680px) / 2));
  background: #fff;
  color: var(--ink);
}
.footer-top > img {
  width: 200px;
  height: 120px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border: 0;
}
.footer-top a { border-bottom: 1px solid transparent; }
.footer-top a:hover { color: var(--brand-bronze); border-bottom-color: var(--brand-bronze); }
.concept-notes {
  margin: 0 var(--pad);
  padding-top: 14px;
  color: #cbc7bd;
  border-top-color: #d6b98440;
}
.footer-bottom {
  margin: 0;
  padding: 22px var(--pad) 28px;
  padding-inline: max(var(--pad), calc((100vw - 1680px) / 2));
  border-top-color: #d6b98440;
}
#menu-dialog { background: var(--paper); color: var(--ink); color-scheme: light; }
.menu-top .eyebrow,
.menu-tabs button[aria-selected="true"],
.menu-group > h3 { color: var(--brand-bronze); }
.menu-tabs button[aria-selected="true"] { border-color: var(--brand-bronze); }
.menu-group > h3 { border-bottom-color: var(--ink); }
.mobile-dock { background: #181d26f7; border-top-color: #d6b98455; }
.mobile-dock > [data-menu] { background: var(--brand-gold); border-color: var(--brand-gold); color: var(--ink); }
.mobile-dock .dock-motion { background: transparent; border-color: #d6b98488; color: var(--white); }
.mobile-dock .dock-motion[aria-pressed="true"] { color: var(--brand-gold); }

html.reduced .site-header,
html.reduced .site-header .brand,
html.reduced .site-header .brand img,
html.reduced .button > span[aria-hidden="true"],
html.reduced .text-link > span[aria-hidden="true"],
html.reduced .opening-note > span[aria-hidden="true"],
html.reduced .faq-list summary > span { transition: none !important; }

@media (max-width: 740px) {
  .site-header,
  .site-header.is-fixed { height: 94px; min-height: 94px; }
  .site-header .brand,
  .site-header.is-fixed .brand { width: 131px; height: 84px; }
  .site-header .brand img,
  .site-header.is-fixed .brand img { width: 153px; left: -11.5px; top: -10px; }
  .site-header { justify-content: center; }
  .site-header .header-actions { display: none; }
  .morning-chapter .brunch-plane { top: 35svh; }
  .dish-photo figcaption { height: 54px; padding: 9px 14px; line-height: 1.2; }
  .dish-photo img { height: calc(100% - 54px); }
  .visit-grid > div:last-child { border-left: 0; border-top: 1px solid #d6b98455; padding: 27px 0 0; }
  .hours-and-notes { padding: 24px 20px; }
  .button,
  .text-link,
  .mobile-dock > * { font-size: .9375rem; }
  .chapter-copy .eyebrow,
  .people-copy .eyebrow,
  .burger-visual figcaption,
  .menu-picks p,
  .dish-photo figcaption,
  .dish-photo figcaption > span:last-child,
  .room-location,
  .people-award span,
  .celebration-photo figcaption,
  .rail-hint,
  .media-status,
  .visit .section-kicker,
  .hours table,
  .hours thead th,
  .hours-note,
  .footer-bottom { font-size: .875rem; }
  .room-image::after,
  .street-image::after {
    background: linear-gradient(90deg, #121722d4, #12172235),
                linear-gradient(0deg, var(--ink), transparent 42%);
  }
  .footer-top { padding: 40px var(--pad) 34px; }
  .footer-top > img { width: 155px; height: 93px; }
  .footer-bottom { padding: 20px var(--pad) 96px; }
}

@media (max-width: 360px) {
  .motion-ready:not(.reduced) .chapter-rail { left: 12px; right: 12px; gap: 10px !important; padding: 8px 10px; }
  .rail-hint { display: none; }
  .mobile-dock { gap: 6px; padding-inline: 8px; }
  .mobile-dock > * { min-width: 0; padding-inline: 4px; font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header .brand,
  .site-header .brand img,
  .button > span[aria-hidden="true"],
  .text-link > span[aria-hidden="true"],
  .opening-note > span[aria-hidden="true"],
  .faq-list summary > span { transition: none !important; }
}
