:root{--jobs:#31475a;--surface:#fffaf0;--line:rgba(39,30,26,.12);--soft-shadow:0 18px 55px rgba(39,30,26,.10)}
.site-header{position:sticky;top:0;height:96px;background:rgba(254,248,231,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:0 6px 25px rgba(39,30,26,.035)}
.site-header nav a,.back{position:relative;transition:color .2s ease,transform .2s ease}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--wine);transition:right .25s ease}
.site-header nav a:hover:after{right:0}
.button{border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(39,30,26,.15)}
.hero-photo{inset:24px 0 24px 38%;border-radius:28px 0 0 28px;box-shadow:var(--soft-shadow)}
.intro{align-items:start}
.intro-heading{position:sticky;top:145px}
.intro-copy{padding:clamp(24px,3vw,44px);background:rgba(255,250,240,.64);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 45px rgba(39,30,26,.055)}
.feature-grid{gap:12px;padding:12px;background:var(--cream)}
.feature{border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(39,30,26,.12);transition:transform .35s ease,box-shadow .35s ease}
.feature:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(39,30,26,.18)}
.feature>div{padding:clamp(2rem,4vw,4rem)}
.feature h2{font-size:clamp(2.2rem,4vw,4rem)}
.locations{margin:12px;border-radius:28px;overflow:hidden}
.location-list article{transition:background-color .2s ease;padding-left:18px;padding-right:18px;border-radius:14px}
.location-list article:hover{background:rgba(255,255,255,.055)}
.quick-links{gap:12px;padding:12px;background:var(--cream)}
.quick-links a{border-radius:22px;min-height:300px;box-shadow:0 14px 36px rgba(39,30,26,.11);transition:transform .25s ease,box-shadow .25s ease}
.quick-links a:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(39,30,26,.17)}
.quick-links .jobs{background:var(--jobs);color:white}
.choice-card{border-radius:26px;box-shadow:var(--soft-shadow)}
.notice{border-left:0;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 35px rgba(39,30,26,.07)}
.menu-gallery{width:min(1180px,calc(100% - 32px));margin:0 auto 70px;display:grid;gap:24px;justify-items:center}
.menu-gallery.portrait{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.menu-gallery img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:var(--soft-shadow)}
.menu-gallery.landscape img{max-width:1024px}
.location-details{width:min(900px,calc(100% - 32px));margin:0 auto 56px;padding:clamp(24px,4vw,44px);background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--soft-shadow);text-align:center}
.location-details h2{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3.5rem);margin:.2em 0}
.location-details p{line-height:1.7}
footer{margin:12px;border-radius:26px 26px 0 0;background:#202d35}
.social-links{display:flex;align-items:center;gap:12px}
.social-links a{width:48px;height:48px;margin:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.social-links a:hover,.social-links a:focus-visible{transform:translateY(-3px);background:var(--wine);border-color:var(--wine);outline:none}
.social-links svg{width:23px;height:23px;fill:currentColor}
@media(max-width:760px){.site-header{height:82px}.site-header nav{top:82px;border-radius:0 0 18px 18px;box-shadow:0 18px 35px rgba(39,30,26,.12)}.site-header nav a:after{display:none}.hero{min-height:750px}.hero-photo{inset:10px;border-radius:22px}.hero-copy{padding-bottom:42px}.intro-heading{position:static}.intro-copy{padding:24px;border-radius:18px}.feature-grid{gap:8px;padding:8px}.feature{border-radius:18px}.locations{margin:8px;border-radius:22px}.quick-links{gap:8px;padding:8px}.quick-links a{min-height:220px;border-radius:18px;padding:34px 26px}.menu-gallery.portrait{grid-template-columns:1fr}.menu-gallery{gap:14px}.menu-gallery img,.location-details{border-radius:16px}footer{margin:8px;border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
