:root{--cream:#f5eee2;--paper:#fbf7f0;--burg:#6e1b27;--burg-2:#8d2433;--ink:#1e1a17;--muted:#5d554d;--brass:#a8823f;--grey:#8a8a8a;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Work Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;padding-bottom:64px}
@media(min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:var(--burg)}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,8vw,4.3rem)}h1 em{color:var(--burg)}
h2{font-size:clamp(1.9rem,5vw,2.8rem)}
.concept{background:var(--ink);color:#e9e0d2;font-size:.75rem;text-align:center;padding:.45rem 1rem;letter-spacing:.02em}
.top{position:sticky;top:0;z-index:40;background:rgba(251,247,240,.94);backdrop-filter:blur(8px);border-bottom:1px solid #e6dccb}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.mark{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--burg)}
.mark-o{font-family:"DM Serif Display",serif;font-size:1.7rem;letter-spacing:.08em}
.mark-s{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink)}
.nav{display:none;gap:1.6rem}.nav a{color:var(--ink);text-decoration:none;font-weight:500}.nav a:hover{color:var(--burg)}
@media(min-width:900px){.nav{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.75rem 1.4rem;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:transform .15s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn svg{fill:currentColor}
.btn-burg{background:var(--burg);color:#fff}.btn-burg:hover{background:var(--burg-2)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-sm{min-height:40px;padding:.4rem .9rem;font-size:.9rem}
.top-call span{display:none}@media(min-width:520px){.top-call span{display:inline}}
.hero{padding:2.2rem 0 3rem;background:radial-gradient(circle at 85% 10%,#efe2cc,transparent 55%)}
.hero-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:3.5rem}.hero{padding:4rem 0 5rem}}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:700;color:var(--brass);margin:0 0 .8rem}
.eyebrow-light{color:#d9b46e}
.lede{font-size:1.12rem;color:var(--muted);max-width:34em}
.chips{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{border:1px solid #d8c9b1;background:#fff;border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:500}
.star{color:var(--brass)}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem}
@media(max-width:519px){.ctas{display:grid;grid-template-columns:1fr 1fr}.ctas .btn{padding:.75rem .6rem}}
.hero-photo{margin:0;position:relative}
.hero-photo img{border-radius:180px 180px var(--r) var(--r);box-shadow:0 30px 60px -30px rgba(60,20,20,.5);border:6px solid #fff;width:100%}
figcaption{font-size:.72rem;color:var(--grey);margin-top:.5rem}
.pole{height:18px;background:repeating-linear-gradient(-45deg,var(--burg) 0 16px,#fff 16px 32px,#2a3f6b 32px 48px,#fff 48px 64px);opacity:.92}
.section{padding:4rem 0}
.split{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.split{grid-template-columns:.9fr 1.1fr;gap:4rem}}
.framed{margin:0}.framed img{border-radius:var(--r);outline:1px solid #d8c9b1;outline-offset:8px}
.pull{margin:1.6rem 0 0;padding:1rem 0 1rem 1.2rem;border-left:4px solid var(--burg);font-family:"DM Serif Display",serif;font-size:1.5rem;line-height:1.25}
.pull cite{display:block;font-family:"Work Sans",sans-serif;font-size:.85rem;font-style:normal;color:var(--muted);margin-top:.5rem}
.section-ink{background:var(--ink);color:#efe6d8}
.menu{max-width:640px;margin:1.5rem 0 2.5rem}
.menu-row{display:flex;align-items:baseline;gap:.7rem;font-size:1.25rem;padding-top:1rem}
.m-name{font-family:"DM Serif Display",serif;font-size:1.6rem}
.m-dots{flex:1;border-bottom:2px dotted #6f655a;transform:translateY(-6px)}
.m-price{font-family:"DM Serif Display",serif;font-size:1.8rem;color:#e7c27c}.m-price small{font-size:.9rem;font-family:"Work Sans";color:#cbbfae}
.tbc{color:var(--grey);font-size:.8rem;font-style:italic;margin:.25rem 0 0}
.tbc-light{color:#9b958d}
.tbc-inline{font-family:"Work Sans",sans-serif!important;font-size:.85rem!important;color:#9b958d!important;font-style:italic}
.good{display:grid;gap:1rem}
@media(min-width:760px){.good{grid-template-columns:repeat(3,1fr)}}
.good-card{background:#2a2420;border:1px solid #3c342d;border-radius:var(--r);padding:1.4rem}
.good-card h3{font-size:1.35rem;color:#fff}.good-card p{margin:0;color:#d7cdbf}.good-card a{color:#e7c27c}
.rev-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem}
.score{display:flex;flex-direction:column;align-items:flex-start;margin:0;background:#fff;border:1px solid #e6dccb;border-radius:var(--r);padding:.8rem 1.2rem}
.score-n{font-family:"DM Serif Display",serif;font-size:2.4rem;line-height:1;color:var(--burg)}.score-s{color:var(--brass);letter-spacing:.1em}.score-t{font-size:.8rem;color:var(--muted)}
.reviews{display:grid;gap:1rem}
@media(min-width:760px){.reviews{grid-template-columns:1fr 1fr}}
.rev{margin:0;background:#fff;border:1px solid #e6dccb;border-radius:var(--r);padding:1.4rem 1.4rem 1.2rem;position:relative}
.rev::before{content:"“";position:absolute;top:-.3rem;right:1rem;font-family:"DM Serif Display";font-size:4rem;color:#ead9bd;line-height:1}
.rev p{margin:0 0 .8rem;font-size:1.02rem}.rev cite{font-style:normal;font-weight:600;font-size:.85rem;color:var(--burg)}
.section-cream{background:var(--cream);padding:3rem 0}
.gallery{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}
.gallery figure{margin:0}.gallery img{border-radius:10px;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{aspect-ratio:16/8}
@media(min-width:900px){.gallery{grid-template-columns:2fr 1fr 1fr}.gallery figure:first-child{grid-column:auto}.gallery figure:first-child img{aspect-ratio:4/3}}
.credit{font-size:.72rem;color:var(--grey);margin-top:.6rem}
.visit{display:grid;gap:2rem}
@media(min-width:900px){.visit{grid-template-columns:1fr 1fr;gap:3.5rem}}
address{font-style:normal;font-size:1.3rem;font-family:"DM Serif Display",serif;margin-bottom:1rem}
.contact a{display:inline-flex;align-items:center;gap:.5rem;line-height:2.1;font-weight:500}
.contact svg,.hours-h svg{fill:var(--burg)}
.hours-h{display:flex;align-items:center;gap:.5rem;font-size:1.4rem;margin-top:1.5rem}
.hours{border-collapse:collapse;width:100%;max-width:420px}
.hours th,.hours td{padding:.45rem 0;border-bottom:1px solid #e6dccb;text-align:left;font-weight:400}
.hours th{font-weight:600}.hours td{text-align:right}
.visit .ctas{margin-top:1.4rem}
.map{min-height:340px;border-radius:var(--r);overflow:hidden;border:6px solid #fff;box-shadow:0 20px 40px -25px rgba(0,0,0,.4)}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.foot{background:var(--burg);color:#f3e5e5;padding:2.5rem 0 2rem;text-align:center}
.foot a{color:#fff}
.foot-mark{font-family:"DM Serif Display",serif;font-size:2rem;letter-spacing:.08em;margin:0}.foot-mark span{font-family:"Work Sans";font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}
.foot-note{margin:1.2rem 0 .3rem;font-size:1rem}
.foot-small{font-size:.75rem;opacity:.75;max-width:40em;margin:0 auto}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 20px rgba(0,0,0,.25)}
.bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:64px;color:#f5eee2;text-decoration:none;font-weight:600;font-size:.8rem}
.bar a svg{fill:currentColor}
.bar a:first-child{background:var(--burg);color:#fff}
.bar a+a{border-left:1px solid #3a332d}
@media(min-width:900px){.bar{display:none}}
