/* Complete navigation and ONE / Place to be identity. */
.site-nav { grid-template-columns:86px minmax(0,1fr) auto; gap:28px; }
.wordmark { width:86px; }
.nav-left { justify-content:center; gap:20px; min-width:0; }
.nav-left a { font-size:10px; letter-spacing:.07em; white-space:nowrap; padding:16px 0; }
.nav-left a[aria-current="page"] { color:var(--accent); }
.nav-right { gap:18px; }
.nav-right select { max-width:none; width:78px; min-height:44px; font-size:12px; cursor:pointer; }
.menu-toggle { min-width:30px; min-height:44px; justify-content:center; }
.hero .hero-brand { display:flex; flex-direction:column; align-items:flex-start; gap:24px; margin:36px 0 28px; width:min(520px,49vw); }
.hero-brand img { width:100%; height:auto; }
.hero .hero-brand span { font-family:var(--heading); font-size:clamp(35px,4.6vw,66px); line-height:1; letter-spacing:.13em; font-weight:500; color:var(--paper); white-space:nowrap; }

/* Private and corporate events. */
.corporate-cover { width:100%; height:400px; object-fit:cover; object-position:center 55%; }
.corporate-intro { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.corporate-intro .eyebrow { margin-bottom:22px; }
.corporate-intro h2 { font-size:clamp(48px,5.2vw,72px); }
.space-image { position:relative; }
.space-number { position:absolute; left:16px; top:16px; background:var(--paper); color:var(--bg); padding:8px 10px; font-size:10px; }
.corporate-spaces .space img { height:310px; }
.catering-feature { display:grid; grid-template-columns:1fr 1fr; background:var(--panel); }
.catering-feature>img { width:100%; height:100%; min-height:480px; object-fit:cover; object-position:30% center; }
.catering-feature>div { padding:50px; }
.catering-feature h2 { font-family:var(--heading); font-size:clamp(48px,5vw,70px); line-height:1; font-weight:500; margin:22px 0; }
.catering-feature .btn { margin-top:28px; }
.corporate-teaser { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; border-bottom:1px solid var(--line); }
.corporate-teaser .eyebrow { margin-bottom:20px; }
.corporate-teaser .btn { margin-top:26px; }

/* Four products stay visible on desktop. Only the track moves. */
.products-carousel { --visible-products:4; --product-gap:20px; }
.product-controls { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.product-controls>.meta { color:var(--muted); }
.product-controls>div { display:flex; gap:8px; }
.product-controls button { border:1px solid #55534d; width:46px; height:46px; font-size:23px; transition:background .2s,color .2s; }
.product-controls button:hover { background:var(--paper); color:var(--bg); }
.products-window { overflow:hidden; touch-action:pan-y pinch-zoom; padding:5px; margin:-5px; }
.products-track { display:flex; gap:var(--product-gap); will-change:transform; }
.product-card { flex:0 0 calc((100% - (var(--visible-products) - 1) * var(--product-gap)) / var(--visible-products)); min-width:0; }
.product-card>a { display:block; }
.product-art { position:relative; overflow:hidden; aspect-ratio:1/.98; display:grid; place-items:center; background:radial-gradient(ellipse at 55% 100%,#504437,#1d1b18 78%); border:1px solid var(--line); }
.product-tote { background:radial-gradient(ellipse at 55% 100%,#685849,#27221d 78%); }
.product-cap { background:radial-gradient(ellipse at 55% 100%,#44483e,#1b1e1b 78%); }
.product-bottle { background:radial-gradient(ellipse at 55% 100%,#56594a,#23231d 78%); }
.product-art svg { width:100%; height:auto; transition:transform .35s; margin-top:20px; }
.product-card a:hover svg { transform:translateY(-6px) rotate(-2deg); }
.product-tag { position:absolute; z-index:1; top:15px; left:15px; color:#cfc7b9; font-size:8px; text-transform:uppercase; letter-spacing:.09em; }
.product-arrow { position:absolute; bottom:13px; right:15px; font-size:22px; }
.product-info { padding:20px 0 5px; }
.product-info h3 { font-size:17px; font-weight:500; margin-bottom:8px; }
.product-info p { font-size:12px; color:var(--muted); }
.product-price { font-size:28px; }
.shop-stage svg { width:100%; max-width:600px; }
.catalog-note { max-width:800px; margin-top:36px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* News launch article and newsletter preview. */
.launch-card { display:grid; grid-template-columns:1fr 1fr; background:#191919; margin-bottom:70px; }
.launch-art { min-height:410px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; padding:50px; position:relative; background:linear-gradient(0deg,#1118,#111a),url('assets/restaurant.webp') center 55%/cover; }
.launch-art>img { width:75%; max-width:360px; }
.launch-art>span:not(.launch-art-caption) { font-family:var(--heading); font-size:36px; letter-spacing:.12em; }
.launch-art-caption { position:absolute; bottom:25px; font-size:8px; color:#aaa; letter-spacing:.16em; }
.launch-copy { padding:45px; align-self:center; }
.launch-copy h2 { font-family:var(--heading); font-size:clamp(40px,4vw,62px); font-weight:500; line-height:1.06; text-transform:uppercase; margin:22px 0; }
.launch-copy .text-link { margin-top:28px; }
.article-status { font-size:10px; line-height:1.6; color:var(--accent); margin-top:12px; }
.article-back { padding-top:40px; }
.launch-article { max-width:1000px; padding:48px 0 80px; }
.launch-article header { max-width:850px; }
.launch-article h1 { font-family:var(--heading); font-size:clamp(54px,7.7vw,105px); font-weight:500; line-height:1; text-transform:uppercase; margin:25px 0; }
.article-lead { font-size:18px; line-height:1.7; color:#bbb7af; max-width:740px; }
.article-banner { height:340px; margin:40px 0; background:linear-gradient(90deg,#111a,#1116),url('assets/restaurant.webp') center 60%/cover; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:22px; }
.article-banner img { width:300px; }
.article-banner span { font-family:var(--heading); font-size:33px; letter-spacing:.15em; }
.article-body { max-width:720px; margin:0 auto; }
.article-body p { font-size:16px; line-height:1.9; color:#bbb7af; margin:20px 0; }
.article-body h2 { font-family:var(--heading); font-size:36px; font-weight:500; line-height:1.1; margin:38px 0 16px; }
.article-actions { margin-top:35px; display:flex; gap:12px; flex-wrap:wrap; }
.admin-launch { border:1px solid #484136; padding:24px; margin:25px 0; }
.admin-launch h3 { font-size:20px; font-weight:500; margin:18px 0 12px; }
.admin-launch .text-link { margin-top:18px; }
.admin-include { margin-top:22px; }
.email-launch { margin:30px 0; padding:25px 0; border-top:1px solid #bbb4a7; border-bottom:1px solid #bbb4a7; }
.email-launch h3 { font-family:var(--heading); font-size:34px; line-height:1.05; margin:15px 0; }
.email-launch h2 { font-size:25px; line-height:1.15; margin:25px 0 12px; }
.email-launch p { margin:12px 0; }

/* A deliberately shallow Google map at the end of every page. */
.footer-map { padding:28px 0 40px; border-top:1px solid var(--line); }
.map-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.map-heading p+p { font-size:12px; color:var(--muted); margin-top:9px; }
.map-heading .text-link { font-size:10px; }
.map-panel { height:200px; position:relative; background:#1c1e1b; border:1px solid var(--line); }
.map-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:22px; padding:22px; color:#cbc9bf; }
.map-pin { font-size:44px; color:var(--accent); }
.map-fallback strong { display:block; font-size:15px; letter-spacing:.1em; margin-bottom:8px; }
.map-fallback div>span { display:block; font-size:11px; line-height:1.7; }
.map-provider { position:absolute; bottom:16px; right:18px; font-size:9px; letter-spacing:.12em; color:var(--muted); }
.footer-map iframe { display:block; position:absolute; inset:0; border:0; width:100%; height:200px; background:transparent; }

@media(max-width:1400px) {
  .site-nav { gap:22px; }
  .nav-left { gap:18px; }
  .nav-right .btn { display:none; }
}
@media(max-width:1050px) {
  .site-nav { grid-template-columns:76px minmax(0,1fr) auto; gap:18px; }
  .wordmark { width:76px; }
  .nav-left { gap:14px; }
  .nav-left a { font-size:9px; }
  .nav-right { gap:10px; }
  .corporate-intro { gap:35px; }
  .catering-feature>div,.launch-copy { padding:30px; }
  .product-info h3 { font-size:15px; }
}
@media(max-width:900px) {
  .site-nav { grid-template-columns:1fr auto; height:auto; padding-top:16px; gap:10px 20px; }
  .wordmark { width:80px; }
  .nav-right { grid-column:2; grid-row:1; }
  .nav-right .btn { display:inline-flex; }
  .nav-left { grid-column:1/-1; grid-row:2; display:flex; justify-content:space-between; gap:12px; }
  .nav-left a { font-size:9px; }
  .products-carousel { --visible-products:2; }
  .corporate-teaser { gap:35px; }
  .hero .hero-brand { width:min(440px,62vw); }
}
@media(max-width:700px) {
  .site-nav { padding:14px 6% 10px; gap:8px 15px; }
  .nav-left { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 10px; text-align:center; border-top:1px solid #292928; padding-top:5px; }
  .nav-left a { font-size:9px; white-space:normal; line-height:1.45; padding:8px 0; letter-spacing:.025em; }
  .nav-right .btn { display:none; }
  .nav-right { gap:15px; }
  .hero { max-height:none; height:580px; min-height:min(540px,calc(100svh - 170px)); }
  .hero .hero-brand { width:83%; max-width:430px; gap:20px; margin:30px 0; }
  .hero .hero-brand span { font-size:clamp(30px,8.2vw,52px); letter-spacing:.1em; }
  .hero-content { padding-bottom:40px; }
  .corporate-cover { height:270px; }
  .corporate-intro,.corporate-teaser { grid-template-columns:1fr; gap:24px; }
  .corporate-intro h2 { font-size:49px; }
  .corporate-spaces .space img { height:240px; }
  .catering-feature { grid-template-columns:1fr; }
  .catering-feature>img { min-height:0; height:270px; }
  .catering-feature>div { padding:32px 24px; }
  .catering-feature h2 { font-size:52px; }
  .catering-feature .btn { font-size:9px; padding:14px 16px; }
  .products-carousel { --product-gap:14px; }
  .product-art { aspect-ratio:1/1.16; }
  .product-tag { top:12px; left:10px; right:10px; font-size:7px; line-height:1.6; }
  .product-art svg { width:113%; max-width:none; margin-left:-6.5%; }
  .product-info { padding-top:15px; }
  .product-info h3 { font-size:14px; }
  .product-info p { font-size:11px; line-height:1.6; }
  .product-controls>.meta { font-size:9px; }
  .home-shop .section-head { align-items:start; flex-direction:column; gap:24px; }
  .launch-card { grid-template-columns:1fr; margin-bottom:50px; }
  .launch-art { min-height:270px; padding:35px; }
  .launch-art>span:not(.launch-art-caption) { font-size:29px; }
  .launch-copy { padding:30px 24px; }
  .launch-copy h2 { font-size:43px; }
  .launch-article { padding-top:35px; }
  .launch-article h1 { font-size:57px; }
  .article-lead { font-size:15px; }
  .article-banner { height:240px; }
  .article-banner img { width:210px; }
  .article-banner span { font-size:24px; }
  .article-body p { font-size:14px; }
  .article-body h2 { font-size:30px; }
  .map-heading { gap:16px; align-items:end; }
  .map-heading .meta { font-size:10px; }
  .map-heading p+p { font-size:10px; line-height:1.6; }
  .map-heading .text-link { font-size:8px; flex-shrink:0; gap:8px; }
  .footer-map iframe { height:200px; }
}
