:root{--accent:#e11d48;--accent-dark:#9f1239;--tint:#fff1f3;--surface:#fdfdfc;--backdrop:#f7f6f3;--radius:8px;--font:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--backdrop);color:#1b2130;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}img{max-width:100%}body{background:#fbf7f0;color:#2f2620}.bar,main,.foot{width:min(820px,calc(100% - 36px));margin:0 auto}.bar{display:flex;align-items:baseline;justify-content:space-between;padding:28px 0;gap:14px;flex-wrap:wrap;border-bottom:1px solid #e8ddcd}.bar .place{font-size:21px;font-weight:700;letter-spacing:.01em;color:#2f2620}.bar nav a{margin-left:20px;font-size:15px;color:#7d6f61}.bar nav a.current{color:var(--accent)}.hero{padding:60px 0 44px;text-align:center}.hero h1{font-size:clamp(32px,6vw,54px);margin:0 0 16px;line-height:1.05}.hero p{font-size:19px;color:#6a5d51;max-width:50ch;margin:0 auto}.hero .where{margin-top:18px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#a2907c}.cols{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:24px 0 56px;border-top:1px solid #e8ddcd}.cols h2{font-size:18px;margin:28px 0 10px}.cols p{color:#6a5d51;margin:0 0 12px}.page{padding:40px 0 20px}.page h1{font-size:34px;margin:0 0 10px}.page .lead{color:#6a5d51;margin-bottom:26px}.menu h2{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#a2907c;margin:30px 0 10px}.menu ul{list-style:none;padding:0;margin:0}.menu li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dotted #ddcdb8}.menu b{color:var(--accent-dark);font-weight:600}.note{margin-top:28px;color:#8a7a6b;font-size:14px}.hours{display:grid;grid-template-columns:auto 1fr;gap:8px 26px;margin:20px 0 8px}.hours dt{color:#6a5d51}.hours dd{margin:0;font-weight:600}.page h2{font-size:18px;margin:30px 0 8px}.page p{color:#6a5d51}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #e8ddcd;margin-top:40px;padding:24px 0 46px;color:#8a7a6b;font-size:14px}.notfound{padding:110px 20px;text-align:center}.notfound h1{font-size:58px;margin:0;color:var(--accent)}@media(max-width:600px){.bar{padding:20px 0}.bar nav a{margin:0 16px 0 0}.hero{padding:40px 0 32px}.hero p{font-size:17px}.cols{gap:20px;padding:16px 0 40px}.hours{grid-template-columns:1fr;gap:2px 0}.hours dd{margin-bottom:10px}}