@media (max-width:800px) {
	.menu-action-group { align-items:stretch; flex-direction:column; width:100%; }
	.menu-action-group .button { justify-content:space-between; }
	.small-menu-link { align-self:flex-start; }
}
:root { --cream:#fbf4df; --paper:#f4e5b5; --yellow:#f2be38; --green:#1e4a35; --dark:#171813; --brown:#5b2e22; --line:rgba(30,74,53,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--dark); background:var(--cream); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { align-items:center; display:flex; justify-content:space-between; max-width:1220px; margin:auto; padding:25px 32px; position:relative; z-index:2; }
.brand { align-items:center; display:flex; gap:11px; line-height:1; }
.brand-logo { background:var(--dark); border:2px solid var(--yellow); border-radius:8px; display:block; height:48px; object-fit:contain; width:58px; }
.brand b,.brand small { display:block; }.brand b { color:var(--brown); font-family:'Playfair Display',serif; font-size:16px; }.brand small { font-size:10px; letter-spacing:1.5px; margin-top:4px; text-transform:uppercase; }
.nav { display:flex; gap:38px; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }.nav a:hover,.text-link:hover { color:var(--brown); }
.header-action { border-bottom:1px solid var(--green); color:var(--green); font-size:12px; font-weight:bold; padding-bottom:5px; }.header-action span,.text-link span { margin-left:10px; }
.hero { display:grid; grid-template-columns:1fr 1fr; margin:15px auto 0; max-width:1220px; min-height:650px; overflow:hidden; padding:0 32px 72px; }
.hero-copy { align-self:center; padding:50px 5% 40px 6%; }.eyebrow { align-items:center; color:var(--green); display:flex; font-size:10px; font-weight:700; gap:9px; letter-spacing:2px; text-transform:uppercase; }.eyebrow span { background:var(--yellow); border-radius:50%; display:inline-block; height:7px; width:7px; }
h1,h2 { color:var(--brown); font-family:'Playfair Display',Georgia,serif; font-weight:700; letter-spacing:-2px; line-height:.94; margin:22px 0; } h1 { font-size:clamp(68px,8vw,114px); } h2 { font-size:clamp(48px,6vw,78px); } h1 em,h2 em { color:var(--green); font-style:italic; }
.hero-intro { font-size:17px; line-height:1.6; max-width:390px; }.hero-actions { align-items:center; display:flex; gap:28px; margin-top:34px; }.button { align-items:center; border:1px solid transparent; display:inline-flex; font-size:12px; font-weight:700; gap:30px; letter-spacing:1px; padding:16px 20px; text-transform:uppercase; }.button-dark { background:var(--green); color:var(--cream); }.button-dark:hover { background:var(--brown); }.button-light { background:var(--yellow); color:var(--dark); }.text-link { border-bottom:1px solid var(--green); color:var(--green); font-size:12px; font-weight:700; padding-bottom:5px; }.hero-notes { border-top:1px solid var(--line); display:flex; gap:20px; margin-top:55px; padding-top:16px; }.hero-notes span { color:var(--green); font-size:10px; font-weight:bold; letter-spacing:.5px; text-transform:uppercase; }.hero-notes span:not(:last-child):after { content:'·'; margin-left:20px; }
.hero-art { align-items:center; background:var(--yellow); display:flex; justify-content:center; min-height:610px; position:relative; }.hero-art:before { border:1px solid rgba(91,46,34,.22); content:''; inset:18px; pointer-events:none; position:absolute; }.hero-art img { box-shadow:15px 20px 0 rgba(91,46,34,.16); max-height:565px; max-width:64%; object-fit:cover; transform:rotate(3deg); }.hero-stamp { color:var(--brown); font-family:'Playfair Display',serif; font-size:14px; line-height:1.15; position:absolute; right:6%; text-align:center; top:10%; transform:rotate(8deg); z-index:1; }.hero-stamp i { color:var(--green); font-size:18px; }.leaf-note { bottom:8%; color:var(--green); font-family:'Playfair Display',serif; font-size:14px; left:6%; position:absolute; transform:rotate(-8deg); }.leaf-note b { color:var(--brown); font-size:22px; }
.ticker { background:var(--green); color:var(--cream); display:flex; font-family:'Playfair Display',serif; font-size:17px; gap:35px; justify-content:center; overflow:hidden; padding:18px; white-space:nowrap; }.ticker b { color:var(--yellow); }
.menu-section { margin:auto; max-width:1220px; padding:110px 32px 120px; }.section-heading { align-items:end; display:flex; justify-content:space-between; }.section-heading h2 { margin-bottom:0; }.section-intro { color:#5e5a4d; font-size:15px; line-height:1.7; max-width:335px; padding-bottom:6px; }.filters { border-bottom:1px solid var(--line); display:flex; gap:25px; margin:55px 0 30px; overflow:auto; padding-bottom:1px; white-space:nowrap; }.filter { background:none; border:0; color:#817b6a; cursor:pointer; font-size:11px; font-weight:bold; letter-spacing:1px; padding:0 0 15px; text-transform:uppercase; }.filter.active,.filter:hover { border-bottom:3px solid var(--brown); color:var(--brown); }
.menu-cta { align-items:center; display:flex; gap:28px; justify-content:space-between; margin:45px 0 28px; }.menu-cta>span { color:var(--green); font-size:11px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; }.menu-cta-large { background:var(--paper); border-left:5px solid var(--yellow); margin:0; padding:27px 30px; }.menu-cta-large p { color:#655944; font-size:14px; line-height:1.65; margin:0; }.menu-cta-large strong { color:var(--brown); font-family:'Playfair Display',serif; font-size:19px; font-weight:700; }.menu-snapshot { border-bottom:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); margin:42px 0 24px; }.menu-snapshot span { border-right:1px solid var(--line); color:var(--brown); font-family:'Playfair Display',serif; font-size:15px; padding:18px 15px; }.menu-snapshot span:nth-child(4n) { border-right:0; }.menu-snapshot span:nth-child(n+5) { border-top:1px solid var(--line); }
.menu-action-group { align-items:center; display:flex; flex-wrap:wrap; gap:20px; justify-content:flex-end; }.small-menu-link { border-bottom:1px solid var(--green); color:var(--green); font-size:11px; font-weight:bold; padding-bottom:4px; white-space:nowrap; }
.poster-gallery-heading { align-items:end; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin:78px 0 28px; padding-bottom:14px; }.poster-gallery-heading .eyebrow { margin:0; }.poster-gallery-heading>p:last-child { color:#817b6a; font-size:12px; margin:0; }
.menu-grid { display:grid; gap:22px; grid-template-columns:repeat(4,1fr); }.poster-card { background:var(--paper); border:0; cursor:pointer; padding:0; position:relative; text-align:left; transition:transform .25s ease,box-shadow .25s ease; }.poster-card:hover { box-shadow:10px 12px 0 rgba(30,74,53,.16); transform:translateY(-5px); }.poster-card img { display:block; height:auto; width:100%; }.poster-card.featured { grid-column:span 2; grid-row:span 2; }.poster-card.featured .card-label { font-size:15px; }.card-label { align-items:center; background:var(--cream); bottom:0; color:var(--brown); display:flex; font-family:'Playfair Display',serif; font-size:12px; justify-content:space-between; left:0; padding:12px 14px; position:absolute; right:0; }.card-label b { color:var(--green); font-family:'DM Sans'; font-size:14px; }.poster-card.hidden { display:none; }.menu-note { color:#817b6a; font-size:11px; font-style:italic; margin-top:25px; text-align:center; }
.story-section { background:var(--green); color:var(--cream); display:grid; grid-template-columns:1.1fr .9fr; min-height:690px; }.story-image { background:#d7a72f; overflow:hidden; }.story-image img { display:block; height:100%; object-fit:cover; object-position:top center; width:100%; }.story-copy { align-self:center; padding:80px 12%; }.eyebrow-light { color:var(--yellow); }.story-copy h2 { color:var(--yellow); }.story-copy h2 em { color:var(--cream); }.story-copy p:not(.eyebrow) { color:rgba(251,244,223,.78); font-size:15px; line-height:1.75; max-width:430px; }.story-copy .button { margin-top:20px; }
.reviews-section { background:var(--cream); margin:auto; max-width:1220px; padding:110px 32px 120px; }.reviews-heading { align-items:end; display:flex; justify-content:space-between; }.reviews-heading h2 { margin-bottom:0; }.reviews-heading>p { color:#6c6049; font-size:14px; line-height:1.7; max-width:310px; }.reviews-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin-top:55px; }.review-card { background:#f5e7bd; border-top:4px solid var(--yellow); display:flex; flex-direction:column; min-height:245px; padding:25px; }.review-featured { background:var(--green); border-top-color:var(--yellow); color:var(--cream); grid-column:span 2; }.stars { color:var(--yellow); font-size:13px; letter-spacing:3px; }.review-card blockquote { font-family:'Playfair Display',serif; font-size:18px; line-height:1.45; margin:18px 0 26px; }.review-featured blockquote { font-size:25px; max-width:650px; }.reviewer { border-top:1px solid rgba(91,46,34,.2); display:flex; flex-direction:column; gap:4px; margin-top:auto; padding-top:13px; }.review-featured .reviewer { border-top-color:rgba(251,244,223,.25); }.reviewer strong { color:var(--brown); font-size:12px; letter-spacing:1px; text-transform:uppercase; }.review-featured .reviewer strong { color:var(--yellow); }.reviewer span { color:#796b52; font-size:11px; }.review-featured .reviewer span { color:rgba(251,244,223,.7); }.review-link { color:var(--green); display:block; font-size:11px; font-weight:bold; letter-spacing:1px; margin:30px auto 0; text-align:center; text-transform:uppercase; }.review-link span { margin-left:8px; }
.visit-section { background:var(--yellow); padding:100px 32px 95px; text-align:center; }.visit-section .eyebrow { justify-content:center; }.visit-section h2 { margin:18px auto 48px; }.visit-details { align-items:center; border-top:1px solid rgba(91,46,34,.25); display:flex; gap:60px; justify-content:center; margin:auto; max-width:900px; padding-top:32px; text-align:left; }.visit-details>div { display:grid; grid-template-columns:35px 1fr; }.detail-icon { color:var(--brown); font-size:25px; grid-row:span 2; }.visit-details strong { color:var(--brown); font-family:'Playfair Display',serif; font-size:15px; }.visit-details p { color:#72503b; font-size:12px; margin:5px 0 0; }
.visit-actions { align-items:center; display:flex; gap:24px; justify-content:center; margin-top:35px; }.place-link { border-bottom:1px solid var(--green); color:var(--green); font-size:11px; font-weight:bold; padding-bottom:5px; }
footer { background:var(--dark); color:rgba(251,244,223,.7); display:flex; font-size:10px; justify-content:space-between; letter-spacing:1px; padding:24px 32px; text-transform:uppercase; }
.poster-dialog { background:rgba(23,24,19,.92); border:0; height:100%; max-height:none; max-width:none; padding:5vh 10vw; width:100%; }.poster-dialog::backdrop { background:rgba(23,24,19,.9); }.poster-dialog img { display:block; height:90vh; margin:auto; max-width:100%; object-fit:contain; }.dialog-close { background:none; border:0; color:var(--cream); cursor:pointer; font-size:40px; position:absolute; right:28px; top:14px; }
@media (max-width:800px) { .site-header { padding:18px 20px; }.nav { gap:15px; }.nav a:nth-child(2) { display:none; }.header-action { display:none; }.hero { display:block; padding:0 20px 45px; }.hero-copy { padding:65px 2% 50px; }.hero-art { min-height:520px; }.hero-art img { max-height:465px; max-width:72%; }.hero-stamp { right:4%; }.hero-notes { flex-wrap:wrap; gap:8px 15px; margin-top:38px; }.hero-notes span:not(:last-child):after { margin-left:15px; }.ticker { justify-content:flex-start; }.menu-section { padding:75px 20px 80px; }.section-heading { align-items:start; display:block; }.section-intro { margin-top:25px; }.menu-snapshot { grid-template-columns:repeat(2,1fr); }.menu-snapshot span:nth-child(4n) { border-right:1px solid var(--line); }.menu-snapshot span:nth-child(2n) { border-right:0; }.menu-snapshot span:nth-child(n+3) { border-top:1px solid var(--line); }.menu-cta-large { align-items:flex-start; display:flex; flex-direction:column; gap:20px; }.menu-cta-large .button { justify-content:space-between; width:100%; }.filters { gap:20px; margin-top:38px; }.menu-grid { gap:12px; grid-template-columns:repeat(2,1fr); }.poster-card.featured { grid-column:span 2; grid-row:span 1; }.story-section { display:block; }.story-image { max-height:620px; }.story-copy { padding:65px 25px 75px; }.visit-section { padding:75px 20px; }.visit-details { align-items:stretch; display:grid; gap:25px; justify-content:stretch; }.visit-details .button { justify-content:space-between; }.visit-details>div { text-align:left; } footer { display:grid; gap:12px; line-height:1.5; }.poster-dialog { padding:8vh 5vw; }.poster-dialog img { height:84vh; } }
@media (max-width:800px) { .reviews-section { padding:75px 20px 80px; }.reviews-heading { align-items:start; display:block; }.reviews-heading>p { margin-top:25px; }.reviews-grid { grid-template-columns:1fr; margin-top:38px; }.review-featured { grid-column:auto; }.review-featured blockquote { font-size:20px; }.visit-actions { align-items:stretch; flex-direction:column; }.visit-actions .button { justify-content:space-between; }.place-link { align-self:center; } }