/* Focus the original direction around arrival, food, the room and the changing patio. */
body { font-size: 18px; }
.topbar__nav a { font-size: 16px; letter-spacing: .12em; }
.eyebrow, .cap-eyebrow { font-size: 16px; letter-spacing: .14em; color: var(--gold-bright); }
.btn { min-height: 48px; font-size: 18px; }
.scene--hero { height: 190svh; }
.scene--hero .pin { height: 100svh; min-height: 720px; display: block; }
.opening__photos, .opening__shade { position: absolute; inset: 0; }
.opening__photos { overflow: hidden; }
.opening__photos img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.opening__outside { object-position: 64% 45%; transform: scale(calc(1.02 + var(--p, 0) * .19)); }
.opening__inside { object-position: 48% 48%; opacity: clamp(0, (var(--p, 0) - .38) * 2.5, 1); transform: scale(calc(1.1 - var(--p, 0) * .07)); }
.opening__shade { background: linear-gradient(90deg, #0c0b09e8 0%, #0c0b09ae 35%, #0c0b0930 77%), linear-gradient(0deg, #0c0b09e8, transparent 45%, #0c0b0950); }
.hero__inner { position: relative; height: 100%; padding: 8rem clamp(1.25rem, 6vw, 6rem) 11rem; text-align: left; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; transform: none; opacity: clamp(0, 1 - (var(--p, 0) - .12) * 2.7, 1); }
.hero__eyebrow { font-size: 16px; letter-spacing: .16em; color: var(--gold-bright); margin-bottom: 1.5rem; }
.hero__title { font-size: clamp(4.5rem, 10.4vw, 10rem); letter-spacing: -.015em; line-height: .88; }
.hero__title span { color: var(--gold-bright); }
.hero__sub { margin: 1.5rem 0 1.7rem; font-size: clamp(1.2rem, 2vw, 1.5rem); color: var(--ivory); }
.hero__cta { justify-content: flex-start; }
.opening__arrival { position: absolute; z-index: 2; left: clamp(1.25rem, 6vw, 6rem); right: 1.25rem; bottom: 12rem; max-width: 44rem; opacity: clamp(0, (var(--p, 0) - .55) * 3.5, 1); pointer-events: none; }
.opening__arrival h2 { font-size: clamp(2.8rem, 6vw, 5.5rem); }
.opening__arrival h2 span { color: var(--gold-bright); }
.opening__arrival p:last-child { max-width: 36ch; color: var(--ivory); }
.opening__trail { position: absolute; z-index: 3; left: clamp(1.25rem, 6vw, 6rem); right: clamp(1.25rem, 6vw, 6rem); bottom: 2rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.opening__trail a { position: relative; padding: 1rem 2rem 0 0; border-top: 1px solid #f3ecdd65; color: var(--ivory); font-family: var(--display); font-size: 1.7rem; text-transform: uppercase; text-decoration: none; }
.opening__trail span { display: block; font: 16px/1.5 var(--body); color: var(--ivory-dim); text-transform: none; margin-bottom: .25rem; }
.opening__trail b { position: absolute; right: .2rem; bottom: .15rem; color: var(--gold-bright); font-weight: 400; }
.opening__trail a:hover { border-color: var(--gold-bright); color: var(--gold-bright); }
.menu-preview { background: var(--ivory); color: var(--coal); padding: clamp(3rem, 7vw, 6rem) 0; }
.menu-preview .eyebrow { color: #74531c; }
.menu-preview__heading { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; align-items: start; }
.menu-preview h2 { margin-top: 0; font-size: clamp(2.8rem, 5vw, 4.6rem); }
.menu-preview__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
.menu-preview__links>a { display: flex; flex-direction: column; gap: 1.1rem; text-decoration: none; color: inherit; padding: 1.5rem 1.8rem 0; border-left: 1px solid #37291940; min-width: 0; }
.menu-preview__links>a:first-child { padding-left: 0; border-left: 0; }
.menu-preview__links>a:last-child { padding-right: 0; }
.menu-preview h3 { font-size: clamp(2rem, 3vw, 2.7rem); }
.menu-preview__links p { color: #514735; }
.menu-preview__action { display: flex; justify-content: space-between; align-items: center; font-weight: 600; margin-top: auto; min-height: 44px; }
.menu-preview__links>a:hover .menu-preview__action { text-decoration: underline; text-underline-offset: .25em; }
.section--room { padding-bottom: 3rem; }
.section--room>.wrap { display: grid; grid-template-columns: .8fr 1.3fr; column-gap: 3rem; }
.section--room .eyebrow, .section--room h2, .section--room .lede, .section--room .chips { grid-column: 1; }
.section--room h2 { font-size: clamp(2.6rem, 4.8vw, 4.2rem); }
.section--room .lede { font-size: 20px; }
.section--room .room__grid { grid-column: 2; grid-row: 1 / 6; display: flex; flex-direction: column; align-self: center; margin: 0; gap: 1.5rem; }
.room__grid figure:first-child { width: 86%; }
.room__grid figure:last-child { width: 70%; margin-left: auto; margin-top: -4rem; position: relative; background: var(--coal); padding: .6rem; transform: rotate(-3deg); }
.room__grid figcaption { font-size: 16px; letter-spacing: .04em; color: var(--ivory-dim); }
.chips li { font-size: 16px; }
.section--taps { padding: 2.5rem 0 3.5rem; }
.taps__content { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 3rem; align-items: center; }
.taps__content>.eyebrow, .taps__content>h2, .taps__ticks { grid-column: 1; }
.taps__content>.lede { grid-column: 2; grid-row: 2; }
.taps__content>p:last-child { grid-column: 2; grid-row: 3; }
.taps__content>h2 { font-size: clamp(2.6rem, 4vw, 3.6rem); }
.taps__ticks { margin-block: .5rem; }
.scene--patio { height: 280svh; }
.patio__head { top: 5.5rem; }
.patio__caps { bottom: calc(7.5rem + var(--dock-h)); max-width: 38rem; }
.patio__cap { max-width: min(38rem, 85vw); }
.patio__cap h3 { font-size: clamp(3rem, 7vw, 6rem); }
.patio__cap p { font-size: 20px; }
.patio__grade { background: linear-gradient(0deg, #0c0b09e8 0, #0c0b0965 35%, transparent 65%, #0c0b0965); }
.patio__meter { display: none; }
.patio__choices { display: none; position: absolute; z-index: 8; bottom: calc(1.5rem + var(--dock-h)); left: clamp(1.25rem, 5vw, 4rem); right: clamp(1.25rem, 5vw, 4rem); gap: 1.5rem; border-top: 1px solid #f3ecdd60; padding-top: .75rem; }
.patio--interactive .patio__choices { display: flex; flex-wrap: wrap; }
.patio__choices button { font: 600 16px/1.3 var(--body); background: none; border: 0; color: var(--ivory-dim); min-height: 44px; padding: .35rem 0; cursor: pointer; }
.patio__choices button[aria-pressed="true"] { color: var(--gold-bright); text-decoration: underline; text-underline-offset: .5em; }
.patio__choices button:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 5px; }
.day__stamp { font-size: 16px; letter-spacing: .03em; }
.day__copy h3 { font-size: clamp(2.4rem, 4.5vw, 4rem); }
.day__link { font-size: 16px; letter-spacing: .04em; }
.section--pace { padding: 2.5rem 0; }
.section--pace h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.steps { margin-top: 1.5rem; gap: 2rem; }
.steps li { padding: 1rem 0 0; border: 0; border-top: 1px solid var(--line); background: none; border-radius: 0; }
.steps p { font-size: 18px; }
.section--visit { padding-top: 4rem; border-top: 1px solid var(--line); }
.section--visit h2 { font-size: clamp(3.5rem, 7vw, 6rem); }
.visit__fine, .visit__social a, .footer__concept, #notesBtn, .faq details p { font-size: 16px; }
html:not(.motion-ready) [data-reveal] { opacity: 1; transform: none; }
html:not(.motion-ready) .scene--hero, html:not(.motion-ready) .scene--patio { height: auto; }
html:not(.motion-ready) .opening__arrival { display: none; }
html:not(.motion-ready) .scene--patio .pin { position: relative; height: auto; overflow: visible; padding: 4rem 1.25rem; }
html:not(.motion-ready) .patio__img { position: static; height: auto; opacity: 1; margin-bottom: 1rem; }
html:not(.motion-ready) .patio__head, html:not(.motion-ready) .patio__caps, html:not(.motion-ready) .patio__cap { position: static; width: auto; max-width: none; opacity: 1; transform: none; }
html:not(.motion-ready) .patio__cap { margin-bottom: 1.5rem; }
html:not(.motion-ready) .patio__grade, html:not(.motion-ready) .letterbox { display: none; }
html:not(.motion-ready) .patio__head::before { display: none; }
html:not(.motion-ready) .patio--interactive .patio__choices { position: static; }
html:not(.motion-ready) .patio--interactive .patio__img[aria-hidden="true"], html:not(.motion-ready) .patio--interactive .patio__cap[aria-hidden="true"] { display: none; }
@media(max-width: 859.98px) {
  .scene--hero .pin { min-height: 740px; }
  .hero__inner { padding: 7.5rem 1.25rem 14rem; }
  .hero__title { font-size: clamp(3.7rem, 12.7vw, 6rem); }
  .hero__eyebrow { font-size: 16px; letter-spacing: .06em; max-width: 21ch; }
  .hero__sub { font-size: 20px; }
  .opening__shade { background: linear-gradient(90deg, #0c0b09c9, #0c0b0966), linear-gradient(0deg, #0c0b09, transparent 85%); }
  .opening__outside { object-position: 60% 50%; }
  .opening__inside { object-position: 40% 50%; }
  .opening__trail { bottom: calc(1rem + var(--dock-h)); left: 1.25rem; right: 1.25rem; gap: .8rem; }
  .opening__trail a { font-size: 1.2rem; padding-right: 0; }
  .opening__trail span { font-size: 16px; }
  .opening__trail b { display: none; }
  .opening__arrival { bottom: calc(11rem + var(--dock-h)); }
  .menu-preview__heading { grid-template-columns: 1fr; gap: 1rem; }
  .menu-preview__links { grid-template-columns: 1fr; margin-top: 0; }
  .menu-preview__links>a, .menu-preview__links>a:first-child { padding: 1.5rem 0; border: 0; border-top: 1px solid #37291940; gap: .75rem; }
  .menu-preview h3 br { display: none; }
  .section--room>.wrap { display: block; }
  .section--room .room__grid { margin-top: 2rem; }
  .room__grid figure:last-child { margin-top: -2rem; }
  .taps__content { display: block; }
  .taps__content .lede { margin: 1.2rem 0; }
  .patio__choices { gap: 1rem; }
  .patio__cap { max-width: 85vw; }
  .patio__cap h3 { font-size: clamp(2.6rem, 9vw, 4rem); }
}
@media(max-height: 739px) {
  .scene--hero { height: auto; }
  .scene--hero .pin { position: relative; height: auto; min-height: 740px; }
  .hero__inner { min-height: 740px; opacity: 1; }
  .opening__arrival, .opening__inside { display: none; }
}
@media(prefers-reduced-motion: reduce) {
  .opening__photos img { transform: none; }
  .room__grid figure:last-child { transform: none; }
}
.text-enlarged .scene--hero { height: auto; }
.text-enlarged .scene--hero .pin { position: relative; height: auto; min-height: 0; padding-bottom: calc(1rem + var(--dock-h)); }
.text-enlarged .hero__inner { min-width: 0; width: 100%; height: auto; min-height: 0; padding: 5rem 1.25rem 2rem; opacity: 1; }
.text-enlarged .hero__title { font-size: clamp(2.8rem, 12vw, 5rem); overflow-wrap: anywhere; max-width: 100%; }
.text-enlarged .opening__trail { position: relative; bottom: auto; left: auto; right: auto; margin: 0 1.25rem; grid-template-columns: 1fr; }
.text-enlarged .opening__trail a { min-height: 44px; }
