*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
ul{list-style:none}
body{background:#faf6ef;color:#2a2218;font-family:'Nunito Sans',system-ui,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#5a7247;font-weight:700;margin-bottom:.55rem}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.08}
h1{font-size:clamp(2.3rem,1.2rem + 4.8vw,4rem);max-width:12ch}
h2{font-size:clamp(1.8rem,1rem + 2.4vw,2.7rem)}
.pill{display:inline-flex;padding:.75rem 1.4rem;border-radius:999px;background:#c45c26;color:#fff;font-weight:700;font-size:.9rem;transition:transform .2s,box-shadow .2s}
.pill--dark{background:#2a2218}
.pill:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(196,92,38,.25)}
.bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;padding:.85rem 5vw;background:rgba(250,246,239,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(42,34,24,.08)}
.bar__logo{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:#c45c26}
.bar__links{margin-left:auto;display:flex;align-items:center;gap:1rem;font-size:.88rem;font-weight:600}
.bar__cta{background:#c45c26;color:#fff;padding:.45rem .9rem;border-radius:999px}
.bar__burger{display:none;margin-left:auto;width:2.4rem;height:2.4rem;border:1px solid rgba(42,34,24,.15);background:transparent;border-radius:50%}
.bar__burger span{display:block;width:.95rem;height:2px;background:#2a2218;margin:.2rem auto}
.bar.is-open .bar__links{display:flex;flex-direction:column;position:fixed;inset:3.4rem 0 0;background:#faf6ef;padding:1.5rem 5vw;gap:1rem}
@media(max-width:820px){.bar__links{display:none}.bar__burger{display:block}}
.splash{position:relative;min-height:88svh;display:grid;align-items:end;padding:5rem 5vw 3rem}
.splash__bg{position:absolute;inset:0}
.splash__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,34,24,.15) 0%,rgba(42,34,24,.78) 100%)}
.splash__content{position:relative;color:#fff;max-width:560px}
.splash__content p{max-width:42ch;opacity:.9;margin:.85rem 0 1.2rem}
.scroll-menu{padding:3.5rem 0 4rem}
.scroll-menu__head{padding:0 5vw 1.5rem}
.scroll-menu__track{display:flex;gap:1rem;padding:0 5vw 1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.scroll-menu__track::-webkit-scrollbar{height:6px}
.scroll-menu__track::-webkit-scrollbar-thumb{background:rgba(196,92,38,.35);border-radius:999px}
.card{flex:0 0 min(78vw,280px);scroll-snap-align:start;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 12px 32px rgba(42,34,24,.08);transition:transform .25s}
.card:hover{transform:translateY(-4px)}
.card img{aspect-ratio:4/3}
.card div{padding:1rem 1.1rem 1.2rem}
.card h3{font-size:1.15rem;margin-bottom:.3rem}
.card p{font-size:.88rem;color:#5c5248}
.story{display:grid;gap:2rem;padding:2rem 5vw 4rem;max-width:1100px;margin:0 auto;align-items:center}
@media(min-width:860px){.story{grid-template-columns:1.05fr .95fr}}
.story__media img{aspect-ratio:5/4;border-radius:1.2rem}
.story__text p{color:#5c5248;margin-bottom:1.2rem;max-width:46ch}
.story__hours{display:grid;gap:.35rem;font-size:.92rem}
.story__hours span{display:inline-block;min-width:2.5rem;font-weight:700;color:#5a7247}
.delivery{display:grid;gap:1.5rem;padding:3rem 5vw;background:#efe8db;align-items:center}
@media(min-width:800px){.delivery{grid-template-columns:1fr 1fr;max-width:1100px;margin:0 auto}}
.delivery__img img{aspect-ratio:16/10;border-radius:1rem}
.delivery__copy p{color:#5c5248;margin:.75rem 0 1.1rem;max-width:42ch}
.trio{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;padding:2.5rem 5vw;max-width:900px;margin:0 auto}
.trio__item{position:relative;border-radius:.85rem;overflow:hidden}
.trio__item img{aspect-ratio:3/4}
.trio__item figcaption{position:absolute;left:.75rem;bottom:.75rem;background:rgba(255,255,255,.9);padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700}
.visit{padding:3.5rem 5vw 4.5rem}
.visit__card{max-width:520px;margin:0 auto;text-align:center;background:#fff;border-radius:1.2rem;padding:2rem 1.5rem;box-shadow:0 16px 40px rgba(42,34,24,.08)}
.visit__card p{margin:.5rem 0}
.visit__card .pill{margin-top:1rem}
.foot{text-align:center;padding:1.3rem 5vw;font-size:.74rem;color:#7a7066;border-top:1px solid rgba(42,34,24,.08)}
.foot a{color:#c45c26}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:700px){.trio{grid-template-columns:1fr}.trio__item img{aspect-ratio:16/10}}