:root{--ink:#2b2118;--cream:#fbf6ee;--tint:#f3e9da;--accent:#8a4b1f;--accent2:#5c3115}
*{box-sizing:border-box}body{margin:0;font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--cream)}
img{max-width:100%;display:block}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:1px solid #e6d8c4;position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--ink);text-decoration:none}
.brand img{border-radius:8px}nav{display:flex;align-items:center;gap:18px}nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:600}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 24px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--accent)}
.btn:hover,.btn:focus-visible{background:var(--accent2);border-color:var(--accent2)}.btn.line{background:transparent;color:var(--accent)}.btn.line:hover{color:#fff}
.btn.small{padding:8px 18px}.hero{padding:48px 0}.two{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
h1{font-size:clamp(30px,5vw,48px);line-height:1.1;margin:0 0 16px}h2{font-size:32px;margin:0 0 8px}h3{margin:0 0 12px;color:var(--accent2)}
.lede{font-size:19px}.btns{display:flex;gap:12px;flex-wrap:wrap}.hero-img img{border-radius:18px;aspect-ratio:1/1;object-fit:cover;width:100%}
section{padding:48px 0}.tint{background:var(--tint)}.sub{margin:0 0 28px;color:#5e4e3e}
.menu{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 40px}.mgroup ul{list-style:none;margin:0;padding:0}
.mgroup li{padding:10px 0;border-bottom:1px solid #e6d8c4}.mgroup h4{margin:0}.mgroup p{margin:2px 0 0;font-size:15px;color:#5e4e3e}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:20px 0 28px}.grid figure{margin:0}
.grid img{border-radius:12px;aspect-ratio:1/1;object-fit:cover;width:100%}.center{text-align:center;margin-top:28px}
.addr{font-size:20px;font-weight:600}.note{color:#5e4e3e}footer{background:#2b2118;color:#e9dcc9;padding:24px 0;font-size:14px}footer p{margin:0}
@media(max-width:760px){.two,.menu{grid-template-columns:1fr}nav a:not(.btn){display:none}}
