:root{--paper:#f8f5ed;--ink:#24281e;--green:#26372a;--gold:#e2bf81;--muted:#565d50;--serif:"Iowan Old Style",Baskerville,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,sans-serif}
a{color:inherit;text-underline-offset:.25em}
a:focus-visible{outline:3px solid #a46e25;outline-offset:5px}
img{display:block;width:100%;object-fit:cover}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px clamp(20px,5vw,80px);gap:24px}
.brand{width:max-content;text-align:center;text-decoration:none;font:30px/.95 var(--serif)}
.brand span{display:block;margin-top:8px;font:700 9px/1 system-ui,sans-serif;letter-spacing:.28em}
nav{display:flex;gap:32px}
nav a,footer a{text-decoration:none}
nav a:hover,footer a:hover{text-decoration:underline}
.top>.button{justify-self:end}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#231b11;border:1px solid transparent;min-height:46px;padding:11px 21px;text-decoration:none;font-weight:700;font-size:14px;transition:background .18s}
.button:hover{background:#f3d59f}
.outline{background:transparent;border-color:#858a79;color:var(--ink)}
.light{background:transparent;border-color:#fff9;color:white}
.light:hover{background:#ffffff26}
.hero{position:relative;display:grid;align-items:center;min-height:clamp(480px,68vh,710px);isolation:isolate;color:#fff}
.hero img,.hero::after{position:absolute;inset:0;height:100%;width:100%;z-index:-1}
.hero::after{content:"";background:linear-gradient(90deg,#171b14e8 0%,#171b14ba 36%,#171b1440 80%,#171b1440)}
.hero-copy{padding:72px max(6vw,24px);max-width:830px}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:750;color:#745427;margin:0 0 12px}
.hero .eyebrow,.contact .eyebrow,.food .eyebrow{color:#f0cd94}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0}
h1{font-size:clamp(62px,9vw,142px);letter-spacing:-.06em}
h2{font-size:clamp(42px,5.3vw,76px);letter-spacing:-.045em}
h3{font-size:32px;letter-spacing:-.03em}
.hero-copy>p:not(.eyebrow){font-size:clamp(17px,2vw,22px);max-width:480px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.wrap{max-width:1440px;margin:auto;padding:clamp(65px,8vw,118px) max(6vw,24px)}
.intro{max-width:680px;color:var(--muted);margin:20px 0 36px}
.spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.spaces img{aspect-ratio:1.45;margin-bottom:20px}
.spaces p,.occasions p:not(.eyebrow){color:var(--muted);margin:9px 0 0}
.food,.contact{background:var(--green);color:#fff9eb}
.food{display:grid;grid-template-columns:1.1fr 1fr;min-height:490px}
.food-photos{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.food-photos img{height:100%;min-height:0}
.food-copy{padding:clamp(34px,6vw,95px);align-self:center}
.food-copy .button{margin-top:12px}
.occasions{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(28px,7vw,110px)}
.occasions img{aspect-ratio:1.25;object-position:center 42%}
.occasions ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin:26px 0 0}
.occasions li{border-top:1px solid #c9c8b6;padding:10px 0;font-size:15px}
.contact-inner{max-width:1440px;margin:auto;padding:clamp(48px,7vw,96px) max(6vw,24px);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
address{margin-top:24px;font-style:normal}
footer{display:flex;justify-content:space-between;gap:12px;padding:22px max(6vw,24px);font-size:14px}
@media(max-width:750px){
.top{grid-template-columns:1fr auto;gap:14px}
nav{grid-row:2;grid-column:1/-1;justify-content:center;gap:24px;border-top:1px solid #ddd7c9;padding-top:10px;font-size:14px}
.hero::after{background:linear-gradient(90deg,#171b14e0,#171b1475)}
.spaces,.food,.occasions,.contact-inner{grid-template-columns:1fr}
.spaces{gap:34px}
.food-photos img{height:240px}
.occasions img{max-height:410px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.gallery{padding-top:0}
.gallery h2{margin-bottom:28px}
.gallery figure{margin:0}
.gallery img{margin-bottom:9px}
.gallery figcaption{color:var(--muted);font-size:15px}
