:root{--directions-bg:#dff8e1;--directions-text:var(--green);--green:#14291d;--green2:#1f4a30;--flag-green:#2e7d46;--red:#b3202a;--red2:#8f1a22;--cream:#f7f0e3;--paper:#fffdf8;--ink:#1b1b18;--mute:#5d5a52;--line:#e3d9c4;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}body{margin:0;font:400 17px/1.7 Jost,system-ui,sans-serif;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}a{color:var(--red);text-underline-offset:3px}a:hover{color:var(--red2)}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.6rem}h4{font-size:1.25rem}
h1 em,h2 em{color:var(--red);font-style:italic}.dark h2 em{color:#f3d7a8}
.h3{font-size:1.9rem}.h4{font-size:2rem}.h5{font-size:1.5rem;margin-top:1.4em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}.narrow{width:min(860px,100% - 32px);margin-inline:auto}.center{text-align:center}.small{font-size:.9rem;color:var(--mute)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}
.eyebrow{font:600 .78rem/1 Jost;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.dark .eyebrow{color:#f3d7a8}
.deco{height:auto;width:130px;margin:6px 0 18px;opacity:.95}.center .deco{margin-inline:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 26px;border-radius:999px;font:600 .82rem/1 Jost;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.2s;margin:4px 6px 4px 0}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2);color:#fff;transform:translateY(-1px)}
.btn-line{border-color:var(--green);color:var(--green);background:transparent}.btn-line:hover{background:var(--green);color:#fff}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--green)}
/* top bar & header */
.topbar{background:var(--green);color:#e9e1cc;font-size:.85rem}.topbar .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:8px 0;flex-wrap:wrap}
.topbar a{color:#e9e1cc;text-decoration:none;margin-right:14px}.topbar a:hover{color:#fff}.topbar .soc a:last-child{margin:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--flag-green) 33%,#fff 33% 66%,var(--red) 66%) 1;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.hdr{width:min(1320px,100% - 32px)!important;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green)}.brand img{border-radius:50%}
.brand span{white-space:nowrap;font:700 1.5rem/1 "Cormorant Garamond",serif;letter-spacing:.02em}
nav#nav{display:flex;align-items:center;gap:10px}nav#nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
nav#nav a,.sub-btn{white-space:nowrap;color:var(--ink);text-decoration:none;font:500 .76rem/1 Jost;letter-spacing:.09em;text-transform:uppercase;padding:10px 7px;border-radius:8px;background:none;border:0;cursor:pointer}
nav#nav a:hover,.sub-btn:hover,nav a[aria-current]{color:var(--red)}nav#nav a.btn-red{background:var(--red)}nav#nav a.btn-red:hover{background:var(--red2);color:#fff}nav#nav a.btn{color:#fff;padding:12px 18px;margin:0;white-space:nowrap}
.has-sub{position:relative}.sub{display:none!important;position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;min-width:200px;flex-direction:column;align-items:stretch!important;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.has-sub.is-open .sub,.has-sub:focus-within .sub,.has-sub:hover .sub{display:flex!important}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}.burger span{display:block;width:26px;height:2px;background:var(--green);margin:6px 0;transition:.2s}
/* sections */
.sec{padding:clamp(54px,8vw,100px) 0}.cream{background:var(--cream)}.dark{background:var(--green);color:#efe9d8}.dark h2,.dark h3{color:#fff}.dark a{color:#f3d7a8}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rev-order>:first-child{order:0}
.frame img,.mosaic img,.feature img,.tile img{border-radius:var(--r);width:100%;object-fit:cover}
.frame img{aspect-ratio:4/5;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mosaic img{aspect-ratio:1;box-shadow:0 10px 26px rgba(0,0,0,.14)}.mosaic img:first-child:nth-last-child(3){grid-column:span 2;aspect-ratio:2/1}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.cards .card{text-align:center}
.hours{list-style:none;padding:0;margin:0}.hours li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--line)}.hours.big li{font-size:1.05rem}
.phone-lg{font:600 2rem/1 "Cormorant Garamond",serif;text-decoration:none}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden}
.tile img{aspect-ratio:4/5;transition:.5s}.tile:hover img{transform:scale(1.05)}
.tile span{display:block;padding:14px 4px 0;color:#fff}.tile small{display:block;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}.tile b{font:600 1.9rem/1.1 "Cormorant Garamond",serif}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;justify-content:center}.chips a{display:block;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:9px 18px;text-decoration:none;color:#fff;font-size:.85rem;letter-spacing:.08em}.chips a:hover{background:var(--red);border-color:var(--red)}
.feature{display:block;text-decoration:none;color:inherit}.feature img{aspect-ratio:4/3;margin-bottom:14px}.feature h3{margin-bottom:.2em}.feature.plain{background:#fff;border-radius:var(--r);padding:12px 12px 22px;border:1px solid var(--line)}.feature.plain h3,.feature.plain p{padding-inline:10px}
.band .feature p{color:#d9d3c2}
/* reviews slider */
.reviews{background:var(--cream)}.rev-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.rev-sum{text-align:right}.rev-sum strong{letter-spacing:.2em;font-size:1.1rem}.stars{color:#f5a623;letter-spacing:3px;font-size:1.25rem}
.slider{position:relative}.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 14px}.track::-webkit-scrollbar{display:none}
.rev{flex:0 0 min(360px,85%);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 6px 18px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:6px}
.rev p{margin:0;font-size:.98rem;max-height:11.5em;overflow:auto}.rev small{color:var(--mute);margin-top:auto;padding-top:8px}
.rev-top{display:flex;align-items:center;gap:12px}.rev-top time{font-size:.8rem;color:var(--mute)}.avatar{width:42px;height:42px;border-radius:50%;background:var(--green2);color:#fff;display:grid;place-items:center;font-weight:600}
.g{margin-left:auto;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-weight:700;color:#4285f4}
.s-prev,.s-next{position:absolute;top:50%;transform:translateY(-60%);z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:1.6rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25)}.s-prev{left:-14px}.s-next{right:-14px}
.rev-link{text-align:center;margin-top:10px;font-size:.92rem}
/* menu */
.subnav{position:sticky;top:78px;z-index:30;background:var(--green);}.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.subnav a{color:#fff;text-decoration:none;white-space:nowrap;padding:8px 16px;border-radius:999px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.subnav a:hover{background:var(--red)}
.menu{scroll-margin-top:140px}.menu [id]{scroll-margin-top:150px}
.ptitle{text-align:center;font-size:clamp(2.2rem,5vw,3.4rem);border-bottom:2px solid var(--red);display:inline-block;padding-bottom:6px;margin:40px auto 10px}.menu .narrow>div>.ptitle,.menu .narrow>.ptitle{display:block;width:fit-content;margin-inline:auto}
.mhead{text-align:center}.mtag{font:italic 600 1.4rem "Cormorant Garamond",serif;margin:0}
.msec{margin:34px 0}.msec h3{font-size:1.9rem;color:var(--red);border-bottom:1px solid var(--line);padding-bottom:6px}.dark .msec h3{color:#f3d7a8;border-color:rgba(255,255,255,.2)}
.msec h4{font:600 .9rem Jost;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:14px 0 6px}.dark .msec h4{color:#f3d7a8}
.mlist,.plain,.plist{list-style:none;padding:0;margin:0}.mlist li{margin:0 0 16px}.mlist p{margin:0;color:var(--mute);font-size:.95rem}.dark .mlist p{color:#cfc8b4}
.mrow{display:flex;align-items:baseline;gap:10px}.mname{font-weight:600}.mname em{font-weight:400;color:var(--mute);font-style:normal;font-size:.92rem}.dark .mname em{color:#cfc8b4}.dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px)}.dark .dots{border-color:rgba(255,255,255,.25)}.mprice{font-weight:600}
.note{font-size:.88rem;color:var(--mute);font-style:italic}.dark .note{color:#cfc8b4}.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}
.prix{text-align:center}.prix .ptitle{margin-top:0}.psub{font:italic 600 1.5rem "Cormorant Garamond",serif;margin:.2em 0}.pprice{font:700 3rem/1 "Cormorant Garamond",serif;color:var(--red);margin:.1em 0}
.prix h3{margin-top:1.6em;font-size:1.5rem;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:6px}.plist li{padding:10px 0}.plist b{display:block;font-weight:600}.plist span{display:block;font-size:.93rem;color:var(--mute)}
/* gallery */
.gallery{columns:4 220px;column-gap:12px;margin:30px 0}.gi{display:block;margin-bottom:12px;break-inside:avoid;border-radius:10px;overflow:hidden}.gi img{width:100%;transition:.4s}.gi:hover img{transform:scale(1.05)}
/* events / blog */
.ev{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);align-items:center;margin:0 0 70px}.ev.flip .frame{order:2}.ev h2{font-size:2.4rem}
.call{font:600 1.9rem "Cormorant Garamond",serif}.lead2{font-size:1.2rem}
.post{display:grid;grid-template-columns:240px 1fr;gap:28px;margin-bottom:46px;align-items:center}.post time{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.post h2 a{text-decoration:none;color:var(--green)}
.article p,.article li{margin:0 0 1.1em}.article blockquote,blockquote{border-left:4px solid var(--red);margin:1.4em 0;padding:.4em 0 .4em 20px;font:italic 500 1.35rem/1.5 "Cormorant Garamond",serif}blockquote cite{display:block;font:600 .85rem Jost;font-style:normal;color:var(--mute);margin-top:6px}
.tl{display:grid;grid-template-columns:130px 1fr;gap:30px;margin-bottom:64px}.year{font:700 clamp(2.6rem,6vw,4.4rem)/1 "Cormorant Garamond",serif;color:var(--red)}.tl .mosaic{margin-top:18px}
/* forms, faq, map */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 12px 34px rgba(0,0,0,.08);display:grid;gap:14px}.form h3{margin:0}
.form label{display:grid;gap:6px;font-weight:500;font-size:.9rem}.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1px solid #cfc5ae;border-radius:10px;background:#fff;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(46,125,70,.35);border-color:var(--flag-green)}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}.faq summary{cursor:pointer;font:600 1.15rem Jost;padding:14px 30px 14px 0;list-style:none;position:relative}.faq summary::after{content:"+";position:absolute;right:4px;color:var(--red);font-size:1.5rem;top:8px}.faq details[open] summary::after{content:"–"}.faq p{margin:0 0 14px;color:var(--mute)}
.map iframe{width:100%;height:380px;border:0;border-radius:var(--r)}.map.wide{margin-top:40px}
.flyer img{margin:auto;border-radius:var(--r);max-width:min(560px,100%)}
/* footer */
.site-footer{background:var(--green);color:#e5ddc8;padding-top:60px}.fgrid{display:grid;grid-template-columns:.8fr 1.3fr 1fr 1fr;gap:34px}.site-footer h2{font-size:1.7rem;color:#fff}.site-footer h2.fh{font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;font-family:Jost}
.site-footer a{color:#f3d7a8;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer address{font-style:normal;margin-bottom:16px}.fveg{max-width:150px;opacity:.9}
.site-footer .hours li{border-color:rgba(255,255,255,.15);font-size:.92rem}.flinks{list-style:none;padding:0;margin:0}.flinks li{padding:3px 0}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding:22px 0 30px;font-size:.88rem}.fbottom p{margin:0}.fbottom a{margin-right:14px}
@media(max-width:960px){.grid2,.ev,.tl{grid-template-columns:1fr}.grid3,.tiles{grid-template-columns:1fr}.ev.flip .frame{order:0}.fgrid{grid-template-columns:1fr 1fr}.post{grid-template-columns:1fr}.cols{grid-template-columns:1fr}.rev-sum{text-align:left}
 .s-prev,.s-next{display:none}.subnav{top:70px}.topbar .soc{display:none}.gallery{columns:2 140px}}
@media(max-width:1120px){
 .burger{display:block}nav#nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:#fff;flex-direction:column;align-items:stretch;padding:90px 24px 30px;transform:translateX(100%);transition:.3s;box-shadow:-12px 0 40px rgba(0,0,0,.2);overflow:auto}
 nav#nav:not(.open){visibility:hidden}nav#nav.open{transform:none;visibility:visible}nav#nav ul{flex-direction:column;align-items:stretch}nav#nav a,.sub-btn{display:block;padding:14px 8px;font-size:.95rem}.sub{position:static;display:flex!important;box-shadow:none;border:0;padding-left:14px}.sub-btn{display:none}.burger{position:relative;z-index:60}
}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}.row3{grid-template-columns:1fr}.brand span{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.site-header,.slider button,.subnav{display:none}}

/* reservations: compact title band, widget first */
.bookband{background:var(--green);color:#fff;padding:34px 0 28px}.bookband h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:0}.bookband .eyebrow{color:#f3d7a8;margin-bottom:8px}
.otsec{padding:36px 0 56px}.ot{min-height:320px;display:flex;justify-content:center;margin-bottom:18px}.ot iframe{max-width:100%}

.vegart img{width:100%;max-width:460px;height:auto;margin:0 auto}
.dark.visit .eyebrow{color:#f3d7a8}.dark address a{color:#f3d7a8}
.dark a.btn-red{color:#fff}.dark a.btn-ghost{color:#fff}

/* ===================== v2 · editorial, no image overlays ===================== */
:root{--gold:#e7c874;--gold2:#f3d7a8}
body{font-size:17px}
.topbar .promo{color:var(--gold2);font-weight:500;margin-right:auto}.topbar .promo b{color:#fff;font-weight:600}
.topbar .wrap{flex-wrap:nowrap}.topbar .wrap>*{white-space:nowrap}
/* masthead: text-led, replaces the banner image */
.mast{background:var(--cream);padding:clamp(34px,5.5vw,70px) 0 clamp(28px,4vw,46px);border-bottom:1px solid var(--line);position:relative}
.mast::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:5px;background:linear-gradient(90deg,var(--flag-green) 33.3%,#fff 33.3% 66.6%,var(--red) 66.6%)}
.mast .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.mast h1{font-size:clamp(2.4rem,6vw,5rem);color:var(--green);margin:0;max-width:18ch;text-wrap:balance}
.mast .eyebrow{margin-bottom:14px}
.mast .msub{margin:14px 0 0;max-width:56ch;color:var(--mute);font-size:1.08rem}
.macts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.macts .tel{font:600 1.5rem/1 "Cormorant Garamond",serif;text-decoration:none;color:var(--green);margin-left:8px}
/* uncropped full-colour photo strips */
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0;margin:0}
.strip::-webkit-scrollbar{display:none}
.strip a,.strip figure{margin:0;display:block;scroll-snap-align:start;border-radius:14px;overflow:hidden}
.strip img{width:100%;height:clamp(240px,30vw,400px);object-fit:cover}
.postimg{margin:0 0 30px}.postimg img{width:100%;border-radius:var(--r);max-height:560px;object-fit:cover}
/* home opener */
.open{background:var(--green);color:#efe9d8;padding:clamp(34px,5.5vw,84px) 0 clamp(40px,6vw,90px)}
.open-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(26px,5vw,70px);align-items:center}
.open h1{font-size:clamp(2.9rem,7.2vw,6rem);color:#fff;margin:0 0 .3em}.open h1 em{color:var(--gold2)}
.open .eyebrow{color:var(--gold2)}.open .lead{font-size:1.15rem;color:#e4dcc6;max-width:52ch}
.award{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(243,215,168,.5);color:var(--gold2);border-radius:999px;padding:8px 16px;font-size:.82rem;letter-spacing:.06em;margin:6px 0 22px}
.open .btn-ghost{color:#fff}
.open-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,clamp(180px,25vw,310px));gap:12px}
.open-photos figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.open-photos .tall{grid-row:span 2}.open-photos img{width:100%;height:100%;object-fit:cover}
/* reservation embed */
.booklay{display:grid;grid-template-columns:1fr minmax(300px,420px);gap:clamp(24px,5vw,64px);align-items:start}
.otcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 12px 34px rgba(0,0,0,.08)}
.otcard .ot{min-height:300px;margin:0}
/* Reservations only: sampled OpenTable desktop background #d8d9db. */
.ot-reservations{--ot-height:608px;position:relative;display:block;height:var(--ot-height);min-height:var(--ot-height);margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#d8d9db}
.ot-reservations .otframe{display:block;width:100%;height:var(--ot-height);min-height:var(--ot-height);margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#d8d9db;opacity:0}
.ot-reservations.is-loaded .otframe{opacity:1}
.ot-reservations .ot-loading{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:12px;font-size:.95rem;color:#52555b;background:#d8d9db}
.ot-reservations.is-loaded .ot-loading{display:none}
.ot-spinner{width:22px;height:22px;border:2px solid #adb0b5;border-top-color:#52555b;border-radius:50%;animation:ot-spin .8s linear infinite}
.ot-backup{margin:14px 0 18px}.ot-backup a{color:var(--green);text-underline-offset:3px}
@keyframes ot-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.ot-reservations{--ot-height:688px}}
@media(prefers-reduced-motion:reduce){.ot-spinner{animation:none}}

.otcard h3{margin:0 0 12px;text-align:center}
/* gallery grid + scroller lightbox */
.gallery{columns:4 220px;column-gap:12px;margin:30px 0}.gi{display:block;margin-bottom:12px;break-inside:avoid;border-radius:10px;overflow:hidden;cursor:zoom-in;position:relative}
.gi:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.lb{position:fixed;inset:0;height:100dvh;background:#0b130e;z-index:300;display:none;flex-direction:column;color:#fff;touch-action:pan-x}
.lb.on{display:flex}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:calc(8px + env(safe-area-inset-top)) 14px 8px 18px;font:500 .9rem Jost;letter-spacing:.12em}
.lb-x{background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;width:48px;height:48px;cursor:pointer;border-radius:50%}
.lb-x:hover,.lb-nav:hover{background:rgba(255,255,255,.14)}
.lb-track{flex:1;min-height:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lb-track::-webkit-scrollbar{display:none}
.lb-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;margin:0;padding:0 10px}
.lb-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;opacity:0;transition:opacity .25s}.lb-slide img.ok{opacity:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-70%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:2rem;cursor:pointer;z-index:2}
.lb-prev{left:12px}.lb-next{right:12px}
.lb-cap{text-align:center;font-size:.92rem;color:#d8d2c0;padding:8px 18px;min-height:2.6em}
.lb-thumbs{display:flex;gap:6px;overflow-x:auto;padding:6px 12px calc(12px + env(safe-area-inset-bottom));scrollbar-width:none;justify-content:flex-start}
.lb-thumbs::-webkit-scrollbar{display:none}
.lb-thumbs button{flex:0 0 auto;width:54px;height:54px;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#1d2a22;cursor:pointer;opacity:.55}
.lb-thumbs button.on{border-color:var(--gold);opacity:1}.lb-thumbs img{width:100%;height:100%;object-fit:cover}
/* mobile action bar */
.mbar{display:none}
/* ===================== holiday ===================== */
.lights{display:flex;justify-content:space-between;align-items:flex-start;padding:0 10px;height:24px;position:relative;background:#0c1a12;pointer-events:none;overflow:hidden}
.lights::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#000;opacity:.5}
.lights i{display:block;width:11px;height:17px;margin-top:3px;width:9px;height:14px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:currentColor;color:var(--red);animation:tw 2.6s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.lights i:nth-child(4n+2){color:var(--gold)}.lights i:nth-child(4n+3){color:#4fb36b}.lights i:nth-child(4n){color:#fff3d6}
@keyframes tw{from{opacity:.4;box-shadow:0 0 0 0 currentColor}to{opacity:1;box-shadow:0 0 16px 3px currentColor}}
.xmas{position:relative;background:radial-gradient(1200px 520px at 80% -10%,#24593a 0,transparent 60%),var(--green);color:#efe9d8;overflow:hidden;padding:clamp(40px,6vw,90px) 0 clamp(48px,7vw,100px)}
#snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.xgrid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,5vw,70px);align-items:center}
.xmas .eyebrow{color:var(--gold)}
.xmas h1{font-size:clamp(2.3rem,5.2vw,4.4rem);color:#fff;margin:0}.xmas h1 em{color:var(--gold2)}
.script{font-family:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;color:var(--gold);font-size:clamp(2.3rem,5.8vw,4.4rem);line-height:1.05;margin:.1em 0 .35em;font-weight:400}
.xmas .lead{font-size:1.15rem;max-width:50ch;color:#e4dcc6}
.count{display:flex;gap:10px;margin:26px 0 8px}.count div{min-width:74px;text-align:center;border:1px solid rgba(243,215,168,.45);border-radius:12px;padding:10px 6px;background:rgba(0,0,0,.18)}
.count b{display:block;font:600 2.1rem/1 "Cormorant Garamond",serif;color:#fff;font-variant-numeric:tabular-nums}.count span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.count-l{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin:0 0 22px}
.xmas .btn-gold{background:var(--gold);color:var(--green);border-color:var(--gold)}.xmas .btn-gold:hover{background:#fff;color:var(--green)}
.xmas .btn-ghost{color:#fff}
.polas{position:relative;height:clamp(360px,46vw,560px)}
.pola{position:absolute;margin:0;background:#fffdf8;padding:10px 10px 38px;border-radius:4px;box-shadow:0 22px 44px rgba(0,0,0,.45);transition:transform .35s}
.pola img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.pola figcaption{position:absolute;left:0;right:0;bottom:9px;text-align:center;font:italic 600 1.05rem "Cormorant Garamond",serif;color:var(--green)}
.pola.p1{width:56%;aspect-ratio:3/4;left:2%;top:0;transform:rotate(-5deg)}
.pola.p2{width:50%;aspect-ratio:4/5;right:0;top:12%;transform:rotate(4deg);z-index:2}
.pola.p3{width:48%;aspect-ratio:1/1;left:18%;bottom:0;transform:rotate(-2deg);z-index:3}
.pola:hover{transform:rotate(0) scale(1.04);z-index:5}
.ribbon{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;border-block:2px solid var(--gold);position:relative;z-index:3}
.ribbon div{display:inline-block;padding:14px 0;animation:mq 38s linear infinite;font:600 .9rem/1 Jost;letter-spacing:.24em;text-transform:uppercase}
.ribbon span{padding:0 22px}.ribbon span:nth-child(even){color:var(--gold)}
@keyframes mq{to{transform:translateX(-50%)}}
.occ{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:34px}
.occ a{grid-column:span 2;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:var(--r);padding:26px 20px;text-align:center;transition:.25s;display:block}
.occ a:nth-child(n+4){grid-column:span 3}
.occ a:hover,.occ a:focus-visible{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,.12);border-top-color:var(--flag-green)}
.occ svg{width:48px;height:48px;color:var(--green);stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 10px}
.occ b{display:block;font:600 .88rem Jost;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.occ em{display:block;font:italic 600 1.25rem "Cormorant Garamond",serif;color:var(--red);margin-top:4px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;counter-reset:s}
.steps div{counter-increment:s;background:#f1e5c8;border-block:2px solid #d9b866;padding:22px 20px 22px 76px;position:relative}
.steps div::before{content:counter(s,upper-roman);position:absolute;left:20px;top:22px;width:42px;height:42px;border-radius:50%;background:var(--red2);color:#fff;display:grid;place-items:center;font:600 1.15rem "Cormorant Garamond",serif}
.steps b{display:block}.steps p{margin:2px 0 0;color:var(--mute);font-size:.95rem}
.xflyer{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.xflyer img{border-radius:6px;box-shadow:0 24px 50px rgba(0,0,0,.4);transform:rotate(-2deg);transition:.4s}.xflyer a:hover img{transform:rotate(0)}
.xcta{background:var(--red2);color:#fff;text-align:center;padding:clamp(48px,7vw,90px) 0;border-top:3px solid var(--gold)}
.xcta h2{color:#fff}.xcta p{color:#f6e7e7;max-width:52ch;margin-inline:auto}
.bigtel{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--green)!important;border-radius:999px;padding:14px 38px;font:700 clamp(1.9rem,6.4vw,3.6rem)/1 "Cormorant Garamond",serif;text-decoration:none;margin:14px 0 20px;box-shadow:0 14px 30px rgba(0,0,0,.3)}
.bigtel:hover{background:#fff}
.xcta .pills a{display:inline-block;border:1px solid var(--gold);color:#fff;border-radius:999px;padding:12px 22px;margin:5px;text-decoration:none;overflow-wrap:anywhere}.xcta .pills a:hover{background:var(--gold);color:var(--green)}
.tagline{font-family:"Pinyon Script","Snell Roundhand",cursive;font-size:clamp(1.7rem,4.4vw,2.6rem);color:var(--gold);margin-top:20px}
.promo-home{background:var(--green);color:#efe9d8}
.promo-home .xflyer img{max-height:620px;width:auto;margin-inline:auto}
/* ===================== responsive / mobile ===================== */
@media(max-width:960px){
 .open-grid,.xgrid,.xflyer,.booklay{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr}.occ{grid-template-columns:1fr 1fr}.occ a,.occ a:nth-child(n+4){grid-column:span 1}.occ a:last-child{grid-column:span 2}
 .polas{height:clamp(340px,78vw,520px);max-width:560px;margin-inline:auto;width:100%}
 .macts{display:none}
}
@media(max-width:820px){
 body{padding-bottom:calc(56px + env(safe-area-inset-bottom));font-size:16.5px}
 .mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--green);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 22px rgba(0,0,0,.28)}
 .mbar a{color:#fff;text-decoration:none;min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font:600 .74rem/1.15 Jost;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid rgba(255,255,255,.12);padding:6px}
 .mbar a:first-child{border:0}.mbar a.res{background:var(--red)}
 .mbar a[href*="maps"]{background:var(--directions-bg);color:var(--directions-text)}
 .topbar .wrap{padding:7px 0;justify-content:space-between}.topbar .promo{font-size:.78rem;white-space:normal;line-height:1.3}.topbar .addr{display:none}
 
 .lb-nav{display:none}.lb-thumbs button{width:46px;height:46px}
 .site-footer{padding-bottom:12px}.flinks a,.site-footer address a{display:inline-block;padding:7px 0}
}
@media(max-width:600px){
 .lights i:nth-child(even){display:none}
 .count div{min-width:0;flex:1}.count b{font-size:1.7rem}
 .occ{gap:10px}.occ a{padding:20px 12px}.occ b{font-size:.74rem;letter-spacing:.1em}.occ em{font-size:1.05rem}
 .strip{grid-auto-columns:78%}
 .open-photos{grid-template-rows:repeat(2,150px)}
 .mast h1{max-width:none}
 .rev{flex-basis:88%}
 .row3{grid-template-columns:1fr}
 .bigtel{padding:12px 24px;gap:8px}
 .btn{padding:12px 20px}
 .form{padding:20px}
 .gallery{columns:2 130px;column-gap:8px}.gi{margin-bottom:8px}
}
@media(max-width:360px){.brand span{font-size:1.15rem}.count span{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.ribbon div,.lights i{animation:none!important}}
@media print{.mbar,.lights,#snow,.lb{display:none!important}}
.btn-gold{background:var(--gold);color:var(--green);border-color:var(--gold)}.btn-gold:hover{background:#fff;color:var(--green)}
.reel a{border-radius:14px}.reel img{height:clamp(260px,34vw,420px)}

.xflyer>a{display:block;padding:10px}
.polas{align-self:center}
.dark a.btn-gold,.xmas a.btn-gold,a.btn-gold{color:var(--green)}.dark a.btn-gold:hover,a.btn-gold:hover{color:var(--green)}

/* top strip (tagline centred) */
.topbar .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.topbar .tagl{font:italic 600 1.08rem "Cormorant Garamond",serif;letter-spacing:.04em;color:#f3d7a8;margin:0;text-align:center;white-space:nowrap}
.topbar .tb-tel{justify-self:start}.topbar .promo{justify-self:end;margin:0}
.map iframe{min-height:340px}.map{border-radius:var(--r);overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.12)}.map.wide{margin-top:40px}
@media(max-width:820px){.topbar .wrap{grid-template-columns:1fr;gap:2px;text-align:center;padding:7px 0}.topbar .tb-tel{display:none}.topbar .promo{justify-self:center}.topbar .tagl{font-size:.98rem;white-space:normal}.map iframe{height:300px;min-height:0}}

/* ===================== brand band above a dark nav bar ===================== */
.topbar{display:none}
.brandband{background-color:#f1e3c4;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .4  0 0 0 0 .2  0 0 0 .13 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),radial-gradient(900px 200px at 50% 0,#f8ecd0,transparent 70%);position:relative}
.bb{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:14px 0}
.bb-l{display:flex;align-items:center;gap:14px;color:var(--green);font:600 .78rem/1.25 Jost;letter-spacing:.16em;text-transform:uppercase}
.bb-l p{margin:0}.bb-l strong{font:700 1.15rem/1.1 "Cormorant Garamond",serif;letter-spacing:.04em;color:var(--red2)}
.bb-seal{width:76px;height:76px;border-radius:50%;border:2px solid var(--green);outline:2px solid var(--green);outline-offset:-7px;display:grid;place-content:center;text-align:center;color:var(--red2);flex:none}
.bb-seal small{font:600 .55rem/1 Jost;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}.bb-seal b{font:700 1.45rem/1 "Cormorant Garamond",serif}
.bb-logo{display:block;justify-self:center;min-width:0}.bb-logo img{display:block;height:140px;width:auto;max-width:100%;object-fit:contain;mix-blend-mode:normal}
.bb-r{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.bb-hol{color:var(--red2);text-decoration:none;font:600 .78rem/1.2 Jost;letter-spacing:.14em;text-transform:uppercase}.bb-hol b{display:block;color:var(--green);letter-spacing:.1em}.bb-hol:hover b{color:var(--red)}
.bb-tel{font:700 1.6rem/1 "Cormorant Garamond",serif;color:var(--green);text-decoration:none}
.site-header{background:#0c1a12;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--flag-green) 33%,#fff 33% 66%,var(--red) 66%) 1;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.hdr{justify-content:center!important;padding:0!important;min-height:56px;position:relative}
.nav-brand,.menu-l{display:none}
nav#nav{margin:0 auto}nav#nav ul{gap:0}
nav#nav a:not(.btn),.sub-btn{color:#fff;font:500 .86rem/1 Jost;letter-spacing:.12em;padding:20px 17px;border-radius:0;position:relative}
nav#nav a:not(.btn):hover,.sub-btn:hover{color:var(--gold2);background:rgba(255,255,255,.04)}
nav#nav a[aria-current]:not(.btn)::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--red)}
nav#nav a[aria-current]:not(.btn){color:#fff}
nav#nav .nav-cta{margin-left:10px}nav#nav a.btn.btn-red{border-radius:0;height:56px;padding:0 24px;font-size:.84rem;letter-spacing:.1em}
.sub a{color:var(--ink)!important;padding:12px 14px!important}.sub a:hover{color:var(--red)!important;background:var(--cream)!important}
.burger span{background:#fff}.burger[aria-expanded="true"] span{background:var(--green)}
body.sc .nav-brand{display:flex;align-items:center;gap:10px;position:absolute;left:0;color:#fff;text-decoration:none;font:700 1.2rem/1 "Cormorant Garamond",serif}
body.sc .nav-brand img{height:34px;width:auto;background:#f1e3c4;border-radius:4px;padding:2px 6px}
.subnav{top:59px}
.info3 h3{font-size:1.5rem;color:var(--red)}.tick{list-style:none;padding:0;margin:0}.tick li{padding:5px 0 5px 24px;position:relative}.tick li::before{content:"✓";position:absolute;left:0;color:var(--flag-green);font-weight:700}
@media(max-width:1120px){
 .hdr{justify-content:space-between!important;padding:0 !important}
 .menu-l{display:block;color:#fff;font:600 .82rem Jost;letter-spacing:.2em;text-transform:uppercase}
 body.sc .nav-brand{display:none}
 nav#nav a:not(.btn),.sub-btn{color:var(--ink);padding:14px 8px;font-size:.95rem}
 nav#nav a:not(.btn):hover{color:var(--red);background:none}nav#nav a[aria-current]:not(.btn)::after{display:none}nav#nav a[aria-current]:not(.btn){color:var(--red)}
 nav#nav .nav-cta{margin:14px 0 0}nav#nav a.btn.btn-red{height:auto;padding:14px 20px;border-radius:999px;width:100%}
 .subnav{top:59px}
}
@media(max-width:820px){
 .bb{grid-template-columns:1fr;gap:4px;padding:10px 0 8px}.bb-l{display:none}
 .bb-logo img{height:110px}.bb-r{flex-direction:row;justify-self:center;align-items:center;gap:16px;text-align:center}
 .bb-hol{font-size:.7rem}.bb-hol b{display:inline;margin-left:4px}.bb-tel{display:none}
}
/* home: scrolling photos + framed reservation */
.hslide{position:relative;background:#0c1a12;padding:12px 0}
.htrack{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 12px}.htrack::-webkit-scrollbar{display:none}
.htrack a{flex:0 0 calc(25% - 9px);scroll-snap-align:start;border-radius:12px;overflow:hidden;display:block;margin:0}
.htrack img{width:100%;height:clamp(240px,31vw,430px);object-fit:cover;transition:transform .6s}.htrack a:hover img{transform:scale(1.04)}
.h-prev,.h-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--green);font-size:1.9rem;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.35)}.h-prev{left:16px}.h-next{right:16px}
.homebook{padding:clamp(34px,5vw,64px) 0}
.hb{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:clamp(26px,5vw,64px);align-items:start}
.hb-copy{order:2}.resframe{order:1}
.hb h1{font-size:clamp(2.4rem,5vw,4.2rem);color:var(--green);margin:0 0 .3em}
.award{color:var(--red2);border-color:rgba(143,26,34,.4)}
.hb .lead{color:var(--mute);max-width:56ch;font-size:1.08rem}
.hb-btns{margin:16px 0 26px}.hb-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}.hb-cols h3{font-size:1.5rem;color:var(--red);margin-bottom:.3em}.hb-cols .k{margin:10px 0 0;font-size:.85rem;color:var(--mute);letter-spacing:.1em;text-transform:uppercase}.hb-cols p{margin:0}
.resframe{padding:10px;background:linear-gradient(135deg,#b3202a,#6e1219 55%,#b3202a);border-radius:6px;box-shadow:0 20px 44px rgba(0,0,0,.28),inset 0 0 0 2px #e7c874}
.resin{background:#16201b;border-radius:3px;padding:26px 20px 22px;text-align:center;color:#efe9d8;box-shadow:inset 0 0 0 1px rgba(231,200,116,.55)}
.resin h2{font-size:clamp(1.7rem,3vw,2.2rem);color:#fff;margin:0 0 .3em}.resin>p{font-size:.95rem;margin:0 0 16px}
.resin .otcard{padding:12px;box-shadow:none}
@media(max-width:960px){.hb{grid-template-columns:1fr}.hb-copy{order:1}.resframe{order:2}.htrack a{flex-basis:calc(50% - 6px)}}
@media(max-width:600px){.htrack{padding:0;scroll-padding-inline:0}.htrack a{flex-basis:100%;scroll-snap-stop:always}.htrack img{height:260px}.h-prev,.h-next{display:none}.hb-cols{grid-template-columns:1fr}.hb-btns .btn{margin-bottom:8px}}
.resin .otcard{color:var(--ink)}.resin .otcard a.btn{color:#fff}

/* ===== polish: readable band + lining phone numerals ===== */
.phone-lg,.bb-tel,.bigtel,.macts .tel,.count b,.pprice,.year,.mprice,.bb-seal b{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.phone-lg,.bb-tel,.macts .tel{font-family:Jost,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:.01em}
.phone-lg{font-size:1.9rem!important;color:var(--red)}
.bigtel{font-family:Jost,system-ui,sans-serif!important;font-weight:600!important;font-size:clamp(1.9rem,6.2vw,3.2rem)!important;letter-spacing:.01em}
.macts .tel{font-size:1.25rem!important}
.brandband{border-bottom:1px solid rgba(143,26,34,.25)}
.brandband::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,#c9a24a 20%,#c9a24a 80%,transparent);opacity:.75}
.bb{padding:16px 0 18px;gap:28px}
.bb-l{gap:16px;text-transform:none;letter-spacing:0;color:inherit;text-decoration:none}
.bb-seal{width:84px;height:84px;background:radial-gradient(circle at 35% 30%,#24593a,#14291d 70%);border:0;outline:2px solid #c9a24a;outline-offset:-6px;box-shadow:0 6px 16px rgba(20,41,29,.35),0 0 0 3px #14291d;color:#fff}
.bb-seal b{font:700 2.3rem/.9 "Cormorant Garamond",serif;color:#fff}
.bb-seal small{font:600 .62rem/1 Jost;letter-spacing:.2em;text-transform:uppercase;color:#f3d7a8;margin-top:3px}
.bb-t{display:flex;flex-direction:column;gap:2px;max-width:230px}
.bb-k{font:italic 600 1.05rem/1.1 "Cormorant Garamond",serif;color:var(--red2)}
.bb-t strong{font:700 1.45rem/1.1 "Cormorant Garamond",serif;color:var(--green);letter-spacing:.01em}
.bb-e{font:500 .82rem/1.3 Jost;color:#5d5a52;letter-spacing:.02em;margin-top:3px}
.bb-r{gap:10px;align-items:flex-end}
.bb-hol{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#f3d7a8;border-radius:999px;padding:9px 18px;font:600 .88rem/1 Jost;letter-spacing:.04em;text-transform:none;text-decoration:none;box-shadow:0 4px 12px rgba(20,41,29,.25)}
.bb-hol span{color:#fff;font-weight:600}.bb-hol:hover{background:var(--red2);color:#fff}
.bb-call{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}
.bb-call small{font:500 .78rem/1 Jost;color:#5d5a52;letter-spacing:.04em;margin-bottom:3px}
.bb-tel{font-size:1.85rem!important;color:var(--green)!important}.bb-tel:hover{color:var(--red)!important}
@media(max-width:1080px){.bb-t{display:none}.bb{grid-template-columns:104px minmax(0,1fr) 104px;}.bb-logo{justify-self:center}.bb-r{display:none}}
@media(max-width:820px){.bb{grid-template-columns:64px minmax(0,1fr) 64px;gap:8px;padding:10px 0 12px}.bb-l{display:flex;justify-self:start;gap:0}.bb-logo{justify-self:center;min-width:0}
 .bb-r{display:flex;grid-column:1/-1;flex-direction:row;justify-self:center;align-items:center;gap:12px}.bb-call{display:none}.bb-hol{font-size:.82rem;padding:8px 14px}}
.maplink{margin:0;padding:10px 14px;background:#fff;text-align:right;font-size:.9rem}

/* ===== floating widgets: accessibility (right) + language (left) ===== */
.wdg{position:fixed;bottom:18px;z-index:90;font-family:Jost,system-ui,sans-serif}
.a11y-w{right:16px}.gt-w{left:16px}
.a11y-b{width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:#1f5fbf;box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:pointer;display:grid;place-items:center;padding:0}
.a11y-b:hover{background:#174a96}
.a11y-b:focus-visible,.gt-b:focus-visible,.a11y-p button:focus-visible,.gt-m button:focus-visible{outline:3px solid #ffbf00;outline-offset:2px}
.a11y-p{position:absolute;right:0;bottom:70px;width:min(320px,calc(100vw - 32px));background:#fff;color:#1b1b18;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:16px;border:1px solid #d9d2c0}
.a11y-p[hidden],.gt-m[hidden]{display:none}
.a11y-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.a11y-h strong{font:700 1.25rem "Cormorant Garamond",serif;color:#14291d}
.a11y-x{background:none;border:0;font-size:1.8rem;line-height:1;width:44px;height:44px;cursor:pointer;color:#14291d;border-radius:50%}.a11y-x:hover{background:#f1e8d3}
.a11y-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:500}
.a11y-sz{display:flex;align-items:center;gap:6px}.a11y-sz button{width:48px;height:44px;border:1px solid #b9b19a;border-radius:10px;background:#faf6ec;font:600 1rem Jost;cursor:pointer}.a11y-lvl{min-width:46px;text-align:center;font-weight:600}
.a11y-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-g button,.a11y-r{min-height:48px;border:1px solid #b9b19a;border-radius:10px;background:#faf6ec;font:500 .92rem/1.2 Jost;color:#1b1b18;cursor:pointer;padding:8px 10px}
.a11y-g button[aria-pressed="true"]{background:#14291d;color:#fff;border-color:#14291d}
.a11y-r{width:100%;margin-top:10px;background:#fff}.a11y-n{margin:10px 0 0;font-size:.85rem;color:#5d5a52;text-align:center}
.gt-b{display:flex;align-items:center;gap:8px;height:48px;padding:0 14px 0 12px;border-radius:999px;border:2px solid #fff;background:#14291d;color:#fff;font:600 .9rem Jost;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.gt-b i{font-style:normal;font-size:.7rem;opacity:.8}.gt-b:hover{background:#1f4a30}
.gt-m{position:absolute;left:0;bottom:58px;list-style:none;margin:0;padding:6px;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid #d9d2c0;min-width:190px}
.gt-m button{display:block;width:100%;text-align:left;min-height:46px;padding:8px 14px;border:0;background:none;border-radius:8px;font:500 1rem Jost;color:#1b1b18;cursor:pointer}.gt-m button:hover{background:#f1e8d3}
.gt-m button[aria-checked="true"]{font-weight:700;color:#b3202a;background:#faf1e0}
.gt-n{font-size:.72rem;color:#7a7566;padding:6px 14px 4px}
@media(max-width:820px){.wdg{bottom:calc(68px + env(safe-area-inset-bottom))}.a11y-w{right:12px}.gt-w{left:12px}.a11y-b{width:50px;height:50px}.gt-b{height:44px}.gt-b span{display:none}.gt-b{padding:0 12px}}
/* accessibility modes */
body>*:not(.wdg):not(script){filter:var(--a11y-f,none)}
html.a11y-ts body>*:not(.wdg):not(.lb):not(script){zoom:var(--a11y-z,1)}
html.a11y-hl a:not(.btn){background:#fff3a8!important;color:#000!important;outline:2px solid #b36b00;text-decoration:underline!important}
html.a11y-hl a.btn{outline:3px solid #ffbf00;outline-offset:2px}
html.a11y-rf body,html.a11y-rf body *:not(svg):not(svg *){font-family:Verdana,Arial,Helvetica,sans-serif!important}
html.a11y-ls body{letter-spacing:.06em!important;word-spacing:.16em!important;line-height:1.9!important}
html.a11y-pa *,html.a11y-pa *::before,html.a11y-pa *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* hide Google Translate chrome */
.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-tooltip,.goog-te-balloon-frame{display:none!important}body{top:0!important}.goog-text-highlight{background:none!important;box-shadow:none!important}
@media print{.wdg{display:none!important}}
.a11y-p{max-height:min(78vh,640px);overflow:auto;overscroll-behavior:contain}
.a11y-n a{color:#1f5fbf}
html.a11y-inv img,html.a11y-inv video,html.a11y-inv iframe,html.a11y-inv canvas{filter:invert(1) hue-rotate(180deg)}
html.a11y-hh :is(h1,h2,h3,h4){outline:3px solid #1f5fbf;outline-offset:4px;background:rgba(255,243,168,.35)}
html.a11y-df body,html.a11y-df body *:not(svg):not(svg *){font-family:"Atkinson Hyperlegible",Verdana,Arial,sans-serif!important}
html.a11y-la body :is(p,li,h1,h2,h3,h4,div,blockquote,summary){text-align:left!important}
html.a11y-bc,html.a11y-bc *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'><path d='M3 2l7.5 19 2.7-7.6L21 10.7z' fill='black' stroke='white' stroke-width='1.6' stroke-linejoin='round'/></svg>") 4 2,auto!important}
html.a11y-hi img:not(.keep),html.a11y-hi .gi img{visibility:hidden}
html.a11y-hi .htrack,html.a11y-hi .strip,html.a11y-hi .open-photos{background:#eee}
.a11y-guide{position:fixed;left:0;right:0;height:44px;z-index:89;pointer-events:none;border-block:3px solid #ffbf00;background:rgba(255,191,0,.12);box-shadow:0 0 0 100vmax rgba(0,0,0,.0)}
/* visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #1f5fbf;outline-offset:3px;border-radius:4px}
.dark a:focus-visible,.dark button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible,.brandband a:focus-visible,.hslide button:focus-visible,.xmas a:focus-visible,.xcta a:focus-visible{outline-color:#ffbf00}
.skip:focus{outline:3px solid #1f5fbf;z-index:400}
h2.cardh{font-size:1.5rem;margin:0 0 .4em}.card h2.cardh{font-size:1.6rem}.hb-cols h2.cardh{color:var(--red)}
.promo-home h2{color:#fff}.promo-home h2 em{color:#f3d7a8}.promo-home .eyebrow{color:#f3d7a8!important}
.ribbon span:nth-child(even){color:#fff3d6}
.rev p{max-height:none!important;overflow:visible!important}
.thanks{background:#fff;border:1px solid var(--line);border-top:4px solid var(--flag-green);border-radius:var(--r);padding:28px;box-shadow:0 12px 34px rgba(0,0,0,.08)}.thanks h3{margin:0 0 .3em;color:var(--green)}.thanks p{margin:0}
.gh{font-size:1.6rem;color:var(--red);margin:34px 0 0;padding-bottom:6px;border-bottom:1px solid var(--line)}
.gg{margin:16px 0 10px}
body.sc .nav-brand span{display:none}
.otframe{display:block;width:100%;min-height:900px;border:0;background:#fff;border-radius:4px}@media(max-width:640px){.otframe{min-height:960px}}

.nav-hol>a{color:var(--gold)!important;font-weight:600}.nav-hol>a::before{content:"✦ ";font-size:.8em}
.site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header .hdr{position:relative;z-index:3}.site-header .lights{z-index:1}
@media(max-width:1120px){.nav-hol>a{color:var(--red)!important}}
/* reviews: Trustindex-style Google widget */
.rev-head{display:block;text-align:center;margin-bottom:26px}
.rev-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:start}
.rev-sum{text-align:center;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:6px}
.rev-sum strong{letter-spacing:.14em;font-size:1.15rem;color:#1b1b18}
.rev-sum .stars{font-size:1.5rem;letter-spacing:2px;line-height:1}.rev-sum>span{font-size:.92rem;color:#4a463d}
.gword{display:flex;align-items:center;gap:8px;margin-top:6px;font:500 1.5rem/1 Jost;color:#5f6368;text-decoration:none}.gword svg{width:28px;height:28px}
.track{align-items:flex-start;gap:14px}
.rev{flex:0 0 min(300px,82%);padding:16px 16px 14px;gap:8px;border-radius:10px;border:1px solid #e6e1d4;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.rev-top{gap:10px;align-items:flex-start}.rev-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.rev-top strong{font-size:.95rem;line-height:1.2}.rev-top time{font-size:.78rem}
.avatar{width:38px;height:38px;flex:none;font-size:1rem}
.g{border:0;background:none;width:22px;height:22px;margin-left:auto;flex:none}.g svg{width:20px;height:20px}
.rev .stars{font-size:1.05rem;letter-spacing:1px;line-height:1}
.rev p.rev-t{font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden!important;max-height:none!important;color:#2a2a26}
.rev.open p.rev-t{display:block;-webkit-line-clamp:unset}
.rev-more{align-self:flex-start;background:none;border:0;padding:2px 0;font:500 .85rem Jost;color:#6b6759;cursor:pointer;text-decoration:underline}
.rev-more:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}
.s-prev,.s-next{top:42%;width:38px;height:38px;font-size:1.4rem;background:#fff;color:#333;border:1px solid #ddd}
@media(max-width:900px){.rev-wrap{grid-template-columns:1fr;gap:12px}.rev-sum{padding-bottom:0}.s-prev{left:2px}.s-next{right:2px}.track{padding:6px 0 14px;scroll-padding-inline:0}.rev{flex-basis:100%;scroll-snap-stop:always}}
@media(max-width:900px){.rev-wrap{grid-template-columns:minmax(0,1fr)}}
.rev-more{font-family:inherit}

svg.bb-seal{width:104px;height:104px;border:0;outline:0;background:none;box-shadow:none;border-radius:0;display:block;flex:none;overflow:visible}@media(max-width:820px){svg.bb-seal{width:64px;height:64px}}
/* lighter top band to match the cream of the home intro area */
.brandband{background-color:#f8f2e4!important;background-image:none!important}
.track{align-items:stretch}
.rev{min-height:236px}.rev p.rev-t{min-height:6em}
.rev.open{min-height:236px}
.stars47 i{font-style:normal}.stars47 i.part{background:linear-gradient(90deg,#f5a623 0 70%,#d8d0bd 70% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* tighter home spacing + softer menu green */
.sec{padding:clamp(34px,5vw,60px) 0}
.menu-home{background:#2b4b38;padding:clamp(30px,4vw,46px) 0}
.menu-home .wrap{position:relative}
.menu-home h2{margin-bottom:6px}
.menu-home p.center{margin:0}
.menu-home .tiles{margin:20px 0 16px;gap:16px}
.menu-home .tile img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover}
.menu-home .chips{gap:8px}.menu-home .chips a{padding:7px 15px}
@media(min-width:961px){.menu-home p.center{position:absolute;right:0;top:34px}}
[id]{scroll-margin-top:150px}
/* softer green for all dark sections (nav bar, lights and buttons keep the deep green) */
.dark,.bookband,.hslide,.subnav,.topbar{background-color:#2b4b38}
.xmas{background:radial-gradient(1200px 520px at 80% -10%,#3b7a53 0,transparent 60%),#2b4b38}

/* ===== light promo band + cream footer ===== */
.promo-home{background:#f8f2e4!important;color:#2a2a26;border-top:1px solid #e3d9c4}
.promo-home h2{color:#14291d!important}.promo-home h2 em{color:#b3202a!important}.promo-home .eyebrow{color:#b3202a!important}
.promo-home p{color:#3a3a34}.promo-home .xflyer img{box-shadow:0 18px 40px rgba(60,40,10,.25)}
.promo-home .btn-gold{background:#b3202a!important;color:#fff!important}.promo-home .btn-gold:hover{background:#8f1a22!important}
.site-footer{background:#f1e7d0!important;color:#2a2a26;padding-top:0;border-top:0;position:relative}
.site-footer::before{content:"";display:block;height:5px;background:linear-gradient(90deg,#2e7d46 0 33.3%,#fff 33.3% 66.6%,#b3202a 66.6%)}
.site-footer .fgrid{padding-top:clamp(36px,5vw,56px);grid-template-columns:1.15fr 1.1fr .8fr .8fr;gap:clamp(24px,4vw,56px)}
.site-footer h2.fh{font:600 .86rem Jost,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#14291d;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #c9a24a;display:inline-block}
.site-footer a{color:#8f1a22}.site-footer a:hover{color:#14291d}
.site-footer .btn-red,.site-footer a.btn{color:#fff}
.site-footer .flogo img{display:block;width:220px;max-width:100%;height:auto;mix-blend-mode:normal}
.site-footer .ftag{font:italic 600 1.05rem/1.4 "Cormorant Garamond",serif;color:#14291d;margin:10px 0 14px}
.site-footer address{color:#2a2a26;margin-bottom:18px}
.site-footer .hours li{border-color:rgba(20,41,29,.18);color:#2a2a26;font-size:.92rem}
.site-footer .flinks li{padding:5px 0}.site-footer .flinks a{color:#2a2a26;text-decoration:none;font-size:.97rem}.site-footer .flinks a:hover{color:#b3202a;text-decoration:underline}
.ffollow{text-align:center;margin-top:clamp(28px,4vw,44px)}
.ffollow .fh2{font:600 .86rem Jost,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#14291d;margin:0 0 12px}
.ficons{display:flex;justify-content:center;gap:16px;margin:0}
.ficons a{display:block;width:46px;height:46px;border-radius:50%;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.ficons a:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.25)}.ficons svg{width:100%;height:100%;display:block;border-radius:inherit}
.ficons a:focus-visible{outline:3px solid #14291d;outline-offset:3px}
.site-footer .fbottom{border-top:1px solid rgba(20,41,29,.22);margin-top:26px;padding:20px 0 28px;align-items:center;font-size:.88rem;color:#3a3a34}
.site-footer .fbottom a{color:#8f1a22;margin-right:14px}.site-footer .fbottom .credit a{margin:0;font-weight:600}
.site-footer .fbottom .legal a:last-child{margin-right:0}
.credit .heart{width:15px;height:15px;vertical-align:-2px;margin:0 2px}
@media(max-width:960px){.site-footer .fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.site-footer .fgrid{grid-template-columns:1fr 1fr}.site-footer .fbrand,.site-footer .fgrid>div:nth-child(2){grid-column:1/-1}.site-footer .fbottom{flex-direction:column;text-align:center;gap:10px}}
@media(max-width:820px){body{padding-bottom:0!important}.site-footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}}
.info3{align-items:start;gap:clamp(28px,6vw,90px)}
.info3>div:last-child{border-left:3px solid #c9a24a;padding-left:clamp(20px,4vw,48px)}
.info3 p{font-size:1.05rem;line-height:1.7}.info3 .tick li{font-size:1.05rem}
@media(max-width:960px){.info3>div:last-child{border-left:0;padding-left:0;border-top:3px solid #c9a24a;padding-top:22px}}

/* Visit band: light sage, centered, no artwork */
.visit-light{background:linear-gradient(180deg,#e4ede0,#d6e3d0)!important;color:#1f2f25;text-align:center;border-top:1px solid #c5d4bf;border-bottom:1px solid #c5d4bf}
.visit-light .visit-in{max-width:760px;margin:0 auto}
.visit-light .eyebrow{color:#8f1a22!important}
.visit-light h2{color:#14291d!important}.visit-light h2 em{color:#b3202a!important}
.visit-light address{font-style:normal;font-size:1.15rem;margin:14px 0 18px}.visit-light address a{color:#14291d!important;text-decoration:none}.visit-light address a:hover{color:#b3202a!important;text-decoration:underline}
.visit-light .btn-ghost{color:#14291d!important;border-color:#14291d!important;background:transparent}.visit-light .btn-ghost:hover{background:#14291d;color:#fff!important}
.visit-light.visit-photo{background:var(--vb) center/cover no-repeat!important;color:#fff!important;border:0!important}
.visit-photo .eyebrow{color:#f3d7a8!important}.visit-photo h2{color:#fff!important}.visit-photo h2 em{color:#f3d7a8!important}
.visit-photo address,.visit-photo address a{color:#fff!important}.visit-photo .btn-ghost{color:#fff!important;border-color:#fff!important}.visit-photo .btn-ghost:hover{background:#fff;color:#14291d!important}
.visit-photo{padding-block:clamp(60px,9vw,120px)}
/* lighter green nav bar (a shade lighter than the sections below it) */
.site-header{background:#3a6a4e!important;box-shadow:0 4px 16px rgba(0,0,0,.18)!important}
.site-header .lights{background:#3a6a4e}.site-header .lights::before{background:#14291d;opacity:.45}
.nav-hol>a{color:#fbe3b0!important}
nav#nav a:not(.btn):hover,.sub-btn:hover{color:#fbe3b0}
.site-header .lights i{color:#d6303b}.site-header .lights i:nth-child(4n+2){color:#f3cf6a}.site-header .lights i:nth-child(4n+3){color:#9be3b0}.site-header .lights i:nth-child(4n){color:#fff3d6}
@media(max-width:1120px){.nav-hol>a{color:#b3202a!important}nav#nav a:not(.btn):hover{color:var(--red)}}

/* menu tabs: cream strip, centered pill tabs that stand out */
.subnav{background:#f8f2e4!important;border-bottom:1px solid #e3d9c4;box-shadow:0 6px 14px rgba(60,40,10,.08);top:var(--hh,83px)!important}
.subnav .wrap{justify-content:safe center;gap:10px;padding:12px 0;flex-wrap:nowrap}
.subnav a{color:#14291d!important;background:#fff;border:2px solid #14291d;font-weight:600;font-size:.84rem;padding:10px 20px;box-shadow:0 2px 0 rgba(20,41,29,.25);transition:background .2s,color .2s,transform .2s}
.subnav a:hover{background:#14291d;color:#fff!important;transform:translateY(-1px)}
.subnav a.on{background:#b3202a;border-color:#b3202a;color:#fff!important;box-shadow:0 3px 10px rgba(179,32,42,.35)}
.subnav a:focus-visible{outline:3px solid #b3202a;outline-offset:2px}
/* brighter green nav bar */
.site-header,.site-header .lights{background:#468060!important}
.site-header .lights::before{background:#1c3a29;opacity:.5}
.nav-hol>a{color:#fff!important;font-weight:700}.nav-hol>a::before{color:#f7d98a}
@media(min-width:1121px){nav#nav a:not(.btn):hover,.sub-btn:hover{color:#fff;background:rgba(0,0,0,.14)}}
@media(max-width:1120px){.nav-hol>a{color:#b3202a!important}}

/* Existing wine list and Bar Lounge styles; exclude the Drinks card. */
.menu-drinks:where(:not(#bar-menu)){background:#f0f7ec;color:#1b1b18;border-top:1px solid #dbe8d4}
.menu-drinks:where(:not(#bar-menu)) .eyebrow{color:#8f1a22}.menu-drinks:where(:not(#bar-menu)) .ptitle,.menu-drinks:where(:not(#bar-menu)) h2{color:#14291d}
.menu-drinks:where(:not(#bar-menu)) .msec h3{color:#8f1a22;border-color:#c9dcc0}.menu-drinks:where(:not(#bar-menu)) .msec h4{color:#14291d}
.menu-drinks:where(:not(#bar-menu)) .mname,.menu-drinks:where(:not(#bar-menu)) .mprice{color:#14291d}.menu-drinks:where(:not(#bar-menu)) p,.menu-drinks:where(:not(#bar-menu)) li{color:#2a2a26}
.menu-drinks:where(:not(#bar-menu)) .btn-ghost{color:#14291d;border-color:#14291d;background:transparent}.menu-drinks:where(:not(#bar-menu)) .btn-ghost:hover{background:#14291d;color:#fff}
.menu-drinks:where(:not(#bar-menu)) a:not(.btn){color:#8f1a22}
/* Guest Favorites: uniform tiles, last row centered */
.gallery.gg{columns:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 10px}
.gallery.gg .gi{flex:0 0 calc(25% - 9px);aspect-ratio:1/1;margin:0}
.gallery.gg .gi img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:960px){.gallery.gg .gi{flex-basis:calc(33.333% - 8px)}}
@media(max-width:560px){.gallery.gg{gap:8px}.gallery.gg .gi{flex-basis:calc(50% - 4px)}}

/* ---- tags, filters, event explorer, blog cards ---- */
[hidden]{display:none!important}
.tags,.tagrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0}.tagrow{justify-content:center;margin:0}
.tg{display:inline-block;font:600 .7rem/1 Jost;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:#e8f0e6;color:var(--green2);text-decoration:none;border:1px solid #cfe0cb}
a.tg:hover{background:var(--green2);color:#fff;border-color:var(--green2)}.tg.hot{background:var(--red);color:#fff;border-color:var(--red)}a.tg.hot:hover{background:var(--red2)}
.ftag{font:600 .8rem/1 Jost;letter-spacing:.06em;padding:11px 16px;min-height:44px;border-radius:999px;border:1.5px solid var(--green2);background:#fff;color:var(--green2);cursor:pointer;transition:.15s}
.ftag:hover{background:#e8f0e6}.ftag[aria-pressed=true]{background:var(--green2);color:#fff}.ftag:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.frow{display:flex;gap:8px;flex-wrap:wrap}.fcount{font:600 .78rem Jost;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.fbar{position:sticky;top:var(--hh,78px);z-index:30;background:rgba(255,253,248,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.fbar .wrap{display:flex;align-items:center;gap:16px;padding:10px 0}.fbar .frow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px}.fbar .frow::-webkit-scrollbar{display:none}.fbar .ftag{white-space:nowrap}
.fbar2{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.evexp{padding-bottom:clamp(30px,5vw,60px)}.evgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.evc{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;text-decoration:none;color:#fff;isolation:isolate;box-shadow:0 10px 26px rgba(0,0,0,.14);transition:transform .25s,box-shadow .25s}
.evc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;z-index:-2}
.evc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,26,17,.88));z-index:-1}
.evc:hover,.evc:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.22)}.evc:hover img{transform:scale(1.07)}.evc:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.evc-t{position:absolute;left:14px;right:14px;bottom:34px;font:600 1.45rem/1.1 "Cormorant Garamond",serif;text-wrap:balance}
.evc-g{position:absolute;left:14px;bottom:12px;font:600 .66rem Jost;letter-spacing:.16em;text-transform:uppercase;color:#f3d7a8}
.evgrid .evc:last-child{grid-column:1/-1;aspect-ratio:16/5}.evgrid .evc:last-child .evc-t{font-size:2rem;bottom:38px}.evexp2{padding:24px 0 clamp(40px,6vw,80px)}.evexp{padding-bottom:0}
.ev{scroll-margin-top:calc(var(--hh,78px) + 70px)}.ev .tags{margin-bottom:10px}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.12)}
.pimg img{width:100%;aspect-ratio:4/3;object-fit:cover}.pbody{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}.pbody time{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.pbody h2{margin:0 0 .4em}.pbody h2 a{text-decoration:none;color:var(--green)}.pbody h2 a:hover{color:var(--red)}.pbody p{margin:0 0 14px;font-size:.97rem}.pbody .btn{margin-top:auto;align-self:flex-start}
.pcard.feat{grid-column:1/-1;flex-direction:row}.pcard.feat .pimg{flex:0 0 52%}.pcard.feat .pimg{position:relative;min-height:400px}.pcard.feat .pimg img{position:absolute;inset:0;height:100%;aspect-ratio:auto}.pcard.feat .pbody{justify-content:center;padding:34px 38px}.pcard.feat h2{font-size:clamp(1.9rem,3.2vw,2.6rem)}
.article .tags{margin-bottom:18px}.article ul{padding-left:1.2em}
@media(max-width:960px){.evgrid{grid-template-columns:repeat(3,1fr)}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pcard.feat{flex-direction:column}.pcard.feat .pimg{flex:none;min-height:0}.pcard.feat .pimg img{position:static;aspect-ratio:16/10;height:auto}}
@media(max-width:620px){.evgrid{grid-template-columns:repeat(2,1fr);gap:10px}.evgrid .evc:last-child{aspect-ratio:16/8}.evc-t{font-size:1.2rem;bottom:30px}.pgrid{grid-template-columns:minmax(0,1fr)}.fbar .wrap{flex-direction:column;align-items:flex-start;gap:6px}.fbar .frow{max-width:100%}.pcard.feat .pbody{padding:22px}}
@media(prefers-reduced-motion:reduce){.evc,.evc img,.pcard{transition:none}}

.mast h1.long{font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:24ch}

/* holiday: Santa, softer reserve band, rounded Reservations button */
.xmas .santa{position:absolute;z-index:3;top:clamp(6px,1.4vw,18px);right:max(12px,calc((100% - 1180px)/2));width:clamp(104px,13vw,176px);pointer-events:none}
.santa-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
.hoho{position:absolute;right:92%;top:6%;white-space:nowrap;font:400 clamp(1.3rem,2.4vw,2rem)/1 "Pinyon Script","Snell Roundhand",cursive;color:var(--gold2)}
.santa .wave{transform-origin:170px 204px;animation:wv 2.4s ease-in-out infinite}.santa .sparkle{animation:tw 2.6s ease-in-out infinite alternate}
@keyframes wv{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
@media(min-width:961px){.xmas .polas{margin-top:clamp(70px,8vw,110px)}.xmas{padding-top:clamp(56px,6vw,96px)}}
@media(max-width:960px){.xmas{padding-top:clamp(96px,22vw,130px)}.xmas .santa{width:clamp(88px,22vw,120px)}.hoho{right:86%;font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.santa .wave,.santa .sparkle{animation:none}}
.xcta{background:#dff8e1;color:#1b3a28;text-align:left;border-top:1px solid #b6e2bb;border-bottom:1px solid #b6e2bb;padding:clamp(40px,6vw,76px) 0}
.xcta-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.xcta .eyebrow{color:#a3202b}.xcta h2{color:#14291d;margin:0 0 .3em}.xcta p{color:#2d4a38;max-width:48ch;margin-inline:0}
.xcta .tagline{color:#2b4b38;margin-top:14px}
.xc-r{background:#fff;border:1px solid #b6e2bb;border-radius:20px;padding:clamp(22px,3.2vw,36px);text-align:center;box-shadow:0 14px 34px rgba(30,80,50,.12)}
.xcta .bigtel{background:#2b4b38;color:#fff!important;box-shadow:0 10px 22px rgba(30,80,50,.28);margin:0 0 18px;max-width:100%}.xcta .bigtel:hover{background:#14291d}
.xcta .pills{display:flex;flex-direction:column;gap:10px;margin:0;max-width:none}
.xcta .pills a{display:block;margin:0;border:1.5px solid #2b4b38;color:#14291d;background:#fff;border-radius:999px;padding:12px 18px;font-weight:500;text-decoration:none;overflow-wrap:anywhere}.xcta .pills a:hover{background:#2b4b38;color:#fff}
@media(max-width:860px){.xcta-grid{grid-template-columns:1fr;text-align:center}.xcta p{margin-inline:auto}}
nav#nav a.btn.btn-red{border-radius:999px;height:44px;padding:0 24px;margin:6px 10px 6px 4px}
@media(max-width:1100px){nav#nav a.btn.btn-red{margin:14px 0 0}}
.xcta .eyebrow{max-width:none}.xcta .tagline{line-height:1.25;font-size:clamp(1.6rem,3vw,2.3rem)}
.xcta .bigtel{font-size:clamp(1.6rem,3.4vw,2.4rem)!important;white-space:nowrap;padding:14px 26px;justify-content:center;width:100%}
.xmas .santa{width:clamp(120px,15vw,200px)}@media(max-width:960px){.xmas .santa{width:clamp(96px,24vw,130px)}}
@media(max-width:960px){.xmas{padding-top:clamp(124px,32vw,150px)}}
.dark a.btn-ghost:hover,.xmas a.btn-ghost:hover,.open a.btn-ghost:hover,.xcta a.btn-ghost:hover{background:#f3d7a8;color:#14291d;border-color:#f3d7a8}
.dark a.btn-ghost:focus-visible,.xmas a.btn-ghost:focus-visible{background:#f3d7a8;color:#14291d}

/* ---- History page ---- */
.hx-hero{position:relative;overflow:hidden;background:radial-gradient(900px 480px at 85% 10%,#3b7a53 0,transparent 60%),#2b4b38;color:#efe9d8;padding:clamp(44px,7vw,100px) 0 clamp(56px,8vw,110px)}
.hx-ghost-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 clamp(12rem,38vw,34rem)/1 "Cormorant Garamond",serif;color:transparent;-webkit-text-stroke:2px rgba(243,215,168,.14);letter-spacing:.02em;pointer-events:none;white-space:nowrap}
.hx-hgrid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,70px);align-items:center}
.hx-hero .eyebrow{color:var(--gold2)}.hx-hero h1{font-size:clamp(4rem,12vw,9rem);color:#fff;margin:0 0 .12em;line-height:.9}
.hx-sub{font:italic 600 clamp(1.4rem,2.8vw,2.1rem)/1.25 "Cormorant Garamond",serif;color:var(--gold2);max-width:24ch;margin:0 0 1.2em}
.hx-hero .btn-ghost{color:#fff}.hx-hero .btn-ghost:hover{background:#f3d7a8;color:#14291d;border-color:#f3d7a8}
.hx-dial{justify-self:center;width:min(100%,380px)}.hx-gauge{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 34px rgba(0,0,0,.45))}
.hx-needle{transform-origin:150px 150px;transform:rotate(59deg);animation:hxneedle 2.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes hxneedle{from{transform:rotate(-135deg)}to{transform:rotate(59deg)}}
.hx-flag{position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--flag-green) 33.3%,#fff 33.3% 66.6%,var(--red) 66.6%)}
.hx-stats{background:var(--cream);border-bottom:1px solid var(--line)}.hx-stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.hx-stats li{padding:26px 18px;text-align:center;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.hx-stats li:first-child{border-left:0}
.hx-stats b{font:700 clamp(2.2rem,4.4vw,3.4rem)/1 "Cormorant Garamond",serif;color:var(--red);font-variant-numeric:lining-nums}.hx-stats span{font:500 .8rem/1.3 Jost;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.hx-sec{background:linear-gradient(#fffdf8,#f7f0e3)}
.hx-tl{position:relative;display:grid;gap:clamp(48px,7vw,96px)}
.hx-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:2px;background:linear-gradient(var(--flag-green),#e8dfc8 50%,var(--red))}
.hx-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:center}
.hx-item.r .hx-card{order:2}
.hx-item::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#fff;border:5px solid var(--red);box-shadow:0 0 0 6px rgba(179,32,42,.15);z-index:2}
.hx-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(26px,3.4vw,44px);box-shadow:0 18px 44px rgba(20,41,29,.1);overflow:hidden}
.hx-ghost{position:absolute;right:-6px;top:-18px;font:700 clamp(6rem,11vw,9.5rem)/1 "Cormorant Garamond",serif;color:transparent;-webkit-text-stroke:1.5px rgba(179,32,42,.22);pointer-events:none}
.hx-badge{display:inline-block;margin:0 0 12px;font:700 .8rem/1 Jost;letter-spacing:.2em;color:#fff;background:var(--red);padding:8px 14px;border-radius:999px}
.hx-card h2{position:relative;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--green)}.hx-card p{position:relative}
.hx-media{min-width:0}.hx-media img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.hx-fig{margin:0}.hx-fig img{aspect-ratio:4/3;box-shadow:0 22px 44px rgba(0,0,0,.2);transform:rotate(1.5deg)}
.hx-item.r .hx-fig img{transform:rotate(-1.5deg)}
.hx-trio{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,1fr);gap:12px;aspect-ratio:1/1}.hx-trio img:first-child{grid-row:span 2}.hx-trio img{box-shadow:0 14px 30px rgba(0,0,0,.18)}
.hx-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hx-duo img{aspect-ratio:3/4;box-shadow:0 14px 30px rgba(0,0,0,.18)}.hx-duo img:last-child{margin-top:34px}
.hx-band{background:#2b4b38;color:#efe9d8;padding:clamp(48px,7vw,96px) 0}.hx-bgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,5vw,70px);align-items:center}
.hx-bgrid figure{margin:0}.hx-bgrid img{width:100%;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.4);border:6px solid #fffdf8}
.hx-band .eyebrow{color:var(--gold2)}.hx-big{font:italic 600 clamp(1.7rem,3.4vw,2.7rem)/1.25 "Cormorant Garamond",serif;color:#fff;margin:0 0 1em}
.hx-band .btn-line{border-color:#f3d7a8;color:#f3d7a8}.hx-band .btn-line:hover{background:#f3d7a8;color:#14291d}
@media(max-width:900px){.hx-hgrid{grid-template-columns:1fr}.hx-dial{width:min(78%,300px);order:-1}.hx-hero{padding-top:36px}.hx-stats ul{grid-template-columns:1fr 1fr}.hx-stats li:nth-child(3){border-left:0}.hx-stats li:nth-child(n+3){border-top:1px solid var(--line)}
 .hx-tl::before{left:14px;margin-left:0}.hx-item{grid-template-columns:1fr;padding-left:44px;gap:22px}.hx-item::before{left:14px;top:34px;margin:-11px 0 0 -9px;width:18px;height:18px;border-width:4px}.hx-item.r .hx-card{order:0}.hx-bgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hx-needle{animation:none}}

/* ---- Menu page upgrade ---- */
.mx-hero{position:relative;background:radial-gradient(900px 420px at 85% 0,#3b7a53 0,transparent 60%),#2b4b38;color:#efe9d8;padding:clamp(40px,6vw,84px) 0 clamp(44px,6vw,80px)}
.mx-hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.mx-hero .eyebrow{color:var(--gold2)}.mx-hero h1{font-size:clamp(3.4rem,10vw,7.5rem);color:#fff;line-height:.92;margin:0 0 .15em}
.mx-sub{font:italic 600 clamp(1.3rem,2.6vw,2rem)/1.25 "Cormorant Garamond",serif;color:var(--gold2);max-width:34ch;margin:0 0 1.4em}
.mx-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.mx-cards a{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(243,215,168,.35);color:#fff;text-decoration:none;transition:.25s}
.mx-cards a:hover,.mx-cards a:focus-visible{background:#f3d7a8;color:#14291d;transform:translateY(-5px);box-shadow:0 18px 34px rgba(0,0,0,.28)}
.mx-cards a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.mx-i svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--gold2)}.mx-cards a:hover .mx-i svg{color:#14291d}
.mx-cards b{font:600 1.3rem/1.1 "Cormorant Garamond",serif}.mx-cards em{font:500 .8rem/1.3 Jost;letter-spacing:.08em;text-transform:uppercase;font-style:normal;opacity:.85}
.mwide .wrap{width:min(1120px,100% - 32px)}
.mwide .ptitle{display:block;text-align:center;border:0;position:relative;padding-bottom:14px;margin:30px auto 8px}.mwide .ptitle::after{content:"";display:block;width:120px;height:4px;margin:12px auto 0;background:linear-gradient(90deg,var(--flag-green) 33%,#ddd 33% 66%,var(--red) 66%);border-radius:2px}
@media(min-width:900px){.mwide .mlist{column-count:2;column-gap:64px}.mwide .mlist li{break-inside:avoid}.mwide .msec .cols{column-count:initial}}
.mwide .msec h3{font-size:2.2rem;text-align:center;border:0;position:relative}.mwide .msec h3::before,.mwide .msec h3::after{content:"";display:inline-block;width:clamp(30px,8vw,90px);height:1px;background:var(--red);vertical-align:middle;margin:0 16px;opacity:.5}
.mwide .mname{font:600 1.08rem/1.3 Jost}.mwide .mprice{font:700 1.15rem "Cormorant Garamond",serif;color:var(--red)}
.mband{position:relative;margin:48px 0 8px;border-radius:20px;overflow:hidden;box-shadow:0 20px 44px rgba(20,41,29,.22)}
.mb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.mb-grid img{width:100%;height:clamp(150px,22vw,260px);object-fit:cover;border-radius:0!important;aspect-ratio:auto}
.mband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,41,29,.72))}
.mb-t{position:absolute;z-index:2;left:0;right:0;bottom:12px;text-align:center;margin:0;color:#fff;font:italic 600 clamp(1.8rem,4.4vw,3.2rem)/1 "Cormorant Garamond",serif;text-shadow:0 3px 14px rgba(0,0,0,.6)}
.menu-chalk{background:#2b4b38;color:#efe9d8}.menu-chalk .eyebrow{color:var(--gold2);text-align:center}.menu-chalk .ptitle{color:#fff}.menu-chalk .msec h3{color:var(--gold2)}.menu-chalk .mname{color:#fff}.menu-chalk .mprice{color:var(--gold2)}.menu-chalk .mlist p{color:#cfd8c8}.menu-chalk .dots{border-color:rgba(243,215,168,.35)}.menu-chalk .msec h3::before,.menu-chalk .msec h3::after{background:var(--gold2)}.menu-chalk .note{color:#cfd8c8}
.pxcard{border-radius:26px;padding:clamp(24px,4vw,52px);box-shadow:0 26px 60px rgba(20,41,29,.25);position:relative;overflow:hidden}
.pxcard.dark{background:#2b4b38;color:#efe9d8;border:2px solid var(--gold)}.pxcard.light{background:#fff;color:var(--ink);border:2px solid #c9a24a}
.px-head{display:flex;align-items:center;gap:clamp(18px,4vw,44px);margin-bottom:26px;text-align:left}
.px-badge{flex:none;width:clamp(110px,15vw,150px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;margin:0;font:700 clamp(2.8rem,6vw,4.4rem)/1 "Cormorant Garamond",serif;background:var(--gold);color:#14291d;box-shadow:0 0 0 6px rgba(243,215,168,.35);position:relative}
.px-badge span{font-size:.45em;position:absolute;left:24%;top:30%}
.pxcard .ptitle{text-align:left;border:0;margin:0;padding:0;display:block;font-size:clamp(2.2rem,5vw,3.6rem)}.pxcard.dark .ptitle{color:#fff}.pxcard.light .ptitle{color:var(--green)}
.pxcard .psub{font:italic 600 1.5rem "Cormorant Garamond",serif;margin:.1em 0 .2em;color:var(--gold2)}.pxcard.light .psub{color:var(--red)}
.pxcard .note{margin:0;font-size:.88rem;opacity:.85;text-align:left}
.px-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);border-top:1px solid rgba(201,162,74,.5);padding-top:24px}
.pxcard .px-c h3{margin:0 0 .5em;font-size:1.5rem;text-align:left;border:0;padding:0;color:var(--gold2)}.pxcard.light .px-c h3{color:var(--red)}
.pxcard .plist{text-align:left}.pxcard .plist li{padding:9px 0;border-bottom:1px dotted rgba(201,162,74,.5)}.pxcard.dark .plist span{color:#cfd8c8}.pxcard .plist b{font-size:1.02rem}
.mx-notes{background:#f1e7d0}.mx-notes ul{list-style:none;margin:0;padding:22px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;font-size:.95rem;color:#14291d}.mx-notes b{color:var(--red)}
@media(max-width:960px){.mx-cards{grid-template-columns:repeat(2,1fr)}.mx-cards li:last-child{grid-column:1/-1}.px-cols{grid-template-columns:1fr}.px-head{flex-direction:column;text-align:center}.pxcard .ptitle,.pxcard .note{text-align:center}}
@media(max-width:600px){.mb-grid img:nth-child(3){display:none}.mb-grid{grid-template-columns:1fr 1fr}.mwide .msec h3::before,.mwide .msec h3::after{display:none}}

.hx-hero{background:radial-gradient(900px 480px at 85% 10%,#6aa883 0,transparent 60%),#4a8566}
.hx-hero h1{font-size:clamp(3rem,9vw,6.75rem)}.hx-hero .eyebrow{color:#fff}.hx-sub{color:#fff8e6}
.hx-hero .btn-ghost:hover{background:#fff;color:#14291d;border-color:#fff}

/* ---- Bar & Lounge ---- */
.bx-hero{position:relative;overflow:hidden;background:radial-gradient(900px 520px at 80% 20%,#78b592 0,transparent 62%),#4a8566;color:#fff;padding:clamp(40px,6vw,92px) 0 clamp(56px,8vw,110px)}
.bx-bub{position:absolute;inset:0;pointer-events:none}.bx-bub i{position:absolute;bottom:-30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),rgba(255,255,255,.12));border:1px solid rgba(255,255,255,.45);animation:bxrise linear infinite}
@keyframes bxrise{to{transform:translateY(-110vh) translateX(24px)}}
.bx-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,60px);align-items:center}
.bx-hero .eyebrow{color:#fff;letter-spacing:.14em;line-height:1.5;max-width:46ch}.bx-hero h1{font-size:clamp(2.8rem,7vw,5.6rem);color:#fff;margin:0 0 .25em;line-height:.98}.bx-hero h1 em{color:#ffe3a6}
.bx-sub{font:italic 600 clamp(1.3rem,2.4vw,1.8rem)/1.3 "Cormorant Garamond",serif;color:#fff8e6;max-width:34ch}
.bx-hero .btn-ghost{color:#fff}.bx-hero .btn-ghost:hover{background:#fff;color:#14291d}
.bx-facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}.bx-facts li{display:flex;flex-direction:column}.bx-facts b{font:700 2.6rem/1 "Cormorant Garamond",serif;color:#ffe3a6;font-variant-numeric:lining-nums}.bx-facts span{font:500 .78rem/1.3 Jost;letter-spacing:.12em;text-transform:uppercase;max-width:14ch}
.bx-art{position:relative;justify-self:center;width:min(100%,340px)}.bx-glass{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 30px rgba(0,0,0,.3));animation:bxfloat 5s ease-in-out infinite}
@keyframes bxfloat{50%{transform:translateY(-10px) rotate(-1.5deg)}}
.bx-badge{position:absolute;left:-16%;bottom:2%;width:42%;min-width:120px}.bx-ring{display:block;width:100%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.3))}
.bx-rg{transform-origin:100px 100px;animation:bxspin 22s linear infinite}@keyframes bxspin{to{transform:rotate(360deg)}}
.bx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:38px auto 26px}
.bx-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(20,41,29,.1);transition:.25s}.bx-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(20,41,29,.18)}
.bx-ph{display:block;overflow:hidden}.bx-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.bx-card:hover .bx-ph img{transform:scale(1.07)}
.bx-card>div{padding:22px 24px 26px}.bx-card .cardh{font-size:2rem;margin:0 0 .3em;color:var(--green)}.bx-card p{margin:0 0 10px;color:var(--mute)}.bx-more{font:600 .8rem Jost;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.bx-collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bx-collage img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;box-shadow:0 16px 34px rgba(0,0,0,.18)}.bx-collage img:nth-child(even){margin-top:34px}.bx-collage img:nth-child(odd):not(:first-child){margin-top:-34px}
.bx-menu .bx-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0 24px}.bx-menu .ftag{background:#fff}.bx-menu .ftag[aria-pressed=true]{background:#14291d;color:#fff;border-color:#14291d}
@media(min-width:800px){.bx-menu .mlist{column-count:2;column-gap:50px}.bx-menu .mlist li{break-inside:avoid}.bx-menu .msec .cols .mlist{column-count:1}.bx-menu .wrap{width:min(1040px,100% - 32px)}}
.bx-menu .msec{background:#fff;border:1px solid #cfe3c8;border-radius:18px;padding:8px 26px 20px;margin:0 0 20px;box-shadow:0 10px 24px rgba(30,80,50,.07)}
.bx-menu .plain li{padding:6px 0;border-bottom:1px dotted #cfe3c8}
.bx-hh{background:linear-gradient(100deg,#fbe7c0,#fff3d4);border-block:1px solid #ecd49a}.bx-hh .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center;padding:clamp(34px,5vw,56px) 0}.bx-hh h2{margin:0 0 .2em}.bx-hh p{margin:0;color:#4a3d1f}.bx-hh .eyebrow{margin-bottom:8px}
@media(max-width:900px){.bx-grid{grid-template-columns:1fr}.bx-art{width:min(70%,280px);order:-1}.bx-cards{grid-template-columns:1fr}.bx-badge{left:-8%}}
@media(prefers-reduced-motion:reduce){.bx-bub i,.bx-glass,.bx-rg{animation:none}}
.gt-m{max-height:min(70vh,520px);overflow-y:auto}

/* Holiday occasion cards with photos */
.occ a{padding:0;overflow:hidden;text-align:center}
.occ .oph{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--cream)}
.occ .oph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.occ a:hover .oph img,.occ a:focus-visible .oph img{transform:scale(1.06)}
.occ .oic{position:absolute;left:50%;bottom:-1px;transform:translate(-50%,50%);width:58px;height:58px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.18);display:grid;place-items:center;z-index:1}
.occ .oic svg{width:30px;height:30px;margin:0}
.occ .otx{display:block;padding:40px 16px 22px}
.occ .oph{overflow:visible}.occ .oph img{border-radius:0}
.occ .oph::after{content:"";position:absolute;inset:0;overflow:hidden;pointer-events:none}
@media(max-width:600px){.occ .oph{aspect-ratio:4/3}.occ .oic{width:46px;height:46px}.occ .oic svg{width:24px;height:24px}.occ .otx{padding:32px 8px 16px}}
.occ a:nth-child(n+4) .oph{aspect-ratio:2.2/1}
@media(max-width:960px){.occ a:last-child .oph{aspect-ratio:2.4/1}}
@media(max-width:600px){.occ a:nth-child(n+4) .oph{aspect-ratio:4/3}.occ a:last-child .oph{aspect-ratio:2/1}}

.hx-hero h1{font-size:clamp(2.1rem,6.3vw,4.7rem)}
.site-header .lights{background:#1c3a2a}.site-header .lights::before{background:#0a160f;opacity:.6}
.site-header .lights{background:#1c3a2a!important}

/* Bar hero: shorter, real photo */
.bx-hero{padding:clamp(22px,3vw,40px) 0 clamp(30px,4vw,54px)}
.bx-hero h1{font-size:clamp(2rem,4.9vw,3.92rem);margin:0 0 .2em}
.bx-hero .bx-sub{font-size:clamp(1.1rem,1.8vw,1.4rem)}
.bx-facts{margin-top:16px}.bx-facts b{font-size:2.1rem}
.bx-art{width:min(100%,230px)}
.bx-photo{margin:0;aspect-ratio:3/4;border-radius:999px 999px 18px 18px;overflow:hidden;border:4px solid #f3d7a8;box-shadow:0 22px 34px rgba(0,0,0,.32);background:#2b4b38}
.bx-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bx-badge{left:-26%;bottom:4%;width:46%;min-width:96px}
@media(max-width:760px){.bx-art{width:min(62%,190px)}.bx-badge{left:-30%;width:50%;min-width:84px}.bx-hero .eyebrow{font-size:.7rem}.bx-facts{gap:8px 20px}.bx-facts b{font-size:1.8rem}}
.bx-facts span{max-width:none;white-space:nowrap}.bx-facts{gap:8px 26px}.bx-hero .bx-sub{max-width:46ch}
.bx-hero .eyebrow{max-width:none}
@media(max-width:760px){.bx-grid{gap:14px}.bx-art{width:min(46%,150px)}.bx-badge{left:-36%;width:56%;min-width:70px}.bx-hero .bx-sub{font-size:1.05rem}.bx-facts{margin-top:10px}.bx-facts span{font-size:.62rem;white-space:normal;max-width:11ch}.bx-hero{padding:18px 0 28px}.bx-hero p{margin-block:.5em}}

/* white hero titles 30% smaller */
.mx-hero h1{font-size:clamp(2.4rem,7vw,5.25rem)}
.xmas h1{font-size:clamp(1.6rem,3.64vw,3.08rem)}
.mx-hero{padding:clamp(32px,4.5vw,60px) 0 clamp(34px,4.5vw,56px)}
/* Santa removed: normal hero spacing */
@media(min-width:961px){.xmas .polas{margin-top:0}.xmas{padding-top:clamp(40px,6vw,90px)}}
@media(max-width:960px){.xmas{padding-top:clamp(36px,8vw,60px)}}
/* 404 + thank-you */
.nf,.ty{background:var(--cream);padding:clamp(36px,6vw,80px) 0 clamp(48px,7vw,96px);text-align:center}
.nf .eyebrow,.ty .eyebrow{color:var(--red)}
.e4{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.5vw,16px);font:700 clamp(6rem,24vw,13rem)/1 "Cormorant Garamond",serif;color:var(--red);margin:6px 0 0}
.e4 .plate{width:.82em;height:.82em;flex:none;filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));animation:nfspin 14s linear infinite}
@keyframes nfspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.e4 .plate{animation:none}}
.nf h1{font-size:clamp(1.9rem,5vw,3.4rem);color:var(--green);margin:.2em auto .3em;max-width:20ch;text-wrap:balance}
.nf-sub{max-width:46ch;margin:0 auto 1.2em;font-size:1.1rem;color:var(--mute)}
.nf-ex{max-width:520px;margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:var(--r);padding:16px 20px;text-align:left;box-shadow:0 10px 24px rgba(20,41,29,.08)}
.nf-ex p{margin:0 0 4px;font:600 1.25rem/1.3 "Cormorant Garamond",serif;color:var(--green)}.nf-ex footer{color:var(--mute);font-size:.95rem}
.nf h2{font:600 .8rem/1 Jost,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin:38px 0 16px}
.nf-cards{list-style:none;margin:0 auto;padding:0;max-width:980px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nf-cards a{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:.2s}
.nf-cards a:hover,.nf-cards a:focus-visible{transform:translateY(-4px);border-color:var(--red);box-shadow:0 14px 28px rgba(20,41,29,.14)}
.nf-cards b{font:600 1.35rem/1.1 "Cormorant Garamond",serif;color:var(--green)}.nf-cards span{font-size:.92rem;color:var(--mute)}
.nf-call{margin-top:30px}.nf-call .btn{margin:4px}
@media(max-width:700px){.nf-cards{grid-template-columns:1fr 1fr}}@media(max-width:420px){.nf-cards{grid-template-columns:1fr}}
.ty-check{width:96px;height:96px;margin:0 auto 10px;border-radius:50%;background:#fff;box-shadow:0 12px 26px rgba(20,41,29,.14);display:grid;place-items:center}
.ty-check svg{width:64px;height:64px}.ty-check circle{stroke-dasharray:152;stroke-dashoffset:152;animation:tyd .8s .1s forwards}.ty-check path{stroke-dasharray:50;stroke-dashoffset:50;animation:tyd .5s .7s forwards}
@keyframes tyd{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.ty-check circle,.ty-check path{animation:none;stroke-dashoffset:0}}
.ty h1{font-size:clamp(2rem,5.4vw,3.6rem);color:var(--green);margin:.15em auto .3em;max-width:18ch;text-wrap:balance}
.ty-sub{max-width:46ch;margin:0 auto 1.4em;font-size:1.1rem;color:var(--mute)}
.ty-steps{list-style:none;margin:0 auto 22px;padding:0;max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ty-steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px}
.ty-steps b{width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font:600 1.1rem Jost,sans-serif}
.ty-urgent{font-size:1.1rem}.ty-urgent a{font-weight:600;color:var(--red)}.ty-btns .btn{margin:4px}
@media(max-width:600px){.ty-steps{grid-template-columns:1fr}}

/* ===== /menu/#bar-menu : lounge-style Drinks card (CSS only) ===== */
.menu-drinks:where(#bar-menu){background:linear-gradient(#fffdf8,#f7f0e3);border-top:0;padding-block:clamp(36px,6vw,84px)}
.menu-drinks:where(#bar-menu) .wrap.narrow{position:relative;width:min(1040px,100% - 32px);max-width:1040px;margin-inline:auto;background:radial-gradient(120% 70% at 50% 0,#21412f 0,#14291d 58%,#0f2017 100%);border:1px solid #c9a24a;border-radius:20px;padding:clamp(34px,5vw,64px) clamp(18px,5vw,64px);box-shadow:0 0 0 6px #14291d,0 0 0 7px rgba(201,162,74,.6),0 30px 60px rgba(20,41,29,.28)}
.menu-drinks:where(#bar-menu) .wrap.narrow::before{content:"";position:absolute;inset:10px;border:1px solid rgba(201,162,74,.4);border-radius:14px;pointer-events:none}
.menu-drinks:where(#bar-menu) .eyebrow{color:#e3c27a;text-align:center;display:flex;align-items:center;justify-content:center;gap:14px;letter-spacing:.28em}
.menu-drinks:where(#bar-menu) .eyebrow::before,.menu-drinks:where(#bar-menu) .eyebrow::after{content:"";height:1px;width:clamp(24px,7vw,64px);background:#c9a24a;opacity:.7}
.menu-drinks:where(#bar-menu) .ptitle,.menu-drinks:where(#bar-menu) h2.ptitle{color:#fbf3e2;border-bottom:2px solid #c9a24a;font-size:clamp(2.6rem,6vw,4rem);margin-top:14px}
.menu-drinks:where(#bar-menu) .msec{margin:40px 0 0}
.menu-drinks:where(#bar-menu) .msec+.msec{border-top:1px solid rgba(201,162,74,.28);padding-top:34px}
.menu-drinks:where(#bar-menu) .msec h3{color:#e3c27a;border:0;text-align:center;font-size:clamp(1.7rem,3.4vw,2.2rem);margin-bottom:18px}
.menu-drinks:where(#bar-menu) .msec h3::before,.menu-drinks:where(#bar-menu) .msec h3::after{content:"";display:inline-block;width:clamp(22px,6vw,70px);height:1px;background:#c9a24a;vertical-align:middle;margin:0 14px;opacity:.6}
.menu-drinks:where(#bar-menu) .msec h4{color:#e3c27a;text-align:center;margin:6px 0 14px}
.menu-drinks:where(#bar-menu) .mname{color:#fbf3e2;font:600 1.08rem/1.3 Jost,system-ui,sans-serif}
.menu-drinks:where(#bar-menu) .mname em{color:#cfc7b0}
.menu-drinks:where(#bar-menu) .mprice{color:#e3c27a;font:700 1.2rem "Cormorant Garamond",serif}
.menu-drinks:where(#bar-menu) .mlist p,.menu-drinks:where(#bar-menu) li{color:#d8d1bb}
.menu-drinks:where(#bar-menu) .mlist li{margin:0 0 18px}
.menu-drinks:where(#bar-menu) .dots{border-color:rgba(227,194,122,.4)}
.menu-drinks:where(#bar-menu) .note{color:#cfc7b0;text-align:center}
.menu-drinks:where(#bar-menu) .plain li{padding:7px 0;border-bottom:1px dotted rgba(227,194,122,.3);color:#e8e1cc}
.menu-drinks:where(#bar-menu) .cols{gap:6px 56px}
.menu-drinks:where(#bar-menu) .btn-ghost{color:#14291d;background:#e3c27a;border-color:#e3c27a;font-weight:600}
.menu-drinks:where(#bar-menu) .btn-ghost:hover{background:#fbf3e2;border-color:#fbf3e2;color:#14291d}
.menu-drinks:where(#bar-menu) p.center{margin-top:40px}
@media(min-width:760px){.menu-drinks:where(#bar-menu) .msec>.mlist{column-count:2;column-gap:56px}.menu-drinks:where(#bar-menu) .msec>.mlist li{break-inside:avoid}.menu-drinks:where(#bar-menu) .msec .cols .mlist{column-count:1}}
@media(max-width:600px){.menu-drinks:where(#bar-menu) .msec h3::before,.menu-drinks:where(#bar-menu) .msec h3::after{display:none}.menu-drinks:where(#bar-menu) .wrap.narrow{border-radius:16px}.menu-drinks:where(#bar-menu) .wrap.narrow::before{inset:7px;border-radius:11px}}
.menu-drinks:where(#bar-menu) .msec.cols h3::before,.menu-drinks:where(#bar-menu) .msec.cols h3::after{display:none}
.menu-drinks:where(#bar-menu) .msec.cols h3{border-bottom:1px solid rgba(201,162,74,.45);padding-bottom:10px;margin-bottom:8px}
@media(max-width:600px){.menu-drinks:where(#bar-menu) .eyebrow{letter-spacing:.16em;font-size:.72rem}.menu-drinks:where(#bar-menu) .eyebrow::before,.menu-drinks:where(#bar-menu) .eyebrow::after{display:none}.menu-drinks:where(#bar-menu) .msec.cols>div+div{margin-top:28px}}

/* Menu tabs: only inactive panels are hidden; without JS the complete menu stays visible. */
.menu-panels{overflow-anchor:none}
[data-menu-panel][hidden]{display:none}
[data-menu-tabs] [role="tab"]{min-height:44px;display:inline-flex;align-items:center}
[data-menu-panel]:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.menu-picker{display:none}
/* Mobile menu categories: all five visible without horizontal scrolling. */
@media(max-width:767px){
 .subnav[data-menu-tabs] .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0;overflow:visible}
 .subnav[data-menu-tabs] a{min-width:0;min-height:48px;white-space:normal;justify-content:center;text-align:center;line-height:1.35;font-size:.74rem;letter-spacing:.06em;padding:9px 10px;border-radius:12px}
 .subnav[data-menu-tabs] a:last-child{grid-column:1/-1}
 .subnav[data-menu-tabs].menu-selected{padding:10px 0;overflow-anchor:none}
 .subnav[data-menu-tabs] .menu-picker{display:flex;align-items:center;gap:12px;width:min(1180px,100% - 32px);min-height:48px;margin:0 auto;padding:10px 14px;border:2px solid var(--green);border-radius:12px;background:#fff;color:var(--green);box-shadow:0 2px 0 rgba(20,41,29,.25);font:600 .8rem/1.3 Jost,system-ui,sans-serif;text-align:left;cursor:pointer}
 .menu-picker-title{letter-spacing:.1em;text-transform:uppercase;flex:none}
 .menu-picker-current{flex:1;min-width:0;border-left:1px solid var(--line);padding-left:12px;font-weight:500}
 .menu-picker-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:none;margin:0 2px 4px}
 .menu-picker[aria-expanded="true"] .menu-picker-caret{transform:rotate(225deg);margin:4px 2px 0}
 .menu-picker:hover{background:var(--cream)}
 .subnav[data-menu-tabs].menu-selected .wrap{position:absolute;top:100%;left:0;right:0;padding:10px;border:1px solid var(--line);border-radius:0 0 14px 14px;background:#f8f2e4;box-shadow:0 14px 24px rgba(20,41,29,.18);max-height:calc(100dvh - var(--hh,83px) - 140px);overflow-y:auto;overscroll-behavior:contain}
}
/* Shared menu frame: Wine List and Daily Additions; all menu content stays unchanged. */
.menu-drinks:where(#drinks) .wrap.narrow,[data-menu-panel="daily-additions"] .wrap{position:relative;width:min(1040px,100% - 32px);max-width:1040px;border:1px solid #c9a24a;border-radius:20px;padding:clamp(28px,4vw,52px) clamp(20px,5vw,60px);background:#fffdf8;box-shadow:0 12px 32px rgba(20,41,29,.08)}
.menu-drinks:where(#drinks) .wrap.narrow::before,[data-menu-panel="daily-additions"] .wrap::before{content:"";position:absolute;inset:9px;border:1px solid var(--line);border-radius:13px;pointer-events:none}
[data-menu-panel="daily-additions"] .wrap{background:inherit}
.menu-drinks:where(#drinks) .msec:first-child{margin-top:0}
@media(max-width:600px){.menu-drinks:where(#drinks) .wrap.narrow,[data-menu-panel="daily-additions"] .wrap{border-radius:16px}.menu-drinks:where(#drinks) .wrap.narrow::before,[data-menu-panel="daily-additions"] .wrap::before{inset:7px;border-radius:10px}}
@media print{[data-menu-panel][hidden]{display:block!important}.menu-panels{overflow-anchor:auto}}
