/* Read the restaurant information at a normal viewing distance. */
:root{--muted:#535a53}
body{font-size:18px!important}
.eyebrow{letter-spacing:.075em!important;line-height:1.5}
.header-location span,.scene-heading,.dish-credit span,.footer-bottom{color:#535a53}
.header-location span,.scene-nav button span{font-size:16px!important}
.header nav{gap:24px}.header-location span{letter-spacing:.04em}.header-location{font-size:18px!important}
.story-copy .lede{font-size:clamp(18px,1.5vw,22px)!important;line-height:1.55}
.story-copy .eyebrow{margin-bottom:20px}.dish-credit{line-height:1.5}.story-copy .text-button{margin-top:20px}
.food-intro>div>p,.feature-caption p:not(.eyebrow),.round-copy>p:not(.eyebrow),.ease-heading>p:last-child,.people-copy>p:last-child,.visit-faq details p,.service-ticket li p{font-size:18px!important;line-height:1.7}
.service-ticket h4,.menu-item h4{font-size:18px!important;line-height:1.45}.service-ticket{padding:38px}.ticket-top{flex-wrap:wrap;gap:12px}.service-ticket li{gap:18px}.ticket-total{flex-wrap:wrap;gap:12px}.service-ticket li p{color:#53594f}
.feature-caption small,.food-footnote,.hours-note,.menu-item>p,.menu-tools>span,.menu-bottom,.concept-details dd,.concept-footnote{color:#535a53}
.menu-item>p{line-height:1.7}.menu-item>.price{font-size:17px!important}.menu-tabs button{font-size:18px!important}.menu-tools{flex-wrap:wrap}.menu-tools label{min-width:220px}.menu-categories button{font-size:16px!important}.menu-items{gap:28px 36px}.menu-item{min-width:0}.menu-bottom{flex-wrap:wrap}.menu-bottom p{max-width:54ch}
.visit-details table{font-size:17px!important}.visit-details thead{color:#575749}.visit-details th,.visit-details td{padding:18px 10px 18px 0}.footer-main{flex-wrap:wrap}.footer-links{flex-wrap:wrap}.footer-bottom{flex-wrap:wrap;gap:18px 26px}.footer-bottom button,#concept-notes-open{font-size:16px!important;min-height:48px}
.stage-bottom{min-height:78px;gap:24px}.scene-nav{gap:10px}.scene-nav button{width:48px;min-height:48px}.scroll-invite{line-height:1.5}.motion-toggle{min-height:48px;white-space:nowrap}.daylight-control{font-size:16px!important}.patio-bottom{gap:30px}.patio-bottom>p{max-width:22ch}.still .patio-story .patio-bottom>p::after{font-size:16px!important}
.concept-details dt{font-size:18px!important}.concept-details dd,.concept-intro{font-size:17px!important;line-height:1.7}.concept-shell h2{letter-spacing:-.04em}.concept-top .eyebrow{letter-spacing:.03em;line-height:1.5}.concept-top{align-items:flex-start}
@media(min-width:741px){.table-copy{height:510px;top:50%;transform:translateY(-48%)}.story-copy h1,.story-copy h2{font-size:clamp(72px,7.5vw,116px)!important}.table-world{right:-1%}.ease-section{grid-template-columns:1fr 1.2fr;gap:7%}}
@media(min-width:741px) and (max-height:850px){.table-copy{height:450px;top:49%}.story-copy h1,.story-copy h2{font-size:clamp(65px,6.6vw,90px)!important}.story-copy .eyebrow{margin-bottom:14px}.story-copy .lede{margin-top:18px}.story-copy .text-button{margin-top:16px}.scene-heading{top:16px}.stage-bottom{bottom:12px;min-height:68px}}
@media(min-width:741px) and (max-width:1150px){.header-location{display:none}.header nav{gap:20px}.table-copy{width:42%}.photo-ready .table-copy{width:42%}}
@media(max-width:740px){
  :root{--pad:24px}.header{gap:12px;padding:0 18px}.header-menu{gap:14px;padding:12px 16px}.header nav{gap:12px}.header-menu span{font-size:22px!important}
  .scene-heading{top:18px;font-size:16px!important;letter-spacing:0}.table-copy{top:64px;height:310px;left:var(--pad);right:var(--pad)}
  .story-copy{grid-template-columns:minmax(0,1fr) 125px;gap:0 15px}.story-copy .eyebrow{font-size:16px!important;margin-bottom:14px;letter-spacing:.055em}.story-copy h1,.story-copy h2{font-size:58px!important;line-height:1}.story-copy .lede{font-size:17px!important;line-height:1.55;padding:0;align-self:center}
  .story-copy .dish-credit{position:static;grid-column:1/-1;grid-row:3;max-width:none;text-align:left;margin:16px 0 0;font-size:16px!important;line-height:1.45}.dish-credit br{display:none}.dish-credit span::before{content:' · '}.story-copy .text-button{grid-column:1/-1;margin-top:9px;padding:10px 0;gap:20px;min-height:48px;font-size:16px!important}
  .table-world{top:340px;height:calc(100% - 448px)}.table-rig{width:min(84vw,calc(100svh - var(--head) - 486px));height:min(84vw,calc(100svh - var(--head) - 486px));top:50%}
  .table-stage{min-height:700px;height:calc(100svh - var(--head) - 66px)}.still .table-stage{min-height:760px}
  .stage-bottom{bottom:12px;min-height:70px;gap:10px;flex-wrap:wrap;align-items:center;padding-top:10px}.scroll-invite{display:none}.scene-nav{gap:4px}.scene-nav button{width:44px;min-height:48px;padding:8px}.motion-toggle{font-size:16px!important;gap:6px;padding:8px 0}.motion-toggle span{font-size:18px!important}
  .mobile-dock{padding:8px 12px max(8px,env(safe-area-inset-bottom))}.mobile-dock>a,.mobile-dock>button{font-size:16px!important;gap:10px;padding:10px 12px;min-height:48px}
  .feature-caption{gap:16px}.feature-caption .eyebrow{letter-spacing:.04em}.feature-caption h3{font-size:31px!important;line-height:1.2}.feature-caption small{line-height:1.7}.feature-offset{padding-left:0}.food-feature:first-child{padding-right:0}.circle-button{width:48px;height:48px;flex-basis:48px}.paper-label{font-size:18px!important}
  .service-ticket{padding:28px 24px;margin:0;transform:none!important}.ticket-top{display:block}.ticket-top>span{display:block;margin-bottom:5px}.ticket-total{align-items:flex-start}.ticket-total strong{font-size:18px!important}.service-ticket li{gap:14px}.service-ticket h3{font-size:36px!important}
  .visit-details table{font-size:16px!important;line-height:1.6}.visit-details th,.visit-details td{padding:17px 5px 17px 0}.visit-heading>p:not(.eyebrow){font-size:20px!important}.visit-faq details p{overflow-wrap:anywhere}.footer-links{gap:18px}.footer-bottom{gap:14px 22px}.footer-main{gap:18px}.footer-main>p{font-size:23px!important}.footer-brand{width:125px}.footer-brand img{width:125px}.footer-links a{min-height:48px}
  .patio-stage{min-height:700px}.patio-copy{top:40%}.patio-copy>p{font-size:18px!important;max-width:26ch}.patio-copy .button{font-size:16px!important;max-width:100%;gap:16px}.patio-bottom{bottom:28px;gap:15px}.patio-top .eyebrow{letter-spacing:.06em}.people-photo figcaption{font-size:16px!important;gap:8px 18px}.people-photo figcaption>span:first-child{font-size:27px!important}
  .menu-shell{padding:24px 22px}.menu-top .eyebrow{max-width:19ch;line-height:1.5;letter-spacing:.03em}.menu-top h2{font-size:40px!important}.menu-tabs{gap:28px}.menu-tools label{min-width:0;width:100%}.menu-categories{flex-wrap:wrap;overflow:visible;padding:0;gap:8px}.menu-categories button{white-space:normal;padding:10px 15px}.menu-top{position:static}.menu-items{gap:28px}.concept-top{position:static}.concept-shell{padding:26px 24px}.concept-top .eyebrow{font-size:16px!important;max-width:none}.concept-shell h2{font-size:36px!important}.concept-intro,.concept-details dd{font-size:17px!important}
}
@media(max-width:380px){.header nav{display:none}.header-menu{margin-left:auto}.story-copy{grid-template-columns:minmax(0,1fr) 116px;gap:0 12px}.story-copy h1,.story-copy h2{font-size:53px!important}.story-copy .lede{font-size:16px!important}.scene-nav{gap:0}.scene-nav button{width:40px}.motion-toggle{font-size:16px!important;gap:5px}.motion-toggle span{display:none}.mobile-dock>a,.mobile-dock>button{padding:10px}.story-copy .dish-credit{margin-top:12px}.footer-main>p{font-size:22px!important}}
/* Short windows use an unpinned stage so larger text never sits beyond an
   inaccessible fixed viewport. Chapter selection remains available below it. */
/* Short windows keep the pinned, scroll-driven stage (the earlier static swap here left laptop-height desktop windows with a dead chapter row and a table that jumped from the first scene to the last); the stage simply fits the window. */@media(min-width:741px) and (max-height:790px){.table-stage{min-height:0;height:calc(100svh - var(--head))}.table-copy{height:400px;top:46%}.story-copy h1,.story-copy h2{font-size:clamp(60px,6.2vw,84px)!important}.story-copy .eyebrow{margin-bottom:14px}.story-copy .lede{margin-top:14px;font-size:16px!important}.story-copy .text-button{margin-top:12px}.stage-bottom{min-height:60px;bottom:10px;padding-top:10px}}
/* Keep the close action reachable after scrolling a long, readable menu. */
.close-button{min-width:44px;min-height:44px}
@media(max-width:740px){.menu-top,.concept-top{position:sticky;top:0;background:var(--paper);z-index:3}.concept-top{padding:7px 0}}

@media(min-width:741px) and (max-height:700px){.table-copy{height:360px;top:40%}.story-copy h1,.story-copy h2{font-size:clamp(54px,5.6vw,76px)!important}.story-copy .lede{font-size:15px!important;margin-top:12px}.stage-bottom{min-height:54px}}

/* Visit heading, 2026-09-23: the phone number was touching the directions button.
   The tap-target pass above gave .phone-link display:inline-flex to get it to 44px,
   which silently undid the display:block in the base rule - so the number stopped
   being its own line and sat hard against the button, at every width. flex is the
   same box model for the tap target and still a block-level box, so the number
   returns to its own line under the button with the base 22px margin-top, which is
   how this section was drawn. Nothing else about the link changes. */

