:root{
  --ink:#1f1d22; --pearl:#f3f0ec; --pearl2:#e9e4de; --gold:#af9571; --plum:#36023b; --burg:#633849;
  --text:#2a272c; --mute:#5d5860;
  --disp:"Didot","Bodoni 72","Bodoni MT","Playfair Display",Georgia,"Times New Roman",serif;
  --body:"Avenir Next","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pearl);color:var(--text);font:400 17px/1.6 var(--body);padding-bottom:64px}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.1;margin:0}
ul,ol{list-style:none;margin:0;padding:0}
blockquote{margin:0}

.concept{margin:0;padding:8px 16px;background:var(--gold);color:var(--ink);font-size:13px;line-height:1.35;text-align:center;font-weight:600}

.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--ink);color:var(--pearl)}
.mark{text-decoration:none;display:block}
.mark-name{display:block;white-space:nowrap;font-family:var(--disp);font-size:21px;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.mark-sub{display:block;white-space:nowrap;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:5px}
.nav{display:none}
.hide-s{display:none}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:2px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.02em}
.btn-call{background:var(--plum);color:var(--pearl);border:1px solid var(--plum)}
.top .btn-call{background:var(--gold);color:var(--ink);border-color:var(--gold);min-height:44px;padding:0 14px;font-size:14px}
.btn-ghost{border:1px solid currentColor;color:inherit}

.hero{background:var(--ink);color:var(--pearl)}
.hero-copy{padding:32px 16px 28px}
.eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-size:clamp(40px,11vw,76px);letter-spacing:-.01em}
.lede{margin:18px 0 24px;font-size:18px;color:#d9d3cc;max-width:34em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.rating{margin:22px 0 0;font-size:15px;color:#d9d3cc}
.rating strong{color:var(--pearl)}
.stars{color:var(--gold)}
.src{font-size:12px;color:#b8b1aa}
.hero-img{margin:0}
.hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover}

.chips{display:flex;height:14px}
.chips i{flex:1;background:var(--c)}

.sec{padding:48px 16px}
.sec h2{font-size:clamp(30px,7vw,46px);margin-bottom:12px}
.sec-note{margin:0 0 28px;max-width:38em;color:var(--mute)}
.sec-dark{background:var(--ink);color:var(--pearl)}
.sec-dark .sec-note{color:#b8b1aa}
.sec-pearl2{background:var(--pearl2)}

.plates{display:grid;gap:16px}
.plate{background:#fbf9f6;border:1px solid var(--gold);outline:1px solid var(--gold);outline-offset:-7px;padding:26px 24px}
.plate-name{margin:0;font-family:var(--disp);font-size:34px;letter-spacing:.2em;text-transform:uppercase;line-height:1.1}
.plate-role{margin:6px 0 16px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--burg);font-weight:600}
.plate blockquote{font-family:var(--disp);font-size:19px;line-height:1.4;font-style:italic}
.cite{margin:10px 0 0;font-size:13px;color:var(--mute)}

.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gallery li{position:relative;overflow:hidden;background:#2c2930}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gallery span{position:absolute;left:0;bottom:0;right:0;display:flex;align-items:center;gap:8px;padding:22px 10px 9px;background:linear-gradient(transparent,rgba(31,29,34,.88));font-size:13px;letter-spacing:.06em}
.gallery i,.gallery span i{width:14px;height:14px;border-radius:50%;background:var(--c);border:1.5px solid var(--pearl);flex:none}

.ledger{display:grid;gap:0;border-top:1px solid var(--ink)}
.ledger li{padding:22px 0;border-bottom:1px solid #cfc8bf}
.ledger h3{font-size:28px;margin-bottom:8px}
.ledger p:not(.cite){margin:0;font-family:var(--disp);font-style:italic;font-size:18px;line-height:1.45;color:var(--text)}
.cta-row{margin:30px 0 0}

.reviews{display:grid;gap:14px}
.reviews li{background:#fbf9f6;padding:22px 22px 18px;border-left:3px solid var(--gold)}
.reviews blockquote{font-family:var(--disp);font-size:19px;line-height:1.45}
.rating-block{margin:0 0 24px;color:var(--text)}
.rating-block strong{color:var(--ink)}
.rating-block .src{color:var(--mute)}
.rating-block .stars{color:var(--burg)}
.fineprint{margin:22px 0 0;font-size:13px;color:var(--mute)}

.visit-grid{display:grid;gap:28px}
address{font-style:normal;font-size:19px;line-height:1.5;margin-bottom:12px}
.phone{margin:0 0 6px;font-family:var(--disp);font-size:34px}
.phone a{text-decoration:none}
.hours,.booknote{margin:0 0 6px;color:var(--mute)}
.visit-grid .hero-actions{margin-top:22px}
.visit-grid .btn-ghost{color:var(--ink)}
.visit-img{margin:0}
.visit-img img{width:100%;aspect-ratio:10/9;object-fit:cover}

.foot{background:var(--ink);color:#d9d3cc;padding:32px 16px 36px}
.foot-name{margin:0 0 10px;font-family:var(--disp);font-size:20px;letter-spacing:.16em;text-transform:uppercase;color:var(--pearl)}
.label-line{margin:0;font-size:13px;color:#b8b1aa}

.callbar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;justify-content:center;min-height:56px;background:var(--plum);color:var(--pearl);font-weight:600;text-decoration:none;font-size:17px;letter-spacing:.02em;border-top:2px solid var(--gold)}

@media (min-width:480px){.hide-s{display:inline;margin-left:.4em}}
@media (min-width:820px){
  .mark-name{font-size:24px;letter-spacing:.22em}
  .mark-sub{font-size:11px;letter-spacing:.18em}
  body{font-size:18px;padding-bottom:0}
  .callbar{display:none}
  .top{padding:16px 40px}
  .nav{display:flex;gap:26px;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
  .nav a{text-decoration:none;padding:14px 0;display:inline-block}
  .nav a:hover{color:var(--gold)}
  .hero{display:grid;grid-template-columns:5fr 6fr;min-height:560px}
  .hero-copy{padding:64px 48px 56px 40px;display:flex;flex-direction:column;justify-content:center}
  .hero-img img{height:100%;aspect-ratio:auto}
  .sec{padding:80px 40px;max-width:1240px;margin:0 auto}
  .sec-dark,.sec-pearl2{max-width:none;padding-left:calc((100% - 1160px)/2);padding-right:calc((100% - 1160px)/2)}
  .plates{grid-template-columns:repeat(3,1fr);gap:22px}
  .gallery{grid-template-columns:repeat(4,1fr);gap:14px}
  .ledger{grid-template-columns:1fr 1fr;column-gap:56px}
  .reviews{grid-template-columns:1fr 1fr;gap:18px}
  .visit-grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px}
  .foot{padding:40px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media print{.callbar{display:none}.gallery li,.plate,.reviews li,.ledger li{break-inside:avoid}}
/* tap-targets */
a:where([href^="tel:"],[href^="mailto:"]){padding-block:15px}
.mark{min-height:44px}
