:root{
--color-primary:#3B2418;--color-onPrimary:#FFFFFF;--color-secondary:#C56B3C;--color-accent:#D8A24A;
--color-background:#F7F1E7;--color-surface:#FFFDF8;--color-surfaceAlt:#EEE0CC;--color-text:#241914;
--color-textMuted:#67584E;--color-border:#CDBEAA;--color-success:#276749;--color-warning:#8A4B08;--color-danger:#A12D24;
--font-heading:'DM Serif Display',Georgia,serif;--font-body:'DM Sans',-apple-system,'SF Pro Text',Roboto,sans-serif;
--fs-display:64px;--fs-h1:48px;--fs-h2:36px;--fs-h3:26px;--fs-body:17px;--fs-small:15px;--fs-caption:13px;
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;--space-13:120px;
--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;
--shadow-sm:0 2px 8px rgba(59,36,24,.10);--shadow-md:0 8px 24px rgba(59,36,24,.14);--shadow-lg:0 20px 48px rgba(59,36,24,.18);
--motion-duration:220ms;--motion-easing:cubic-bezier(.2,0,0,1);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.15}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2);margin-bottom:var(--space-4)}h3{font-size:var(--fs-h3);margin-bottom:var(--space-3)}
p+p{margin-top:var(--space-3)}
[tabindex="-1"]:focus{outline:none}
:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:var(--color-primary);color:var(--color-onPrimary);padding:var(--space-3);z-index:100}
.skip:focus{left:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--space-5)}
.sec{padding-top:var(--space-11);padding-bottom:var(--space-11)}
.page{padding-top:140px}
.alt{background:var(--color-surfaceAlt)}
.muted{color:var(--color-textMuted)}
.small{font-size:var(--fs-small)}
.eyebrow{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--color-secondary);margin-bottom:var(--space-3)}
.eyebrow.light{color:var(--color-accent)}
.lead{font-size:20px;max-width:560px;margin:var(--space-4) 0 var(--space-6)}
.lead.dark{color:var(--color-textMuted)}
.row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.mt{margin-top:var(--space-7)}
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background var(--motion-duration) var(--motion-easing),box-shadow var(--motion-duration)}
.nav.solid{background:var(--color-surface);box-shadow:var(--shadow-sm)}
.nav-in{max-width:1160px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;min-height:68px}
.logo{font-family:var(--font-heading);font-size:26px;color:var(--color-onPrimary)}
.logo span{color:var(--color-accent)}
.nav.solid .logo,.nav.dark .logo{color:var(--color-primary)}
.nav.dark .logo span,.nav.solid .logo span{color:var(--color-secondary)}
.links{display:flex;align-items:center;gap:var(--space-5)}
.links a{font-weight:500;font-size:var(--fs-small);color:var(--color-onPrimary);padding:var(--space-2) 0;border-bottom:2px solid transparent;transition:border-color var(--motion-duration)}
.nav.solid .links a,.nav.dark .links a{color:var(--color-text)}
.links a.active{border-bottom-color:var(--color-secondary)}
.links a.cta{color:var(--color-onPrimary)!important;border:0;padding:0 var(--space-5)}
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{width:24px;height:2px;background:var(--color-onPrimary);border-radius:2px;transition:transform var(--motion-duration)}
.nav.solid .burger span,.nav.dark .burger span{background:var(--color-primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-small);border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform var(--motion-duration) var(--motion-easing),background var(--motion-duration),box-shadow var(--motion-duration)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--color-secondary);color:var(--color-onPrimary);background:var(--color-primary)}
.hero .btn-primary{background:var(--color-secondary)}
.btn-secondary{border-color:var(--color-primary);color:var(--color-primary);background:transparent}
.btn-ghost{border-color:var(--color-onPrimary);color:var(--color-onPrimary)}
.link{font-weight:700;color:var(--color-secondary);display:inline-block;margin-top:var(--space-3);min-height:44px;padding-top:var(--space-2)}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--color-onPrimary);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,25,20,.45),rgba(36,25,20,.82));z-index:1}
.hero-in{position:relative;z-index:2;max-width:1160px;margin:0 auto;width:100%;padding:var(--space-13) var(--space-5) var(--space-11)}
.hero h1{font-size:var(--fs-display);max-width:700px}
.hero .lead{color:#F7F1E7}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center;margin-bottom:var(--space-8)}
.rounded{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);aspect-ratio:4/3;object-fit:cover;width:100%}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}
.gap{margin-bottom:var(--space-5)}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}
.card.center{text-align:center}
.card.center .btn{margin-top:var(--space-4)}
.hours{list-style:none;padding:0}
.hours li{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);font-size:var(--fs-small)}
.hours li.today{font-weight:700;color:var(--color-secondary)}
.pcard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--motion-duration) var(--motion-easing),box-shadow var(--motion-duration)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.pcard img{aspect-ratio:4/3;width:100%;object-fit:cover}
.pbody{padding:var(--space-4) var(--space-5) var(--space-5)}
.cat{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.1em;color:var(--color-secondary);font-weight:700}
.pcard h3{font-size:22px;margin:var(--space-1) 0 var(--space-2)}
.pcard p{font-size:var(--fs-small);color:var(--color-textMuted)}
.price{font-weight:700;margin-top:var(--space-3);color:var(--color-primary)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-top:var(--space-6)}
.strip img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:var(--radius-md)}
.tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0 var(--space-5);scrollbar-width:none}
.tab{flex:none;min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:500 var(--fs-small) var(--font-body);cursor:pointer;transition:all var(--motion-duration)}
.tab[aria-selected="true"]{background:var(--color-primary);color:var(--color-onPrimary);border-color:var(--color-primary)}
.menu-group{margin-bottom:var(--space-8)}
.menu-group h2{font-size:var(--fs-h3)}
.note{background:var(--color-surfaceAlt);border-radius:var(--radius-md);padding:var(--space-5);font-size:var(--fs-small);color:var(--color-textMuted);margin:var(--space-4) 0 var(--space-6)}
.mosaic{columns:3;column-gap:var(--space-3)}
.mosaic button{display:block;width:100%;margin-bottom:var(--space-3);padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius-md);overflow:hidden;break-inside:avoid}
.mosaic img{width:100%;transition:transform var(--motion-duration) var(--motion-easing)}
.mosaic button:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;background:rgba(36,25,20,.92);z-index:90;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}
.lightbox img{max-height:88vh;border-radius:var(--radius-md)}
.lightbox button{position:absolute;top:var(--space-4);right:var(--space-4);width:48px;height:48px;border-radius:50%;border:0;font-size:28px;cursor:pointer;background:var(--color-surface);color:var(--color-primary)}
.map{margin:var(--space-5) 0;padding:var(--space-4);display:grid;gap:var(--space-4)}
.map iframe{width:100%;height:340px;border:0;border-radius:var(--radius-md)}
.map .btn{justify-self:start}
.foot{background:var(--color-primary);color:var(--color-onPrimary);padding:var(--space-9) 0}
.foot-in{display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:space-between;align-items:flex-start}
.flogo{font-family:var(--font-heading);font-size:24px;font-weight:400}
.foot nav{display:flex;gap:var(--space-5)}
.foot nav a{min-height:44px;display:inline-flex;align-items:center}
.foot .small{width:100%;color:var(--color-border)}
section[data-screen]:not([hidden]){animation:in var(--motion-duration) var(--motion-easing)}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:860px){
:root{--fs-display:44px;--fs-h1:38px;--fs-h2:30px;--fs-h3:23px}
.burger{display:flex}
.links{position:fixed;inset:0;background:var(--color-primary);flex-direction:column;justify-content:center;gap:var(--space-6);transform:translateX(100%);transition:transform var(--motion-duration) var(--motion-easing);visibility:hidden}
.links.open{transform:none;visibility:visible}
.links a,.nav.solid .links a,.nav.dark .links a{color:var(--color-onPrimary);font-size:26px;font-family:var(--font-heading)}
.links a.cta{font-family:var(--font-body);font-size:var(--fs-body);background:var(--color-secondary)}
.burger{position:relative;z-index:60}
.nav.menu-open .burger span{background:var(--color-onPrimary)}
.nav.menu-open .logo{color:var(--color-onPrimary);position:relative;z-index:60}
.split,.grid3,.grid2{grid-template-columns:1fr;gap:var(--space-5)}
.strip{grid-template-columns:repeat(2,1fr)}
.mosaic{columns:2}
.sec{padding-top:var(--space-10);padding-bottom:var(--space-10)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}