:root{--ink:#172027;--gold:#b89556;--paper:#f6f4ef;--line:#dedbd3;--muted:#5e676b}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 Arial,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit}
a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:12px;z-index:30}
.skip:focus{top:10px}
.wrap{width:min(1160px,calc(100% - 64px));margin:auto}
.navigation{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:14px}
.navigation a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.navigation [aria-current]{box-shadow:0 2px var(--gold)}
main{padding:55px 0 64px}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#806334;margin:0 0 14px}
h1{font:400 clamp(34px,4vw,52px)/1.12 Georgia,serif;letter-spacing:-.03em;margin:0 0 18px}
.intro{color:var(--muted);margin:0;max-width:620px}
.list-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin:34px 0 20px}
.restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.restaurant{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;min-width:0}
.restaurant-link{display:flex;flex-direction:column;text-decoration:none;height:100%}
.restaurant-link:hover .book{background:#304047}
.cover{height:210px;flex:none;background:#e8e2d5}
.cover>img{width:100%;height:100%;object-fit:cover;display:block}
.restaurant-logo{position:relative;width:76px;height:76px;flex:none;background:#fff;border:1px solid var(--line);border-radius:50%;margin:-38px 0 0 22px;display:grid;place-items:center;overflow:hidden}
.restaurant-logo img{width:100%;height:100%;object-fit:contain}
.restaurant-details{padding:22px;display:flex;flex-direction:column;flex:1;min-width:0}
.restaurant-logo+.restaurant-details{padding-top:14px}
h2{font:400 24px/1.2 Georgia,serif;margin:0 0 12px;overflow-wrap:anywhere}
address{font:400 14px/1.5 Arial,sans-serif;color:var(--muted);min-height:42px;margin:0 0 24px;overflow-wrap:anywhere}
.book{display:block;text-align:center;padding:12px 18px;background:var(--ink);color:#fff;border-radius:10px;font-weight:700;min-height:48px;margin-top:auto}
.empty{margin:40px 0;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:24px 0;font-size:12px;color:var(--muted)}
footer>.wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px}
footer nav{display:flex;gap:20px}
footer a{min-height:44px;display:inline-flex;align-items:center}
.demo-mobile{display:none}
@media (max-width:1000px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.navigation{gap:14px}}
@media (max-width:650px){.demo-desktop{display:none}
.demo-mobile{display:inline}}
@media (max-width:650px){.wrap{width:calc(100% - 40px)}
.restaurant-link{height:auto}
.restaurant-details{flex:none}
.book{margin-top:0}
.navigation{width:100%;justify-content:space-between;font-size:13px;gap:12px}
main{padding:32px 0 44px}
.restaurant-grid{grid-template-columns:1fr;gap:22px}
.cover{height:220px}
.restaurant-details{padding:20px}
h2{font-size:25px}
address{min-height:0}
.list-heading{margin-top:26px}}
