  :root{
    --bg:#15110D;
    --bg-alt:#1C1611;
    --card:#221A14;
    --leather:#3B2317;
    --copper:#B87A3E;
    --copper-dim:#8B5A2B;
    --gold:#CBA135;
    --burgundy:#7C2632;
    --cream:#EFE7D8;
    --cream-dim:#B7AC98;
    --line:rgba(203,161,53,0.22);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{overflow-x:hidden;}
  body{
    background:var(--bg);
    color:var(--cream);
    font-family:'Inter',sans-serif;
    line-height:1.55;
  }
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  h1,h2,h3{font-family:'Anton',sans-serif; font-weight:400; letter-spacing:0.5px; text-transform:uppercase; color:var(--cream);}
  .script{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:500; letter-spacing:0.3px;}
  a{color:inherit; text-decoration:none;}
  .eyebrow{font-size:12px; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); font-weight:600;}

  /* copper pressed-tin texture, referencing the venue's actual ceiling */
  .tin-pattern{
    background-image:
      radial-gradient(circle at 10px 10px, rgba(184,122,62,0.35) 0, rgba(184,122,62,0.35) 2px, transparent 2.5px),
      linear-gradient(135deg, rgba(184,122,62,0.10) 25%, transparent 25%, transparent 75%, rgba(184,122,62,0.10) 75%),
      linear-gradient(45deg, rgba(184,122,62,0.10) 25%, transparent 25%, transparent 75%, rgba(184,122,62,0.10) 75%);
    background-size:20px 20px, 40px 40px, 40px 40px;
    background-position:0 0, 0 0, 20px 20px;
  }

  /* ---- top bar ---- */
  .topbar{background:#0F0C09; border-bottom:1px solid var(--line); font-size:12.5px; color:var(--cream-dim);}
  .topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:38px;}
  .topbar .status{color:var(--gold); font-weight:600;}
  .topbar .contacts{display:flex; gap:22px;}

  /* ---- nav ---- */
  nav{position:sticky; top:0; z-index:50; background:rgba(21,17,13,0.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  nav .inner{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo{display:flex; flex-direction:column; line-height:1;}
  .logo img{height:56px; width:auto; display:block;}
  .logo .one{font-family:'Anton',sans-serif; font-size:26px; letter-spacing:3px;}
  .logo .sub{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:13px; color:var(--gold); margin-top:-2px;}
  .navlinks{display:flex; gap:34px; font-size:14px; font-weight:500;}
  .navlinks > a{color:var(--cream-dim); border-bottom:1px solid transparent; padding-bottom:4px;}
  .navlinks > a:hover{color:var(--cream); border-color:var(--gold);}
  .btn{display:inline-block; padding:12px 24px; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:2px; cursor:pointer;}
  .btn-gold{background:var(--gold); color:#221A0A;}
  .btn-outline{border:1px solid var(--copper); color:var(--cream);}
  .btn-burgundy{background:var(--burgundy); color:var(--cream);}
  .navcta{display:flex; gap:12px; align-items:center;}
  .nav-toggle{display:none;}
  .mobile-cta{display:none;}

  /* ---- hero ---- */
  .hero{position:relative; width:100%; padding:70px 0 60px; overflow:hidden; border-bottom:1px solid var(--line); aspect-ratio:3/1; min-height:520px; max-height:640px; display:flex; align-items:center;}
  .hero::before{content:""; position:absolute; inset:0; background:url('public/images/heroes/homepage_hero.webp') center/cover no-repeat;}
  .hero .inner{position:relative; max-width:720px; margin-left:max(32px, calc((100% - 1180px)/2)); margin-right:auto;}
  .hero h1{font-size:48px; line-height:1; margin:14px 0 16px;}
  .hero h1 span{color:var(--gold);}
  .hero p.lede{font-size:17px; color:var(--cream-dim); max-width:520px; margin-bottom:34px;}
  .hero .ctas{display:flex; gap:16px; margin-bottom:36px;}
  .infostrip{display:flex; gap:0; border:1px solid var(--line); border-radius:4px; overflow:hidden; width:max-content;}
  .infostrip div{padding:11px 20px; font-size:12.5px; border-right:1px solid var(--line);}
  .infostrip div:last-child{border-right:none;}
  .infostrip .label{color:var(--gold); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; display:block; margin-bottom:4px;}

  /* ---- section shell ---- */
  section{padding:88px 0;}
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head h2{font-size:38px; margin-top:10px;}
  .section-head p{color:var(--cream-dim); font-size:15.5px; margin-top:14px;}

  /* ---- rooms ---- */
  .rooms{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .room-card{background:var(--card); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column;}
  .room-photo{aspect-ratio:2/3; background:repeating-linear-gradient(135deg, var(--leather), var(--leather) 10px, #2A1E14 10px, #2A1E14 20px); display:flex; align-items:center; justify-content:center; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--copper); text-align:center; padding:0 16px;}
  .room-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .room-body{padding:22px 20px 26px; flex:1; display:flex; flex-direction:column;}
  .room-body h3{font-size:18px; margin-bottom:8px;}
  .room-body .cap{font-size:11.5px; color:var(--gold); letter-spacing:1px; text-transform:uppercase; margin-bottom:12px;}
  .room-body p{font-size:13.5px; color:var(--cream-dim); flex:1;}
  .room-body a.link{font-size:12.5px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:var(--gold); margin-top:16px; display:inline-block;}

  /* ---- brunch strip ---- */
  .brunch{background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .brunch .inner{display:flex; align-items:center; justify-content:space-between; gap:40px; padding:60px 0;}
  .brunch h2{font-size:34px;}
  .brunch p{color:var(--cream-dim); font-size:15px; max-width:460px; margin-top:14px;}
  .brunch .badges{display:flex; gap:10px; margin-top:18px;}
  .badges{flex-wrap:wrap;}
  .badge{font-size:11px; letter-spacing:1px; text-transform:uppercase; border:1px solid var(--copper); color:var(--copper); padding:6px 12px; border-radius:20px;}
  .brunch .cta-col{text-align:right; min-width:230px;}
  .brunch .cta-col .note{font-size:12px; color:var(--cream-dim); margin-top:10px;}

  /* ---- menu preview ---- */
  .menu-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .menu-grid-2{grid-template-columns:1fr 1fr;}
  .menu-col{padding:26px 24px; border-right:1px solid var(--line);}
  .menu-col:last-child{border-right:none;}
  .menu-col h3{font-size:14px; color:var(--gold); letter-spacing:1px; margin-bottom:16px;}
  .menu-item{display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:9px 0; border-bottom:1px dotted var(--line);}
  .menu-item span.price{color:var(--copper); font-weight:600; white-space:nowrap;}
  .menu-cta{text-align:center; margin-top:34px;}

  /* ---- order online ---- */
  .order-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .order-card{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:30px 26px; text-align:center;}
  .order-card .mark{font-family:'Anton',sans-serif; font-size:15px; letter-spacing:2px; color:var(--gold); margin-bottom:10px;}
  .order-card p{font-size:13px; color:var(--cream-dim); margin-bottom:20px;}
  .pending{display:inline-block; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; color:var(--burgundy); border:1px solid var(--burgundy); border-radius:20px; padding:4px 10px; margin-bottom:14px;}

  /* ---- cigar / packages ---- */
  .cigar{background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .cigar-flex{display:flex; gap:50px;}
  .cigar-copy{flex:1.1;}
  .cigar-copy p{color:var(--cream-dim); font-size:15px; margin:16px 0 26px;}
  .cigar-copy .split{display:flex; gap:16px; margin-top:26px;}
  .split-box{flex:1; border:1px solid var(--line); border-radius:6px; padding:18px 18px;}
  .split-box h4{font-size:13px; color:var(--gold); letter-spacing:1px; text-transform:uppercase; margin-bottom:8px;}
  .split-box p{font-size:12.5px; margin:0;}
  .tiers{flex:1; display:flex; flex-direction:column; gap:12px;}
  .tier{display:flex; justify-content:space-between; align-items:center; border:1px solid var(--line); border-radius:6px; padding:14px 20px; background:var(--card);}
  .tier .name{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cream);}
  .tier .desc{font-size:11.5px; color:var(--cream-dim); margin-top:3px;}
  .tier .price{font-family:'Anton',sans-serif; color:var(--gold); font-size:20px;}

  /* ---- weekly programming ---- */
  .week-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
  .day-card{border:1px solid var(--line); border-radius:6px; padding:20px 16px; min-height:150px; display:flex; flex-direction:column;}
  .day-card .day{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:10px;}
  .day-card .ev{font-size:13.5px; font-weight:600; margin-bottom:6px;}
  .day-card .time{font-size:11.5px; color:var(--cream-dim);}

  /* ---- hours/location ---- */
  .hl{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  .hours-table{width:100%; border-collapse:collapse; font-size:14px;}
  .hours-table td{padding:10px 0; border-bottom:1px solid var(--line);}
  .hours-table td:last-child{text-align:right; color:var(--cream-dim);}
  .hours-table tr.today td{color:var(--gold); font-weight:700;}
  .map-box{border:1px solid var(--line); border-radius:6px; height:300px; overflow:hidden; background:var(--card);}
  .map-box iframe{display:block; width:100%; height:100%; border:0;}
  .phone-row{display:flex; gap:16px; margin-top:24px;}
  .phone-box{flex:1; border:1px solid var(--line); border-radius:6px; padding:16px 18px;}
  .phone-box .label{font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); margin-bottom:6px;}
  .phone-box .num{font-family:'Anton',sans-serif; font-size:20px;}

  footer{border-top:1px solid var(--line); padding:50px 0 30px; background:#0F0C09;}
  .foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px;}
  .foot-grid h4{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
  .foot-grid a, .foot-grid p{display:block; font-size:13px; color:var(--cream-dim); margin-bottom:9px;}
  .foot-bottom{border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; font-size:12px; color:var(--cream-dim);}

  @media(max-width:1000px){
    .rooms{grid-template-columns:repeat(2,1fr);}
    .menu-grid{grid-template-columns:repeat(2,1fr);}
    .order-grid{grid-template-columns:1fr;}
    .week-grid{grid-template-columns:repeat(2,1fr);}
    .hl{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .navlinks{display:none; position:absolute; top:78px; left:0; right:0; flex-direction:column; background:var(--bg); border-bottom:1px solid var(--line); padding:10px 32px 22px;}
    nav.open .navlinks{display:flex;}
    .navlinks > a{padding:13px 0; border-bottom:1px solid var(--line);}
    .mobile-cta{display:flex; flex-direction:column; gap:12px; padding-top:18px;}
    .mobile-cta .btn{text-align:center;}
    .nav-toggle{display:flex; flex-direction:column; justify-content:center; gap:5px; background:none; border:1px solid var(--copper); border-radius:2px; padding:11px 10px; cursor:pointer;}
    .nav-toggle span{display:block; width:20px; height:2px; background:var(--cream); transition:transform .2s, opacity .2s;}
    nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    nav.open .nav-toggle span:nth-child(2){opacity:0;}
    nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    .hero h1{font-size:44px;}
    .hero{aspect-ratio:auto; min-height:0; max-height:none; display:block;}
  }

  @media(max-width:640px){
    .navcta{display:none;}
    .topbar .wrap{height:auto; padding:8px 32px; flex-direction:column; gap:2px;}
    .topbar .contacts span:first-child{display:none;}
    .hero{padding:70px 0 60px;}
    .hero h1{font-size:38px;}
    .hero .ctas{flex-direction:column; align-items:flex-start;}
    .infostrip{width:100%; flex-wrap:wrap;}
    .infostrip div{flex:1; min-width:120px;}
    .brunch .inner{flex-direction:column; align-items:flex-start; gap:24px; padding:40px 0;}
    .brunch .cta-col{text-align:left;}
    .cigar-flex{flex-direction:column;}
    .logo img{height:48px;}
    .menu-grid, .menu-grid-2{grid-template-columns:1fr;}
    .pagehero .ctas{flex-direction:column; align-items:flex-start;}
    .foot-grid{grid-template-columns:1fr;}
  }

/* ---- secondary page hero ---- */
.pagehero{padding:64px 0 56px; border-bottom:1px solid var(--line);}
.pagehero .crumb{font-size:12px; color:var(--cream-dim); margin-bottom:16px;}
.pagehero .crumb a{color:var(--gold);}
.pagehero h1{font-size:46px; line-height:1; margin:14px 0 16px;}
.pagehero p.lede{font-size:16px; color:var(--cream-dim); max-width:560px;}
.pagehero .ctas{display:flex; gap:16px; margin-top:28px;}
.hero-photo{background-color:var(--bg); background-size:cover; background-position:center; width:100%; display:flex; align-items:center; aspect-ratio:2244/701; min-height:480px; max-height:680px; overflow:hidden;}
.hero-photo > .wrap{width:min(100%,1180px); margin:0 auto;}

/* ---- content blocks ---- */
.two-col{display:grid; grid-template-columns:1.2fr 0.8fr; gap:50px;}
.info-card{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px 26px;}
.info-card h4{font-size:13px; color:var(--gold); letter-spacing:1px; text-transform:uppercase; margin-bottom:14px;}
.info-card ul{list-style:none;}
.info-card li{font-size:13.5px; color:var(--cream-dim); padding:8px 0; border-bottom:1px dotted var(--line);}
.info-card li:last-child{border-bottom:none;}
.bullet-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.bullet-item{border:1px solid var(--line); border-radius:6px; padding:16px 18px; font-size:13.5px; display:flex; align-items:center; gap:10px;}
.bullet-item .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0;}
.stat-row{display:flex; gap:30px; margin:28px 0; flex-wrap:wrap;}
.stat{border-left:2px solid var(--gold); padding-left:14px;}
.stat .num{font-family:'Anton',sans-serif; font-size:28px; display:block;}
.stat .lbl{font-size:11.5px; color:var(--cream-dim); text-transform:uppercase; letter-spacing:1px;}
.gallery-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:36px 0;}
.gallery-box{height:130px; border:1px solid var(--line); border-radius:6px; background:repeating-linear-gradient(135deg, var(--leather), var(--leather) 10px, #2A1E14 10px, #2A1E14 20px); display:flex; align-items:center; justify-content:center; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; color:var(--copper); text-align:center; padding:0 10px;}
  .gallery-box img{width:100%; height:100%; object-fit:cover; display:block;}
.cta-band{background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:56px 0; text-align:center;}
.cta-band h2{font-size:32px; margin-bottom:14px;}
.cta-band p{color:var(--cream-dim); font-size:15px; margin-bottom:28px;}
.cta-band .ctas{display:flex; gap:16px; justify-content:center;}

@media(max-width:1000px){
  .two-col{grid-template-columns:1fr;}
  .bullet-grid{grid-template-columns:1fr;}
  .gallery-strip{grid-template-columns:repeat(2,1fr);}
  .pagehero h1{font-size:34px;}
  .hero-photo{aspect-ratio:auto; min-height:0; max-height:none;}
}
