:root{--sand:#E8D3B9;--paper:#F4EBDD;--ink:#2B1D14;--wood:#8A3F22;--teal:#35575A;--w:1120px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font:17px/1.6 "Avenir Next",Montserrat,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.skip{position:absolute;left:12px;top:-60px;z-index:30;padding:12px 16px;background:var(--ink);color:var(--sand)}.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--wood);outline-offset:3px}
.nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:var(--sand);border-bottom:1px solid #d3bb9c}
.brand img{width:112px}
.nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:4px;padding:12px 18px 20px;background:var(--sand)}
.nav nav.open{display:flex}
.nav nav a:not(.btn){padding:12px 0;text-decoration:none;font-weight:600;letter-spacing:.06em}
.burger{width:48px;height:48px;border:0;background:none;cursor:pointer;display:grid;place-content:center;gap:7px}
.burger span{width:26px;height:2px;background:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:2px solid transparent;border-radius:3px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px;text-decoration:none;transition:background .2s,color .2s}
.btn-dark{background:var(--ink);color:var(--sand)}.btn-dark:hover{background:var(--teal)}
.btn-light{background:var(--sand);color:var(--ink)}.btn-light:hover{background:#fff}
.btn-ghost{border-color:var(--sand);color:var(--sand)}.btn-ghost:hover{background:var(--sand);color:var(--ink)}
.btn-line{border-color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--sand)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.cta .btn{flex:1 1 150px}
.hero,.final{position:relative;display:grid;align-items:end;color:var(--sand);background:var(--ink)}
.hero{min-height:100svh;padding-top:64px}
.hero>img,.final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after,.final::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,18,10,.92) 12%,rgba(30,18,10,.35) 60%,rgba(30,18,10,.15))}
.hero-in,.final-in{position:relative;z-index:1;width:100%;max-width:var(--w);margin:0 auto;padding:0 22px 40px}
h1{font-size:clamp(54px,17vw,128px);line-height:.95;font-weight:500;letter-spacing:.14em}
h1 span{display:block;font-size:clamp(15px,4.4vw,26px);letter-spacing:.5em;margin-top:12px;font-weight:600}
.hero p{max-width:30ch;margin-top:20px;font-size:19px}
.hero .addr{font-size:14px;letter-spacing:.1em;opacity:.85}
.sec{padding:72px 0}.alt{background:var(--sand)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}.narrow{max-width:640px}
h2{font-size:clamp(26px,6vw,40px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
h3{margin:36px 0 4px;letter-spacing:.3em;font-size:14px}
p+p{margin-top:14px}
.two{display:grid;gap:32px;align-items:center}
.rnd{width:100%;border-radius:4px;object-fit:cover}
.menu{list-style:none;padding:0}
.menu li,.hours li{display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(43,29,20,.25)}
.menu b,.hours b{white-space:nowrap}
.note{margin-top:28px;font-size:15px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;border-radius:3px}
.rate{margin-bottom:24px;font-weight:600}
.rev-list{display:grid;gap:18px;margin-bottom:32px}
blockquote{padding:22px;border-left:4px solid var(--teal);background:var(--sand)}
cite{display:block;margin-top:12px;font-size:14px;font-style:normal;font-weight:600}
address{font-style:normal;font-size:20px}
.tel{margin-top:16px;font-weight:600}
.hours .today{font-weight:700;color:var(--wood)}
.final{min-height:70svh}
.final h2{font-size:clamp(34px,9vw,72px);letter-spacing:.06em}
footer{background:var(--ink);color:var(--sand);padding:48px 0;font-size:15px}
.foot{display:grid;gap:28px}.foot a{display:block;padding:5px 0;text-decoration:none}.foot a:hover{text-decoration:underline}
@media(min-width:768px){
.burger{display:none}.nav{padding:8px 40px}.brand img{width:130px}
.nav nav{display:flex;position:static;flex-direction:row;align-items:center;gap:26px;padding:0;background:none}
.nav nav a:not(.btn){padding:0;font-size:14px}.nav .btn{min-height:44px}
.two{grid-template-columns:1fr 1fr;gap:64px}
.grid{grid-template-columns:repeat(6,1fr);gap:14px}
.grid img{grid-column:span 2}.grid .g1{grid-column:span 3;grid-row:span 2;aspect-ratio:auto}.grid .g2{grid-column:span 3;aspect-ratio:3/2}
.cta .btn{flex:0 0 auto}
.foot{grid-template-columns:2fr 1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
