:root { --ink:#193b36; --paper:#f7f1e6; --sun:#e5b83f; --clay:#b14f3a; --leaf:#86a45c; --line:rgba(25,59,54,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.55 ui-rounded, "Avenir Next", Avenir, "Helvetica Neue", sans-serif; }
a { color:inherit; }
.skip-link { background:var(--ink); color:white; left:1rem; padding:.6rem 1rem; position:absolute; top:-4rem; z-index:4; }
.skip-link:focus { top:1rem; }
.site-header { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:2rem; justify-content:space-between; padding:1.15rem clamp(1.25rem,4vw,4.5rem); position:relative; }
.wordmark { font-size:1.25rem; font-weight:800; letter-spacing:-.07em; text-decoration:none; white-space:nowrap; }
.wordmark span { color:var(--clay); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.site-nav { display:flex; gap:1.4rem; }
.site-nav a { font-size:.86rem; font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; }
.site-nav a:hover, .site-nav a:focus { text-decoration:underline; text-underline-offset:.3rem; }
.menu-toggle { background:none; border:0; color:var(--ink); cursor:pointer; display:none; font:700 .84rem/1 inherit; letter-spacing:.08em; text-transform:uppercase; }
.hero { display:grid; grid-template-columns:1.15fr .85fr; min-height:600px; }
.hero-copy { align-content:center; max-width:670px; padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,9rem); }
.eyebrow { font-size:.73rem; font-weight:800; letter-spacing:.13em; margin:0 0 1rem; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.06em; line-height:.98; }
h1 { font-size:clamp(3.5rem,7vw,7.3rem); margin-bottom:1.5rem; }
h2 { font-size:clamp(2.5rem,5vw,5rem); margin-bottom:1.5rem; }
.hero-copy > p:not(.eyebrow) { font-size:clamp(1.05rem,1.5vw,1.35rem); max-width:34rem; }
.button { background:var(--ink); color:white; display:inline-block; font-weight:800; margin-top:1.2rem; padding:.85rem 1.1rem; text-decoration:none; }
.button:hover { background:var(--clay); }
.hero-art { background:var(--sun); min-height:360px; overflow:hidden; position:relative; }
.hero-art img { height:100%; min-height:360px; object-fit:cover; object-position:center; position:absolute; width:100%; }
.section { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,9rem); }
.section-heading { max-width:44rem; }
.menus { border-top:1px solid var(--line); }
.menu-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin-top:3rem; }
.menu-card { display:flex; flex-direction:column; min-height:300px; padding:1.5rem; text-decoration:none; transition:transform .18s ease; }
.menu-card:hover { transform:translateY(-.35rem); }
.menu-card span { font:italic 1.2rem Georgia,serif; }
.menu-card h3 { font:400 clamp(2rem,3vw,3.2rem)/.95 Georgia,serif; letter-spacing:-.06em; margin:auto 0 1rem; }
.menu-card b { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.menu-card--green { background:var(--ink); color:white; }.menu-card--yellow { background:var(--sun); }.menu-card--red { background:var(--clay); color:white; }
.story { background:#e4ead9; display:grid; gap:4rem; grid-template-columns:1fr 1fr; }.story-copy { max-width:39rem; }.story-copy p { font-size:1.1rem; }
.shop { align-items:center; display:grid; gap:clamp(2rem,7vw,8rem); grid-template-columns:1fr 1fr; }.shop-art { aspect-ratio:1; background:var(--clay); overflow:hidden; position:relative; }.shop-art img { height:100%; object-fit:cover; width:100%; }
.event { background:var(--ink); color:white; padding:clamp(4rem,8vw,8rem) clamp(1.25rem,20vw,25rem); text-align:center; }.event h2 { color:var(--sun); }.event p:not(.eyebrow) { margin-inline:auto; max-width:36rem; }.button--light { background:var(--sun); color:var(--ink); }
.locations { background:#fffdf8; }.location-grid { display:grid; gap:1px; grid-template-columns:repeat(2,1fr); margin-top:3rem; background:var(--line); }.location-grid article { background:#fffdf8; min-height:230px; padding:2rem; }.location-grid h3 { font:400 2rem Georgia,serif; letter-spacing:-.04em; }.location-grid a { display:block; margin-top:.55rem; }.site-footer { background:var(--paper); border-top:1px solid var(--line); display:grid; gap:1.5rem; grid-template-columns:1fr 2fr auto; padding:2rem clamp(1.25rem,4vw,4.5rem); }.site-footer p { margin:0; }.fine-print { font-size:.8rem; white-space:nowrap; }
@media (max-width:700px) { .site-header { gap:1rem; }.menu-toggle { display:block; }.site-nav { background:var(--paper); border-bottom:1px solid var(--line); display:none; flex-direction:column; left:0; padding:1.25rem; position:absolute; right:0; top:100%; z-index:2; }.site-nav.is-open { display:flex; }.hero,.story,.shop { grid-template-columns:1fr; }.hero-art { min-height:260px; }.menu-grid,.location-grid { grid-template-columns:1fr; }.site-footer { grid-template-columns:1fr; }.fine-print { white-space:normal; } }

.menu-page { margin-inline:auto; max-width:1200px; padding:clamp(2rem,6vw,5rem) 1.25rem; }.menu-page header { align-items:center; display:flex; justify-content:space-between; margin-bottom:2rem; }.menu-page h1 { font-size:clamp(2.6rem,5vw,5rem); }.menu-pages { display:grid; gap:1.25rem; grid-template-columns:repeat(2,minmax(0,1fr)); }.menu-pages img { background:white; box-shadow:0 1rem 3rem rgba(25,59,54,.12); height:auto; width:100%; }@media (max-width:700px) { .menu-pages { grid-template-columns:1fr; } }
.analytics-notice { align-items:center; background:var(--ink); bottom:1rem; box-shadow:0 .5rem 2rem rgba(0,0,0,.25); color:white; display:flex; flex-wrap:wrap; font-size:.85rem; gap:.7rem; left:1rem; max-width:42rem; padding:1rem; position:fixed; right:1rem; z-index:10; }.analytics-notice p { flex:1 1 16rem; margin:0; }.analytics-notice a { color:inherit; }.analytics-notice button { background:transparent; border:1px solid currentColor; color:inherit; cursor:pointer; font:inherit; padding:.55rem .7rem; }.analytics-notice button[data-choice="accepted"] { background:var(--sun); color:var(--ink); }.privacy-page { max-width:52rem; }
