:root{--ink:#171412;--wine:#6f1f2b;--cream:#f4efe6;--paper:#fffdf8;--gold:#b9975b;--muted:#6d655d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;background:rgba(20,17,15,.97);color:#fff}.brand{font-family:Georgia,serif;font-weight:700;letter-spacing:.12em;color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-logo{width:58px;height:48px;object-fit:contain;flex:0 0 auto}.brand-name{font-size:1rem;color:#fff}.brand-name small{font-size:.72em;color:#d7c3a0}nav{display:flex;gap:24px;align-items:center}nav a{color:#fff;text-decoration:none;font-size:.92rem}.call,.primary{background:var(--wine);color:#fff!important;padding:12px 18px;text-decoration:none;display:inline-block}.navbtn{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{min-height:74vh;display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(10,8,7,.46),rgba(10,8,7,.58)),url('assets/hero.jpg') center/cover;color:#fff;padding:80px 20px}.hero h1{font:700 clamp(2.8rem,7vw,5.8rem)/.95 Georgia,serif;margin:14px 0}.eyebrow{letter-spacing:.18em;font-size:.76rem;font-weight:700;color:var(--gold)}.sub{font-size:1.15rem;letter-spacing:.08em}.legacy{font-family:Georgia,serif;font-style:italic;font-size:1.15rem}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:25px}.secondary{border:1px solid #fff;color:#fff;padding:11px 18px;text-decoration:none}.story,.visit{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:80px 8%;max-width:1200px;margin:auto}.story h2,.menu h2,.gallery h2,.visit h2{font:700 clamp(2.2rem,5vw,4rem)/1 Georgia,serif;margin:10px 0 24px}.menu{padding:80px 5%;background:var(--cream)}.menu-head{text-align:center;max-width:720px;margin:0 auto 34px}.menu-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;position:sticky;top:73px;z-index:10;background:var(--cream);padding:12px 0 18px}.menu-nav a{border:1px solid #cbbda8;padding:8px 12px;color:var(--ink);text-decoration:none;font-size:.84rem;background:#fff}.menu-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.menu-section{background:#fff;padding:26px;border-top:3px solid var(--wine);box-shadow:0 8px 25px rgba(0,0,0,.05)}.menu-section h3{font:700 1.8rem Georgia,serif;margin:0 0 6px}.note{font-size:.82rem;color:var(--muted);margin:0 0 16px}.item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:9px 0;border-bottom:1px dotted #d5cabb}.item:last-child{border:0}.item b{font-weight:600}.price{font-variant-numeric:tabular-nums;font-weight:700}.pdf{text-align:center;margin-top:35px}.gallery{min-height:520px;display:grid;grid-template-columns:1.3fr 1fr;background:#171412;color:#fff}.photo{background:url('assets/interior.jpg') center/cover;min-height:420px}.gallery-copy{padding:70px 8%;align-self:center}.visit .hours div{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:9px 0}.phone{font:700 1.8rem Georgia,serif;color:var(--wine);text-decoration:none}.address{font-size:1.1rem}.exterior{min-height:400px;background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.45)),url('assets/exterior.jpg') center/cover;display:grid;place-items:center;text-align:center;color:#fff}.exterior h2{font:700 3rem Georgia,serif}footer{text-align:center;padding:35px;background:#0f0d0c;color:#ddd}footer .brand{font-size:1.2rem;justify-content:center}.footer-logo{display:block;width:min(340px,72vw);height:auto;max-height:220px;object-fit:contain;margin:0 auto 22px}@media(max-width:760px){header{padding:15px 18px}.navbtn{display:block}#main-nav{display:none;position:absolute;top:61px;left:0;right:0;background:#171412;padding:20px;flex-direction:column;align-items:stretch}#main-nav.open{display:flex}.hero{min-height:68vh}.story,.visit,.gallery{grid-template-columns:1fr}.story,.visit{padding:55px 22px}.menu{padding:55px 14px}.menu-grid{grid-template-columns:1fr}.menu-nav{top:61px;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}.menu-nav a{white-space:nowrap}.gallery-copy{padding:45px 24px}.photo{min-height:330px}}
/* Integrated bar photography — one supporting image blended into the existing gallery */
.gallery{grid-template-columns:1.3fr 1fr;grid-template-areas:"main copy" "main detail";align-items:stretch}
.gallery>.photo{grid-area:main}
.gallery>.gallery-copy{grid-area:copy}
.bar-detail{grid-area:detail;height:240px;overflow:hidden;background:#171412}
.bar-detail img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:brightness(.72) contrast(1.05) saturate(.82)}
@media(max-width:760px){.gallery{grid-template-columns:1fr;grid-template-areas:"main" "copy" "detail"}.bar-detail{height:210px}}

/* Groups, private dining & large orders */
.groups{padding:80px 5%;background:var(--paper)}
.groups-head{text-align:center;max-width:760px;margin:0 auto 38px}
.groups-head h2{font:700 clamp(2.2rem,5vw,4rem)/1 Georgia,serif;margin:10px 0 18px}
.groups-head>p:last-child{color:var(--muted);max-width:650px;margin:0 auto}
.group-cards{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.group-card{padding:30px 28px;background:var(--cream);border-top:3px solid var(--wine)}
.group-card h3{font:700 1.65rem Georgia,serif;margin:0 0 8px}
.group-card strong{display:block;color:var(--wine);margin-bottom:18px}
.group-card ul{margin:0;padding-left:19px;color:var(--muted)}
.group-card li{padding:4px 0}
.groups-call{text-align:center;margin-top:34px}
.groups-call p{font-family:Georgia,serif;font-size:1.15rem;margin-bottom:18px}
@media(max-width:760px){.groups{padding:55px 18px}.group-cards{grid-template-columns:1fr}.group-card{padding:25px 22px}}

/* Online ordering */
.delivery{padding:70px 5%;background:var(--cream);text-align:center}
.delivery-head{max-width:700px;margin:0 auto 28px}
.delivery-head h2{font:700 clamp(2.2rem,5vw,3.6rem)/1 Georgia,serif;margin:10px 0 16px}
.delivery-head>p:last-child{color:var(--muted);margin:0}
.delivery-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.delivery-btn{min-width:165px;padding:13px 20px;border:1px solid #b9aa96;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;transition:.18s ease}
.delivery-btn:hover{background:var(--wine);border-color:var(--wine);color:#fff}
@media(max-width:760px){.delivery{padding:55px 18px}.delivery-links{flex-direction:column;max-width:320px;margin:auto}.delivery-btn{width:100%}}

/* Gift cards */
.gift-card{padding:62px 5%;text-align:center;background:var(--cream)}
.gift-card h2{font:700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif;margin:10px 0 14px}
.gift-card p:last-child{color:var(--muted);margin:0}

/* Expanded footer */
.site-footer{text-align:left;padding:54px 6% 24px;background:#0f0d0c;color:#ddd}
.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}
.site-footer h3{font:700 1.15rem Georgia,serif;color:#fff;margin:0 0 12px}
.site-footer a{color:#eee;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.footer-brand .footer-logo{width:min(260px,100%);margin:0 0 16px}
.footer-bottom{max-width:1180px;margin:35px auto 0;padding-top:20px;border-top:1px solid #332e2a;color:#999;font-size:.85rem}
@media(max-width:760px){
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.site-footer{padding-bottom:90px}
}
@media(max-width:460px){.footer-grid{grid-template-columns:1fr}}
/* Timed Thanksgiving announcement */
.announcement-banner{background:#7d2f18;color:#fff;text-align:center;position:relative;z-index:1000}
.announcement-banner a{max-width:1180px;margin:auto;padding:11px 20px;display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;text-decoration:none;letter-spacing:.02em}
.announcement-banner strong{font-family:Georgia,serif;font-size:18px}.announcement-banner span{opacity:.9}.announcement-banner b{font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.thanksgiving-special{max-width:1180px;margin:0 auto;padding:70px 28px;display:grid;grid-template-columns:1fr minmax(260px,420px);gap:60px;align-items:center}
.thanksgiving-special[hidden],.announcement-banner[hidden]{display:none!important}.thanksgiving-special h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,62px);margin:8px 0 18px}.special-copy>p:not(.eyebrow){font-size:18px;line-height:1.6}.poster-preview{display:block}.poster-preview img{width:100%;height:auto;display:block;box-shadow:0 18px 55px rgba(0,0,0,.28)}
@media(max-width:720px){.announcement-banner a{padding:10px 12px;gap:5px;flex-direction:column}.announcement-banner strong{font-size:16px}.announcement-banner span{font-size:13px}.announcement-banner b{font-size:11px}.thanksgiving-special{grid-template-columns:1fr;padding:45px 20px;gap:30px}.poster-preview{max-width:420px;margin:auto}}

/* Compact holiday announcements — automatically hidden after Jan. 10, 2027 */
.seasonal-events{max-width:1180px;margin:0 auto;padding:34px 5% 28px;text-align:center;background:var(--paper)}
.seasonal-events[hidden]{display:none!important}.seasonal-events>.eyebrow{margin:0 0 12px}
.seasonal-list{max-width:900px;margin:auto;border-top:1px solid #d8cdbd}
.seasonal-list details{border-bottom:1px solid #d8cdbd;text-align:left}
.seasonal-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 4px}
.seasonal-list summary::-webkit-details-marker{display:none}.seasonal-list summary span{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.seasonal-list summary strong{font:700 1.08rem Georgia,serif}.seasonal-list summary small{color:var(--muted);font-size:.84rem}
.seasonal-list summary b{font-size:1.25rem;color:var(--wine);transition:transform .18s ease}.seasonal-list details[open] summary b{transform:rotate(45deg)}
.seasonal-detail{padding:0 38px 17px 4px;color:var(--muted);font-size:.92rem}.seasonal-detail p{margin:0 0 10px}.seasonal-detail a{color:var(--wine);font-weight:700;text-decoration:none}
@media(max-width:600px){.seasonal-events{padding:28px 18px 22px}.seasonal-list summary span{display:block}.seasonal-list summary small{display:block;margin-top:3px}.seasonal-detail{padding-right:24px}}

/* Mobile layout hardening */
img{max-width:100%;height:auto}
@media(max-width:760px){
 body{width:100%;max-width:100%;overflow-x:hidden}
 header{position:relative;width:100%}
 .brand-name{font-size:.82rem}
 .brand-logo{width:46px;height:40px}
 .announcement-banner a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:9px 14px}
 .announcement-banner strong{font-size:15px;line-height:1.2}
 .announcement-banner span{font-size:11px;line-height:1.25}
 .announcement-banner b{grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap;font-size:10px}
 .seasonal-events{width:100%;padding:24px 18px}
 .seasonal-list{width:100%}
 .seasonal-list summary{padding:14px 0}
 .seasonal-list summary span{min-width:0}
 .seasonal-list summary strong{font-size:1rem}
 .seasonal-list summary small{font-size:.78rem}
}

/* v3 phone-first corrections */
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:760px){
  header{position:sticky;top:0;z-index:50;min-height:64px;padding:10px 14px;gap:10px}
  .brand{min-width:0;gap:8px}.brand-logo{width:44px;height:38px}.brand-name{font-size:.78rem;line-height:1.1;white-space:nowrap}
  .navbtn{display:block;flex:0 0 auto;font-size:28px;padding:4px 8px}
  header>nav{position:absolute;display:none;top:100%;left:0;right:0;width:100%;padding:12px 16px 18px;background:#171412;flex-direction:column;gap:0;align-items:stretch;box-shadow:0 8px 20px rgba(0,0,0,.28)}
  header>nav.open{display:flex} header>nav a{display:block;padding:12px 4px;border-bottom:1px solid #332e2a;font-size:.95rem} header>nav .call{margin-top:10px;text-align:center;border:0}
  .announcement-banner{width:100%}.announcement-banner a{width:100%;display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:2px 8px;padding:8px 12px}.announcement-banner strong{width:100%;font-size:14px}.announcement-banner span{font-size:11px}.announcement-banner b{font-size:10px}
  main,#top,section{max-width:100%}
  .seasonal-events{padding:18px 16px}.seasonal-events>.eyebrow{font-size:.65rem}.seasonal-list summary{gap:10px}.seasonal-list summary strong{font-size:.95rem}.seasonal-list summary small{font-size:.74rem}
  .hero{min-height:560px;padding:64px 18px;background-position:center}.hero h1{font-size:clamp(2.45rem,13vw,3.7rem)}.sub{font-size:.95rem}.legacy{font-size:1rem}.actions{flex-direction:column;align-items:stretch;max-width:330px;margin:22px auto 0}.actions a{text-align:center}
  .delivery,.groups,.gift-card{padding-left:18px;padding-right:18px}.story,.visit{padding-left:20px;padding-right:20px;gap:25px}
  .menu{padding-left:12px;padding-right:12px}.menu-nav{top:64px;max-width:100vw}.menu-section{padding:20px 18px}.item{min-width:0}.item b{overflow-wrap:anywhere}
  .gallery{display:block}.gallery>.photo{min-height:300px}.gallery-copy{padding:38px 20px}.bar-detail{height:190px}
  .group-cards{display:block}.group-card{margin-bottom:14px}
  .visit .hours div{gap:12px}.visit .hours span{text-align:right}
  .footer-grid{grid-template-columns:1fr}.site-footer{padding:42px 20px 84px}.footer-brand .footer-logo{max-width:220px}
}
/* Compact Special Events master dropdown */
.special-events-dropdown{max-width:900px;margin:0 auto;border:1px solid #d8cdbd;background:#fff}
.special-events-heading{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;text-align:left}
.special-events-heading::-webkit-details-marker{display:none}
.special-events-heading span{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.special-events-heading strong{font:700 1.15rem Georgia,serif;text-transform:uppercase;letter-spacing:.05em}
.special-events-heading small{color:var(--muted);font-size:.82rem}
.special-events-heading b{font-size:1.35rem;color:var(--wine);transition:transform .18s ease}
.special-events-dropdown[open]>.special-events-heading b{transform:rotate(45deg)}
.special-events-dropdown>.seasonal-list{border-top:1px solid #d8cdbd;padding:0 18px}
@media(max-width:600px){.special-events-heading{padding:14px}.special-events-heading span{display:block}.special-events-heading small{display:block;margin-top:4px;font-size:.72rem}.special-events-heading strong{font-size:1rem}.special-events-dropdown>.seasonal-list{padding:0 14px}}

/* Mobile navigation: scoped only to the header menu to prevent black overlay boxes */
@media (max-width:760px){
  #main-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;height:auto!important;max-height:calc(100vh - 64px)!important;overflow-y:auto!important;margin:0!important;padding:12px 16px 18px!important;background:#171412!important;z-index:60!important;}
  #main-nav.open{display:flex!important;}
  #main-nav:not(.open){visibility:hidden!important;pointer-events:none!important;}
  #main-nav.open{visibility:visible!important;pointer-events:auto!important;}
}
@media (min-width:761px){#main-nav{visibility:visible!important;pointer-events:auto!important;}}
