:root{--ink:#1D4A4C;--ink-deep:#123334;--head:#283536;--text:#2A2A28;--muted:#4F4C46;--gold:#B5965E;--gold-deep:#9C7744;--gold-light:#D2B67F;--ivory:#F5F2EB}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:'Work Sans','Helvetica Neue',Arial,sans-serif;color:var(--text);background:#EEEAE1 url(assets/paper.jpg) repeat;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}a:hover{color:var(--ink-deep)}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
img{max-width:100%;display:block}
.serif{font-family:'Marcellus','Optima','Candara',Georgia,serif;font-weight:400}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.ornament{display:flex;align-items:center;justify-content:center;gap:12px}
.ornament i{display:block;width:72px;height:1.5px;background:var(--gold)}
.ornament b{display:block;width:8px;height:8px;background:var(--gold-deep);transform:rotate(45deg)}

/* header */
.hdr{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(181,150,94,.6);background:rgba(238,234,225,.96);backdrop-filter:blur(6px)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-logo{width:56px;height:56px;flex:none}
.brand-text{display:flex;flex-direction:column;align-items:center;gap:6px}
.brand-wm{font-family:'Marcellus','Optima',Georgia,serif;font-size:25px;letter-spacing:.05em;color:var(--ink);line-height:1}
.brand-tag{font-size:9.5px;font-weight:600;letter-spacing:.42em;padding-left:.42em;color:var(--head);line-height:1}
.nav{display:flex;align-items:center;gap:36px}
.nav a{font-size:15px;font-weight:500;color:var(--text);text-decoration:none;padding:12px 0;border-bottom:1.5px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--gold)}
.hdr-actions{display:flex;align-items:center;gap:8px}
.drawer{display:none}
.drawer summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--ink);cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer-nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;background:#EEEAE1;border-bottom:1px solid rgba(181,150,94,.6)}
.drawer-nav a{display:flex;align-items:center;min-height:52px;padding:0 20px;font-size:17px;font-weight:500;color:var(--text);text-decoration:none;border-top:1px solid rgba(181,150,94,.3)}
.drawer-nav a[aria-current]{color:var(--ink);font-weight:600}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--ink);line-height:1;cursor:pointer}
.btn-primary{background:var(--ink);color:var(--ivory)}
.btn-primary:hover{background:var(--ink-deep);border-color:var(--ink-deep);color:var(--ivory)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:rgba(29,74,76,.07);color:var(--ink)}
.btn-sm{min-height:44px;padding:0 20px;font-size:13px}
.btn-gold{background:var(--gold-light);border-color:var(--gold-light);color:#132F30}
.btn-gold:hover{background:#DEC690;border-color:#DEC690;color:#132F30}
.btn-light{background:transparent;border-color:rgba(245,242,235,.75);color:var(--ivory)}
.btn-light:hover{background:rgba(245,242,235,.1);color:var(--ivory)}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.tlink span{border-bottom:1.5px solid var(--gold);padding-bottom:3px}
.tlink:hover span{border-bottom-color:var(--ink)}

/* hero */
.hero-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;padding-top:76px}
.h1{margin:0;display:flex;flex-direction:column;align-items:center;gap:22px}
.h1-main{font-family:'Marcellus','Optima',Georgia,serif;font-weight:400;font-size:clamp(38px,5.6vw,80px);line-height:1.04;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-wrap:balance}
.h1-sub{font-family:'Work Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--head)}
.lede{margin:0;max-width:620px;font-size:19px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px}

.arcade{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:28px;align-items:end;margin-top:68px}
.ph{position:relative;overflow:hidden;margin:0;background:var(--ink);color:var(--ivory)}
.ph::before{content:'';position:absolute;inset:0;background:url(assets/pattern.svg) center/72px repeat;opacity:.22}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.has-img .ph-cap{bottom:0;padding:72px 20px 28px;background:linear-gradient(to top,rgba(18,51,52,.82),rgba(18,51,52,0));text-shadow:0 1px 2px rgba(0,0,0,.4)}
.arch{border-radius:999px 999px 0 0}
.arch-line{position:absolute;inset:10px 10px 0 10px;border:1px solid rgba(210,182,127,.75);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.rect-line{position:absolute;inset:10px;border:1px solid rgba(210,182,127,.75);pointer-events:none}
.ph-cap{position:absolute;left:0;right:0;bottom:30px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 20px;text-align:center}
.ph-k{display:none}/* ponytail: hidden until real photos land; delete this rule to show the kicker */
.ph-k{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light)}
.ph-n{font-family:'Marcellus','Optima',Georgia,serif;font-size:22px;letter-spacing:.03em;color:var(--ivory)}
.side{aspect-ratio:3 / 4}
.center{aspect-ratio:4 / 5}
.ground{height:1.5px;background:var(--gold)}

/* page title (inner pages) */
.page-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:64px 0 0}
.page-head h1{margin:0;font-family:'Marcellus','Optima',Georgia,serif;font-weight:400;font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-wrap:balance}
.page-head .lede{font-size:18px}

/* sections */
.sec{padding:112px 0}
.sec-tight{padding-top:0}
.sec-head{display:flex;align-items:center;gap:26px}
.sec-head h2{margin:0;font-family:'Marcellus','Optima',Georgia,serif;font-weight:400;font-size:30px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--head)}
.sec-head .rule{flex:1;min-width:40px;height:1.5px;background:var(--gold)}

.intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:56px 80px;align-items:center;margin-top:56px}
.intro-lead{margin:0;font-family:'Marcellus','Optima',Georgia,serif;font-size:30px;line-height:1.4;color:var(--head);text-wrap:pretty}
.intro-text{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.prose{max-width:720px;margin-top:32px}
.prose p{margin:0 0 20px;font-size:18px;line-height:1.65;color:var(--muted)}
.prose .placeholder{padding:20px 24px;border:1px dashed var(--gold);color:var(--gold-deep);font-size:15px}

.fav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:48px 32px;margin-top:56px}
.fav{display:flex;flex-direction:column;gap:12px}
.fav .ph{aspect-ratio:4 / 5;margin-bottom:12px}

.row{display:flex;align-items:baseline;gap:10px}
.name{margin:0;font-size:19px;font-weight:600;line-height:1.3;color:var(--text)}
.dots{flex:1;min-width:20px;border-bottom:1.5px dotted rgba(42,42,40,.38);transform:translateY(-5px)}
.price{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}
.desc{margin:0;font-size:16px;line-height:1.5;color:var(--muted)}
.star{color:var(--gold-deep);font-size:15px;margin-left:4px}
.veg{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin-left:6px;border:1.3px solid var(--ink);border-radius:50%;font-size:10px;font-weight:600;line-height:1;color:var(--ink);vertical-align:2px}

/* menu sheet */
.sheet{max-width:1080px;margin:0 auto;padding:64px 72px 56px;border:1px solid var(--gold);outline:1px solid rgba(181,150,94,.55);outline-offset:-11px;background:rgba(250,248,243,.35)}
.sheet-title{margin:22px 0 0;font-family:'Marcellus','Optima',Georgia,serif;font-weight:400;font-size:42px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-align:center}
.sheet-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:56px 72px;margin-top:52px}
.sheet .sec-head h2{font-size:26px}
.sheet-sub{margin:28px 0 -12px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep)}
.items{display:flex;flex-direction:column;gap:22px;margin-top:28px}
.items-tight{gap:16px}
.item{display:flex;flex-direction:column;gap:5px}
.sheet-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:52px;padding-top:28px;border-top:1px solid rgba(181,150,94,.6)}
.legend{margin:0;font-size:14px;color:var(--muted)}
.legend strong{color:var(--ink);font-weight:600}
.cat-nav{position:sticky;top:84px;z-index:10;display:flex;gap:8px;overflow-x:auto;padding:12px 0;margin:40px 0 8px;background:rgba(238,234,225,.96);scrollbar-width:none}
.cat-nav::-webkit-scrollbar{display:none}
.cat-nav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border:1.5px solid rgba(29,74,76,.35)}
.cat-nav a:hover{border-color:var(--ink)}
.menu-cat{scroll-margin-top:160px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:24px;margin-top:56px}
.gallery .ph{aspect-ratio:4 / 5}
.gallery .wide{grid-column:span 2;aspect-ratio:8 / 5}

/* visit band */
.band{position:relative;overflow:hidden;background:var(--ink);color:var(--ivory);padding:104px 0}
.band::before{content:'';position:absolute;inset:0;background:url(assets/pattern.svg) center/96px repeat;opacity:.1}
.band .wrap{position:relative}
.visit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:56px 80px;align-items:center}
.band .sec-head h2{color:var(--ivory)}
.band .sec-head .rule{background:var(--gold-light)}
.band a{color:var(--ivory)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:32px 40px;margin:44px 0 0}
.facts dt{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light)}
.facts dd{margin:10px 0 0;font-size:18px;line-height:1.55;color:var(--ivory)}
.visit-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
.map{position:relative;margin:0;aspect-ratio:4 / 3;background:#EEEAE1 url(assets/paper.jpg) repeat;border:1px solid rgba(210,182,127,.6)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* footer */
.ftr{padding:88px 0 56px}
.ftr-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.ftr-logo{width:112px;height:112px}
.ftr-wm{margin:6px 0 0;font-family:'Marcellus','Optima',Georgia,serif;font-size:40px;letter-spacing:.05em;color:var(--ink);line-height:1}
.ftr-tag{margin:0;font-size:11px;font-weight:600;letter-spacing:.42em;padding-left:.42em;color:var(--head)}
.ftr-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 32px;margin-top:22px}
.ftr-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;color:var(--text);text-decoration:none}
.ftr-nav a:hover{color:var(--ink)}
.ftr-rule{width:100%;height:1px;border:0;margin:20px 0 6px;background:rgba(181,150,94,.6)}
.ftr-note{margin:0;max-width:860px;font-size:14px;line-height:1.6;color:var(--muted)}
.ftr-note strong{color:var(--ink);font-weight:600}
.ftr-copy{margin:8px 0 0;font-size:13px;color:var(--muted)}

/* sticky mobile action bar */
.actbar{display:none}

@media (max-width:860px){
.wrap{padding:0 20px}
html{scroll-padding-top:64px}
.nav{display:none}
.drawer{display:block}
.hdr-in{min-height:64px}
.brand-wm{font-size:19px}
.brand-logo{width:44px;height:44px}
.brand{gap:10px}
.ftr-logo{width:88px;height:88px}
.brand-tag{font-size:8px}
.hero-in{padding-top:44px;gap:22px}
.h1-sub{font-size:11px;letter-spacing:.32em;padding-left:.32em}
.lede{font-size:17px}
.ctas{flex-direction:column;align-self:stretch}
.arcade{grid-template-columns:1fr;margin-top:44px}
.arcade .side{display:none}
.sec{padding:72px 0}
.sec-head{gap:16px}
.sec-head h2{font-size:22px;letter-spacing:.1em}
.intro-lead{font-size:24px}
.sheet{padding:40px 22px 32px;outline-offset:-8px}
.sheet-title{font-size:30px}
.cat-nav{top:64px}
.menu-cat{scroll-margin-top:140px}
.gallery .wide{grid-column:auto;aspect-ratio:4 / 5}
.band{padding:72px 0}
.ftr-wm{font-size:30px}
.ftr{padding-bottom:calc(56px + 64px + env(safe-area-inset-bottom))}
.actbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);border-top:1px solid rgba(210,182,127,.5);padding-bottom:env(safe-area-inset-bottom)}
.actbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);text-decoration:none}
.actbar a+a{border-left:1px solid rgba(245,242,235,.15)}
}
