html{scroll-padding-top:110px}
body{overflow-x:visible}
header,header.scrolled{height:auto;min-height:88px}
header nav{display:flex;gap:12px}
nav a,.button,.text-link,.contact a,footer>a{min-height:44px;display:inline-flex;align-items:center}
nav a{font-size:14px;padding:8px}
.button,.text-link{font-size:16px}
.hero{min-height:0}.hero-copy{padding-top:48px}.hero-photo{min-height:580px}
h1{font-size:clamp(3.25rem,5.5vw,5.5rem);letter-spacing:-.035em}
h2{font-size:clamp(2.5rem,4.5vw,4.375rem);letter-spacing:-.035em}
.hero-copy,.hero-photo,.dish-list,.visit-details,.visit-details>div,.gather-row>div{min-width:0}
.dish-number{flex-shrink:0}.dish-list p:last-child,.visit-details p,dl{font-size:16px}
.eyebrow,.hero .eyebrow,.dish-list .eyebrow,.hero-foot,.service-note,.wordmark span,.welcome-strip,footer>span{font-size:12px}
.visit{grid-template-columns:1fr}.visit-details{max-width:none;grid-template-columns:1fr 1fr}
dl>div{flex-wrap:wrap;gap:4px 16px}.contact a{overflow-wrap:anywhere}
.section{padding-top:76px;padding-bottom:76px}
a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip:focus{z-index:100;top:8px}
@media(max-width:1100px){
 header{flex-wrap:wrap;padding:12px 5%;gap:8px 16px}
 header nav{order:3;flex-basis:100%;justify-content:space-between;border-radius:12px;padding:0 4px;gap:0}
 html{scroll-padding-top:150px}
 .hero{grid-template-columns:1fr 1fr}
 .hero-copy{padding:32px 7% 24px}
 .hero-photo{min-height:520px}
 .hero-foot{flex-wrap:wrap}
}
@media(max-width:700px){
 header,header.scrolled{min-height:112px}
 header .wordmark{font-size:34px}
 header nav{display:flex}
 nav a{font-size:14px;padding:8px 5px;text-align:center;line-height:1.3}
 .small{font-size:14px;width:auto;height:auto;min-height:44px;padding:8px 18px;gap:12px}
 .small:before{content:none}.small span{display:inline}
 .hero{display:flex}.hero-copy{order:0;padding:28px 6% 24px}.hero-photo{order:1;min-height:0;height:280px;aspect-ratio:auto}
 h1{font-size:clamp(2.75rem,11vw,4rem);margin-bottom:20px;line-height:1.08}
 .hero .eyebrow{letter-spacing:1px;margin-bottom:18px;flex-wrap:wrap}
 .intro{font-size:16px;line-height:1.65;margin-bottom:22px}
 .hero-actions{gap:10px;display:grid;grid-template-columns:1fr}
 .hero-actions .text-link{justify-content:center;margin:0;border:1px solid var(--line);border-radius:999px;padding:12px}
 .hero-foot{margin-top:22px}.hero-photo:before{display:none}
 .photo-caption span:last-child{font-size:22px}
 .dish-image{min-height:0;height:300px;aspect-ratio:auto}
 .section{padding:48px 6%}.menu-grid{display:grid;grid-template-columns:1fr}
 .visit-details{grid-template-columns:1fr}.visit-details>div{padding:20px}
 .dish-list h3{font-size:27px;overflow-wrap:break-word}
 .mobile-reserve{bottom:calc(8px + env(safe-area-inset-bottom,0px));gap:12px}
 .mobile-reserve>a{font-size:16px;min-height:48px;display:flex;align-items:center;gap:8px}
 .mobile-reserve div span{font-size:12px}.mobile-reserve div{min-width:0}
 body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 footer{padding:28px 5%}footer>span:first-of-type{width:auto;font-size:12px}
 .welcome-strip{font-size:12px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}.dish-image:hover img{transform:none}*{transition:none!important}}
