 .button-light::after { content:"" !important; display:inline-block; width:9px; height:9px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg) translateY(2px); }
 .visit { background:var(--mist) !important; color:var(--ink) !important; }
 .visit .eyebrow { color:var(--clay) !important; }
 .visit h2 em { color:var(--clay) !important; }
 .visit .contact-row { border-color:var(--line) !important; }
 .visit .button-light { background:var(--ink) !important; color:var(--cream) !important; }
 .story-copy h2 em { color:#dce2da !important; }
 .panel-link::after { content:none !important; }
 .hero-copy .button::after { content:"" !important; display:inline-block; width:9px; height:9px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(135deg) translateY(2px); }
 .panel-link::after { content:none !important; }
:root { --ink:#3b5246; --olive:#5c6b60; --cream:#f1efe9; --paper:#faf9f6; --clay:#7d756b; --mist:#e4e8e1; --line:rgba(41,54,47,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Noto Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.hero-copy,.hero-panel { animation:rise-in .7s cubic-bezier(.22,.61,.36,1) both; }.hero-panel { animation-delay:120ms; }.reveal,.reveal-item { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1); }.reveal.is-visible,.reveal-item.is-visible { opacity:1; transform:translateY(0); }@keyframes rise-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.hero-copy,.hero-panel,.reveal,.reveal-item { animation:none; opacity:1; transform:none; transition:none; } }
.site-header { align-items:center; display:flex; height:92px; justify-content:space-between; padding:0 5vw; position:absolute; top:0; width:100%; z-index:5; }
.brand { align-items:center; display:flex; gap:10px; line-height:1; }.brand strong { display:block; font-size:19px; letter-spacing:-.8px; }.brand small { color:var(--clay); display:block; font-size:8px; font-weight:700; letter-spacing:1.3px; margin-top:5px; text-transform:uppercase; }.brand-logo { border-radius:50%; display:block; height:42px; object-fit:cover; width:42px; }
.desktop-nav { display:flex; gap:32px; margin-left:18%; }.desktop-nav a { font-size:11px; font-weight:700; }.desktop-nav a:hover { color:var(--clay); }.header-cta { border-bottom:1px solid var(--ink); font-size:11px; font-weight:800; padding-bottom:5px; }.button::after,.panel-link::after { display:inline-block; font-family:Arial,sans-serif; font-size:17px; margin-left:12px; }.button::after { content:"\2193"; }.panel-link::after { content:"\2197"; margin-left:8px; }.menu-toggle { background:none; border:0; color:var(--ink); display:none; font-size:22px; }
.hero { background:var(--cream); display:grid; grid-template-columns:58% 42%; min-height:560px; overflow:hidden; padding:150px 12vw 86px; }.hero-copy { align-self:center; max-width:520px; }.eyebrow { color:var(--clay); font-size:10px; font-weight:800; letter-spacing:2px; margin:0 0 25px; text-transform:uppercase; }h1,h2 { font-family:'Noto Serif Display',Georgia,serif; font-weight:400; letter-spacing:-2px; line-height:.92; margin:0; }h1 { font-size:clamp(58px,7vw,105px); }em { color:var(--clay); font-style:italic; }.hero-text { font-size:13px; line-height:1.8; margin:30px 0; max-width:340px; }.button { align-items:center; display:inline-flex; font-size:11px; font-weight:800; justify-content:space-between; padding:15px 19px; }.hero-copy > .button { margin-top:32px; }.button-dark { background:var(--ink); color:var(--paper); min-width:165px; }
.hero-panel { align-self:center; background:var(--mist); border-left:3px solid var(--clay); display:flex; flex-direction:column; justify-content:center; min-height:290px; padding:45px; }.panel-kicker { color:var(--clay); font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }.hero-panel strong { font-family:'Noto Serif Display',Georgia,serif; font-size:42px; font-weight:400; margin-top:18px; }.hero-panel p { font-size:12px; line-height:1.55; margin:10px 0 20px; }.panel-link { color:var(--clay); font-size:12px; font-weight:800; margin-top:4px; }.panel-link::after { margin-left:8px; }
.ticker { align-items:center; background:var(--olive); color:var(--cream); display:flex; font-size:10px; font-weight:800; gap:26px; justify-content:center; letter-spacing:2px; min-height:58px; overflow:hidden; white-space:nowrap; }.ticker b { font-size:16px; font-weight:400; }
.menu-section { display:grid; gap:8vw; grid-template-columns:27% 1fr; padding:125px 10vw 140px 12vw; }h2 { font-size:clamp(53px,6vw,84px); }.section-intro > p:last-child { font-size:12px; line-height:1.8; margin-top:30px; max-width:210px; }.category-tabs { border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:35px; padding-bottom:18px; }.category-tabs button { background:none; border:0; color:#7e8980; cursor:pointer; font-family:inherit; font-size:11px; font-weight:700; padding:0; }.category-tabs button.active,.category-tabs button:hover { color:var(--clay); }.menu-item { border-bottom:1px solid var(--line); display:grid; gap:18px; grid-template-columns:1fr auto; padding:17px 0; }.menu-item h3 { font-family:'Noto Serif Display',Georgia,serif; font-size:21px; font-weight:400; line-height:1.1; margin:0; }.menu-item p { color:#718076; font-size:11px; line-height:1.5; margin:6px 0 0; max-width:580px; }.price { color:var(--clay); font-size:13px; font-weight:800; padding-top:3px; }.source-note { color:#929c94; font-size:10px; line-height:1.5; margin-top:24px; }
.ingredient-list { background:var(--mist); margin-top:22px; padding:24px; }.ingredient-list h4 { font-family:'Noto Serif Display',Georgia,serif; font-size:22px; font-weight:400; margin:0 0 5px; }.ingredient-list > p { color:#718076; font-size:11px; margin:0 0 18px; }.ingredient-grid { display:grid; gap:0 24px; grid-template-columns:repeat(2,1fr); }.ingredient-grid span { border-top:1px solid var(--line); display:flex; font-size:10px; justify-content:space-between; padding:9px 0; }.ingredient-grid b { color:var(--clay); font-weight:800; }
.story { background:var(--olive); color:var(--cream); min-height:430px; }.story-copy { max-width:780px; padding:90px 12vw; }.story-copy .eyebrow { color:#dce2da; }.story-copy h2 { color:var(--cream); }.story-copy p:not(.eyebrow) { font-size:12px; line-height:1.9; margin:30px 0; max-width:520px; }.signature { color:#d9dfd6; font-family:'Noto Serif Display',Georgia,serif; font-size:14px; line-height:1.3; }.signature strong { color:#fff; font-weight:400; }
.visit { align-items:center; background:var(--clay); color:var(--cream); display:flex; justify-content:space-between; padding:100px 12vw; }.visit .eyebrow { color:#e2e4dc; }.visit h2 em { color:var(--ink); }.visit-details { max-width:330px; }.contact-row { border-bottom:1px solid rgba(255,255,255,.35); display:flex; justify-content:space-between; padding:12px 0; }.contact-row span { font-size:10px; text-transform:uppercase; }.contact-row strong { font-size:11px; }.visit-details p { font-size:12px; line-height:1.8; margin:25px 0; }.button-light { background:var(--cream); color:var(--ink); }
.notice { background:var(--cream); border-top:1px solid var(--line); display:grid; gap:12px 35px; grid-template-columns:repeat(3,1fr); padding:28px 12vw; }.notice p { font-size:11px; line-height:1.6; margin:0; }.notice a { text-decoration:underline; }.facebook-link { color:var(--clay); font-weight:700; text-decoration:none !important; }.facebook-link:hover { color:var(--ink); text-decoration:underline !important; }
.map-section { align-items:stretch; background:var(--paper); display:grid; grid-template-columns:30% 70%; min-height:390px; }.map-heading { padding:75px 5vw 75px 12vw; }.map-heading h2 { font-size:clamp(42px,5vw,68px); }.map-heading > p:not(.eyebrow) { font-size:12px; line-height:1.7; margin:28px 0; }.map-link { border-bottom:1px solid var(--ink); font-size:11px; font-weight:800; padding-bottom:5px; }.map-frame { min-height:390px; }.map-frame iframe { border:0; display:block; height:100%; min-height:390px; width:100%; }
footer { align-items:center; display:flex; justify-content:space-between; padding:28px 5vw; }.footer-brand .brand-logo { height:29px; width:29px; }.footer-brand strong { font-size:15px; }.footer-brand small { font-size:7px; }.footer-brand + p,footer > small { color:#88948b; font-size:10px; }.facebook-link { color:var(--clay); font-size:10px; font-weight:700; text-decoration:none; }.facebook-link:hover { color:var(--ink); text-decoration:underline; }
@media (max-width:800px) { .site-header { height:76px; padding:0 7vw; }.desktop-nav { display:none; }.desktop-nav.mobile-open { background:var(--paper); display:flex; flex-direction:column; gap:18px; left:0; margin:0; padding:22px 7vw 25px; position:absolute; top:76px; width:100%; }.desktop-nav.mobile-open a { font-size:12px; }.header-cta { display:none; }.menu-toggle { display:block; }.hero { display:block; min-height:auto; padding:125px 7vw 65px; }.hero-copy { padding-bottom:55px; }.hero-panel { min-height:240px; padding:30px; }.hero-panel strong { font-size:35px; }.menu-section { display:block; min-width:0; padding:80px 7vw; }.section-intro { margin-bottom:55px; }.section-intro > p:last-child { max-width:290px; }.category-tabs { flex-wrap:nowrap; max-width:100%; min-width:0; overflow:auto; scrollbar-width:none; white-space:nowrap; }.category-tabs button { flex:none; }.story-copy { padding:70px 7vw; }.visit { align-items:flex-start; display:block; padding:75px 7vw; }.visit-details { margin-top:45px; }.notice { display:block; padding:25px 7vw; }.notice p + p { margin-top:13px; }.map-section { display:block; }.map-heading { padding:70px 7vw 45px; }.map-frame,.map-frame iframe { min-height:320px; } footer { align-items:flex-start; flex-direction:column; gap:18px; padding:28px 7vw; } }
.category-tabs { border-bottom:0; gap:8px; }
.category-tabs button { border:1px solid var(--line); border-radius:2px; padding:10px 13px; transition:background-color .5s ease,color .5s ease,border-color .5s ease; }
.category-tabs button.active { background:var(--ink); border-color:var(--ink); color:var(--cream); }
.category-tabs button:hover { background:var(--mist); border-color:var(--clay); color:var(--ink); }
