/* ============================================================
   site.css — Colorado Mountain Distillers
   Shared tokens, layout, nav, footer + all page styles.
   ============================================================ */

/* ── TOKENS & RESET ──────────────────────────────────────── */
    /* ── TOKENS ── */
    :root {
      --amber:      #C8852E;
      --gold:       #E9B96E;
      --cream:      #F2E8D5;
      --parchment:  #EDE0C4;
      --bark:       #1C1008;
      --forest:     #1A2015;
      --moss:       #3D5430;
      --smoke:      #A0927A;
      --fog:        rgba(242,232,213,0.07);
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body:    'Crimson Pro', Georgia, serif;
      --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
      --ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html  { scroll-behavior: smooth; font-size: 16px; }
    body  { background: var(--bark); color: var(--cream); font-family: var(--font-body); overflow-x: hidden; }
    img   { display: block; max-width: 100%; }
    a     { color: inherit; text-decoration: none; }

    /* ── UTILITY ── */
    .eyebrow {
      display: inline-block;
      font-family: var(--font-body);
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .btn-primary {
      display: inline-flex; align-items: center; gap: 0.5rem;
      padding: 0.85rem 2rem;
      background: var(--amber); color: #fff;
      font-family: var(--font-body); font-size: 0.78rem; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
      border: none; cursor: pointer; border-radius: 2px;
      transition: background 0.2s, transform 0.2s;
    }
    .btn-primary:hover { background: #A86E22; transform: translateY(-2px); }
    .btn-ghost {
      display: inline-flex; align-items: center; gap: 0.5rem;
      padding: 0.82rem 1.9rem;
      background: transparent; color: var(--cream);
      font-family: var(--font-body); font-size: 0.78rem; font-weight: 600;
      letter-spacing: 0.2em; text-transform: uppercase;
      border: 1.5px solid rgba(242,232,213,0.4);
      cursor: pointer; border-radius: 2px;
      transition: border-color 0.2s, color 0.2s;
    }
    .btn-ghost:hover { border-color: var(--cream); color: #fff; }
    .section-rule {
      width: 48px; height: 2px;
      background: linear-gradient(90deg, var(--amber), var(--gold));
      border-radius: 2px; margin: 1rem 0 1.6rem;
    }
    .reveal       { opacity:0; transform:translateY(28px);  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); }
    .reveal.visible { opacity:1; transform:none; }
    .reveal-left  { opacity:0; transform:translateX(-28px); transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
    .reveal-left.visible  { opacity:1; transform:none; }
    .reveal-right { opacity:0; transform:translateX(28px);  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
    .reveal-right.visible { opacity:1; transform:none; }
    @keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

    /* ── NAV ── */
    .nav {
      position: fixed; top:0; left:0; right:0; z-index:100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.4rem 3rem;
      transition: background .4s, padding .4s, backdrop-filter .4s;
    }
    .nav.scrolled {
      background: rgba(28,16,8,.92);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      padding: .9rem 3rem;
      border-bottom: 1px solid rgba(200,133,46,.15);
    }
    .nav-logo { font-family:var(--font-display); font-size:1.3rem; font-weight:700; letter-spacing:.04em; color:var(--cream); line-height:1.1; }
    .nav-logo span { display:block; font-size:.62rem; font-weight:400; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-top:1px; }
    .nav-links { display:flex; gap:2.2rem; list-style:none; }
    .nav-links a { font-size:.75rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,232,213,.75); transition:color .2s; position:relative; }
    .nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .25s var(--ease-out); }
    .nav-links a:hover, .nav-links a.active { color:var(--cream); }
    .nav-links a.active::after, .nav-links a:hover::after { transform:scaleX(1); }
    .nav-cta { font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(200,133,46,.5); padding:.5rem 1.1rem; border-radius:2px; transition:background .2s,color .2s; }
    .nav-cta:hover { background:var(--amber); color:#fff; border-color:var(--amber); }
    .nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
    .nav-burger span { display:block; width:24px; height:2px; background:var(--cream); border-radius:2px; transition:transform .3s,opacity .3s; }
    .nav-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .nav-burger.open span:nth-child(2) { opacity:0; }
    .nav-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .nav-mobile { display:none; position:fixed; inset:0; background:var(--bark); z-index:99; flex-direction:column; align-items:center; justify-content:center; gap:2.5rem; }
    .nav-mobile.open { display:flex; }
    .nav-mobile a { font-family:var(--font-display); font-size:2rem; font-weight:600; color:var(--cream); letter-spacing:.05em; transition:color .2s; }
    .nav-mobile a:hover { color:var(--gold); }
    @media(max-width:860px) {
      .nav-links, .nav-cta { display:none; }
      .nav-burger { display:flex; }
      .nav { padding:1.2rem 1.5rem; }
      .nav.scrolled { padding:.9rem 1.5rem; }
    }

    /* ── FOOTER ── */
    .footer { background:#120A04; border-top:1px solid rgba(200,133,46,.12); padding:4rem 2rem 2.5rem; }
    .footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(200,133,46,.08); }
    @media(max-width:820px){ .footer-inner { grid-template-columns:1fr 1fr; gap:2.5rem; } }
    @media(max-width:480px){ .footer-inner { grid-template-columns:1fr; } }
    .footer-brand .logo { font-family:var(--font-display); font-size:1.4rem; font-weight:700; color:var(--cream); letter-spacing:.02em; }
    .footer-brand .tagline { margin-top:.35rem; font-size:.62rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); }
    .footer-brand p { margin-top:1rem; font-size:.88rem; font-weight:300; line-height:1.7; color:rgba(160,146,122,.75); }
    .footer-socials { display:flex; gap:.8rem; margin-top:1.3rem; }
    .social-icon { width:34px; height:34px; border:1px solid rgba(200,133,46,.25); border-radius:2px; display:flex; align-items:center; justify-content:center; transition:border-color .2s,background .2s; }
    .social-icon:hover { border-color:var(--amber); background:rgba(200,133,46,.1); }
    .social-icon svg { width:15px; height:15px; }
    .footer-col h4 { font-size:.65rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; }
    .footer-col ul { list-style:none; }
    .footer-col ul li { margin-bottom:.55rem; }
    .footer-col ul a { font-size:.88rem; font-weight:300; color:rgba(160,146,122,.75); transition:color .2s; }
    .footer-col ul a:hover { color:var(--cream); }
    .footer-col address { font-size:.88rem; font-weight:300; font-style:normal; line-height:1.8; color:rgba(160,146,122,.75); }
    .footer-col address strong { color:var(--cream); font-weight:600; display:block; margin-bottom:.2rem; }
    .footer-bottom { max-width:1100px; margin:1.8rem auto 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
    .footer-bottom p { font-size:.72rem; color:rgba(160,146,122,.4); letter-spacing:.06em; }
    .footer-bottom a { color:rgba(160,146,122,.55); transition:color .2s; }
    .footer-bottom a:hover { color:var(--smoke); }


/* ════════════════════════════════════════════════════════════
   INDEX PAGE
════════════════════════════════════════════════════════════ */
    /* ═══════════════════════════════════════════
       HERO
    ═══════════════════════════════════════════ */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
      padding: 8rem 2rem 5rem;
    }

    /* Layered atmospheric background */
    .hero-bg {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 120% 80% at 50% 110%, rgba(26,32,21,0.95) 0%, transparent 65%),
        radial-gradient(ellipse 80% 60% at 20% 50%, rgba(61,84,48,0.18) 0%, transparent 50%),
        radial-gradient(ellipse 60% 80% at 80% 30%, rgba(200,133,46,0.08) 0%, transparent 50%),
        linear-gradient(175deg, #0D1409 0%, #1A2015 35%, #2C1A0E 65%, #1C1008 100%);
    }

    /* SVG mountain silhouette */
    .hero-mountains {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      width: 100%; height: auto;
      opacity: 0.55;
    }

    /* Firefly particles */
    .fireflies {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
    .firefly {
      position: absolute;
      width: 3px; height: 3px;
      border-radius: 50%;
      background: var(--gold);
      filter: blur(1px);
      animation: drift linear infinite;
      opacity: 0;
    }

    @keyframes drift {
      0%   { opacity: 0; transform: translateY(0) translateX(0); }
      15%  { opacity: 0.8; }
      85%  { opacity: 0.6; }
      100% { opacity: 0; transform: translateY(-80px) translateX(var(--tx)); }
    }

    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 780px;
    }

    .hero-emblem {
      margin: 0 auto 2rem;
      width: 68px; height: 68px;
      border: 1.5px solid rgba(200,133,46,0.4);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      animation: heroFade 1.2s var(--ease-out) 0.2s both;
    }
    .hero-emblem svg { width: 34px; height: 34px; opacity: 0.85; }

    @keyframes heroFade {
      from { opacity: 0; transform: scale(0.85); }
      to   { opacity: 1; transform: scale(1); }
    }

    .hero-eyebrow {
      animation: heroFade 1s var(--ease-out) 0.4s both;
      margin-bottom: 1rem;
    }

    .hero-title {
      font-family: var(--font-display);
      font-size: clamp(3rem, 7vw, 5.5rem);
      font-weight: 700;
      line-height: 1.0;
      letter-spacing: -0.01em;
      color: var(--cream);
      animation: heroFade 1s var(--ease-out) 0.55s both;
    }
    .hero-title em {
      font-style: italic;
      color: var(--gold);
    }

    .hero-tagline {
      margin-top: 1.5rem;
      font-size: 1.15rem;
      font-weight: 300;
      line-height: 1.75;
      color: rgba(242,232,213,0.72);
      max-width: 540px;
      margin-left: auto;
      margin-right: auto;
      animation: heroFade 1s var(--ease-out) 0.7s both;
    }

    .hero-divider {
      width: 1px;
      height: 40px;
      background: linear-gradient(to bottom, transparent, var(--gold), transparent);
      margin: 2rem auto;
      animation: heroFade 1s var(--ease-out) 0.8s both;
    }

    .hero-actions {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
      animation: heroFade 1s var(--ease-out) 0.9s both;
    }

    .hero-hours {
      margin-top: 3.5rem;
      font-size: 0.75rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(242,232,213,0.4);
      animation: heroFade 1s var(--ease-out) 1.1s both;
    }

    /* Scroll indicator */
    .scroll-hint {
      position: absolute;
      bottom: 2.5rem;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.6rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(242,232,213,0.3);
      animation: heroFade 1s var(--ease-out) 1.4s both;
    }
    .scroll-hint-line {
      width: 1px;
      height: 36px;
      background: linear-gradient(to bottom, rgba(200,133,46,0.6), transparent);
      animation: scrollPulse 2s ease-in-out infinite;
    }
    @keyframes scrollPulse {
      0%, 100% { opacity: 0.4; transform: scaleY(1); }
      50% { opacity: 1; transform: scaleY(1.1); }
    }

    /* Ghost logo — watermark centered at ~1/4 from the left, drifting under text */
    .hero-ghost-logo {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding-left: 2vw;
      z-index: 1;
      pointer-events: none;
      overflow: hidden;
      animation: heroFade 2s var(--ease-out) 0.3s both;
    }
    .hero-ghost-logo img {
      max-width: min(540px, 50vw);
      height: auto;
      opacity: 0.06;
      filter: brightness(5) saturate(0.2);
      mix-blend-mode: screen;
      user-select: none;
      -webkit-user-drag: none;
      flex-shrink: 0;
    }
    .hero-ghost-logo .ghost-crest {
      width: min(460px, 46vw);
      height: auto;
      opacity: 1; /* SVG colors carry their own opacity */
      flex-shrink: 0;
    }

    /* ═══════════════════════════════════════════
       INTRO STRIP
    ═══════════════════════════════════════════ */
    .intro-strip {
      background: var(--forest);
      border-top: 1px solid rgba(200,133,46,0.15);
      border-bottom: 1px solid rgba(200,133,46,0.15);
      padding: 2.2rem 2rem;
      display: flex;
      justify-content: center;
      gap: 3.5rem;
      flex-wrap: wrap;
    }
    .intro-stat {
      text-align: center;
    }
    .intro-stat .num {
      font-family: var(--font-display);
      font-size: 2.2rem;
      font-weight: 700;
      color: var(--gold);
      line-height: 1;
    }
    .intro-stat .label {
      margin-top: 0.25rem;
      font-size: 0.68rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--smoke);
    }

    /* ═══════════════════════════════════════════
       ABOUT / ATMOSPHERE
    ═══════════════════════════════════════════ */
    .about {
      padding: 7rem 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      max-width: 1160px;
      margin: 0 auto;
      align-items: center;
    }
    @media(max-width: 820px){ .about { grid-template-columns: 1fr; gap: 3rem; padding: 5rem 1.5rem; } }

    .about-text h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 600;
      line-height: 1.15;
      color: var(--cream);
    }
    .about-text h2 em { font-style: italic; color: var(--gold); }
    .about-text p {
      font-size: 1.1rem;
      font-weight: 300;
      line-height: 1.8;
      color: rgba(242,232,213,0.7);
      margin-bottom: 1.2rem;
    }

    /* Illustrated panel — pure CSS atmospheric scene */
    .about-scene {
      position: relative;
      height: 440px;
      border-radius: 4px;
      overflow: hidden;
      background: linear-gradient(160deg, #0D1A09 0%, #1F2E14 50%, #2C1A0E 100%);
    }
    .about-scene::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 40% at 70% 30%, rgba(200,133,46,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 80% 60% at 20% 80%, rgba(61,84,48,0.2) 0%, transparent 55%);
    }
    /* Stars */
    .about-scene::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(1px 1px at 15% 12%, rgba(255,255,255,0.6) 0%, transparent 100%),
        radial-gradient(1px 1px at 45% 8%, rgba(255,255,255,0.5) 0%, transparent 100%),
        radial-gradient(1px 1px at 72% 18%, rgba(255,255,255,0.7) 0%, transparent 100%),
        radial-gradient(1px 1px at 88% 6%, rgba(255,255,255,0.4) 0%, transparent 100%),
        radial-gradient(1px 1px at 30% 22%, rgba(255,255,255,0.5) 0%, transparent 100%),
        radial-gradient(1px 1px at 60% 14%, rgba(255,255,255,0.6) 0%, transparent 100%),
        radial-gradient(2px 2px at 52% 5%, rgba(233,185,110,0.7) 0%, transparent 100%);
    }
    .scene-moon {
      position: absolute;
      top: 12%; right: 18%;
      width: 48px; height: 48px;
      border-radius: 50%;
      background: radial-gradient(circle at 38% 38%, #F5E8C0, #E9B96E);
      box-shadow: 0 0 30px rgba(233,185,110,0.4), 0 0 60px rgba(233,185,110,0.15);
    }
    .scene-glow {
      position: absolute;
      bottom: 0; left: 50%;
      transform: translateX(-50%);
      width: 200px; height: 100px;
      background: radial-gradient(ellipse, rgba(200,133,46,0.35) 0%, transparent 70%);
      filter: blur(8px);
    }
    .scene-text {
      position: absolute;
      bottom: 2.5rem;
      left: 0; right: 0;
      text-align: center;
      padding: 0 1.5rem;
    }
    .scene-text blockquote {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 1.3rem;
      font-weight: 400;
      line-height: 1.5;
      color: rgba(242,232,213,0.85);
    }
    .scene-text cite {
      display: block;
      margin-top: 0.7rem;
      font-size: 0.68rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      font-style: normal;
    }

    /* Tree silhouettes */
    .scene-trees {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 55%;
    }

    /* ═══════════════════════════════════════════
       EVENTS PREVIEW
    ═══════════════════════════════════════════ */
    .events-section {
      background: var(--forest);
      padding: 6rem 2rem;
      border-top: 1px solid rgba(200,133,46,0.12);
    }
    .events-section-inner {
      max-width: 1100px;
      margin: 0 auto;
    }
    .section-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 3rem;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .section-header h2 {
      font-family: var(--font-display);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 600;
      color: var(--cream);
      line-height: 1.1;
    }
    .section-header h2 em { font-style: italic; color: var(--gold); }
    .view-all-link {
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--amber);
      display: flex;
      align-items: center;
      gap: 0.4rem;
      transition: color 0.2s, gap 0.2s;
    }
    .view-all-link:hover { color: var(--gold); gap: 0.7rem; }

    .events-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
      gap: 1.5rem;
    }

    .event-card {
      background: rgba(242,232,213,0.04);
      border: 1px solid rgba(200,133,46,0.12);
      border-radius: 4px;
      overflow: hidden;
      transition: background 0.25s, border-color 0.25s, transform 0.25s;
      display: flex;
      flex-direction: column;
    }
    .event-card:hover {
      background: rgba(242,232,213,0.07);
      border-color: rgba(200,133,46,0.35);
      transform: translateY(-4px);
    }

    .event-card-top {
      padding: 1.3rem 1.3rem 0.8rem;
      display: flex;
      gap: 1rem;
      align-items: flex-start;
    }
    .event-date-badge {
      text-align: center;
      flex-shrink: 0;
      width: 48px;
      padding: 0.4rem 0.3rem;
      background: rgba(200,133,46,0.12);
      border-radius: 3px;
    }
    .event-date-badge .mo {
      display: block;
      font-size: 0.58rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .event-date-badge .dy {
      display: block;
      font-family: var(--font-display);
      font-size: 1.7rem;
      font-weight: 700;
      line-height: 1;
      color: var(--cream);
    }
    .event-date-badge .wk {
      display: block;
      font-size: 0.55rem;
      color: var(--smoke);
      letter-spacing: 0.1em;
    }
    .event-card-info h3 {
      font-family: var(--font-display);
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--cream);
      line-height: 1.25;
    }
    .event-card-info .event-desc {
      margin-top: 0.35rem;
      font-size: 0.88rem;
      font-weight: 300;
      color: var(--smoke);
      line-height: 1.5;
    }
    .event-card-footer {
      padding: 0.8rem 1.3rem;
      border-top: 1px solid rgba(200,133,46,0.1);
      margin-top: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .event-time {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: var(--moss);
      display: flex;
      align-items: center;
      gap: 0.35rem;
    }
    .event-time svg { width: 12px; height: 12px; }

    .event-cat-tag {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 0.22rem 0.55rem;
      border-radius: 2px;
    }
    .cat-live-music    { background: rgba(200,133,46,0.15); color: var(--gold); }
    .cat-brunch        { background: rgba(61,84,48,0.25); color: #7CAF5A; }
    .cat-special       { background: rgba(123,75,148,0.2); color: #C49BE0; }
    .cat-seasonal      { background: rgba(58,125,107,0.2); color: #6BBEA9; }
    .cat-daily-special { background: rgba(180,90,60,0.18); color: #E8956A; }

    /* Featured event */
    .event-card.featured {
      grid-column: span 2;
      flex-direction: row;
      background: linear-gradient(135deg, rgba(26,32,21,0.9) 0%, rgba(28,16,8,0.95) 100%);
      border-color: rgba(200,133,46,0.3);
    }
    @media(max-width: 680px){ .event-card.featured { grid-column: span 1; flex-direction: column; } }
    .event-card.featured .event-card-top { flex: 1; padding: 1.6rem; align-items: flex-start; flex-direction: column; gap: 0.8rem; }
    .event-card.featured .event-date-badge { background: rgba(200,133,46,0.2); }
    .event-card.featured .event-card-info h3 { font-size: 1.5rem; }
    .event-card.featured .event-card-footer { border-left: 1px solid rgba(200,133,46,0.15); border-top: none; flex-direction: column; gap: 1rem; padding: 1.6rem; min-width: 160px; align-items: flex-start; justify-content: flex-start; }
    @media(max-width: 680px){ .event-card.featured .event-card-footer { border-left: none; border-top: 1px solid rgba(200,133,46,0.15); flex-direction: row; align-items: center; } }
    .featured-star { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.3rem; }

    /* ═══════════════════════════════════════════
       FOOD TEASER
    ═══════════════════════════════════════════ */
    .food-section {
      padding: 7rem 2rem;
      max-width: 1160px;
      margin: 0 auto;
    }
    .food-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 1.5rem;
      margin-top: 3.5rem;
    }
    @media(max-width: 780px){ .food-grid { grid-template-columns: 1fr; } }

    .food-card {
      border: 1px solid rgba(200,133,46,0.12);
      border-radius: 4px;
      overflow: hidden;
      background: rgba(242,232,213,0.03);
      transition: border-color 0.25s, transform 0.25s;
    }
    .food-card:hover { border-color: rgba(200,133,46,0.3); transform: translateY(-3px); }

    .food-card-visual {
      height: 180px;
      position: relative;
      overflow: hidden;
    }

    /* CSS-only food illustrations */
    .food-spirits .food-card-visual {
      background: linear-gradient(145deg, #2A1A08 0%, #3D2510 60%, #1C1008 100%);
    }
    .food-dining .food-card-visual {
      background: linear-gradient(145deg, #1A2015 0%, #2C3A20 60%, #1A2015 100%);
    }
    .food-cocktails .food-card-visual {
      background: linear-gradient(145deg, #1C1008 0%, #2C1A0E 60%, #3D2510 100%);
    }

    /* Decorative elements inside food visuals */
    .food-card-visual::before {
      content: '';
      position: absolute;
      inset: 0;
    }
    .food-spirits .food-card-visual::before {
      background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(200,133,46,0.25) 0%, transparent 65%);
    }
    .food-dining .food-card-visual::before {
      background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(61,84,48,0.3) 0%, transparent 65%);
    }
    .food-cocktails .food-card-visual::before {
      background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(233,185,110,0.2) 0%, transparent 65%);
    }

    .food-icon {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -60%);
      width: 56px; height: 56px;
      opacity: 0.7;
    }

    .food-card-body { padding: 1.3rem; }
    .food-card-body h3 {
      font-family: var(--font-display);
      font-size: 1.25rem;
      font-weight: 600;
      color: var(--cream);
      margin-bottom: 0.4rem;
    }
    .food-card-body p {
      font-size: 0.9rem;
      font-weight: 300;
      color: var(--smoke);
      line-height: 1.65;
    }
    .food-link {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      margin-top: 0.9rem;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--amber);
      transition: color 0.2s, gap 0.2s;
    }
    .food-link:hover { color: var(--gold); gap: 0.6rem; }

    /* ═══════════════════════════════════════════
       TESTIMONIAL
    ═══════════════════════════════════════════ */
    .testimonial-section {
      background: linear-gradient(160deg, var(--forest) 0%, rgba(44,26,14,0.6) 100%);
      border-top: 1px solid rgba(200,133,46,0.12);
      border-bottom: 1px solid rgba(200,133,46,0.12);
      padding: 6rem 2rem;
      text-align: center;
    }
    .testimonial-section blockquote {
      font-family: var(--font-display);
      font-style: italic;
      font-size: clamp(1.4rem, 3vw, 2.1rem);
      font-weight: 400;
      line-height: 1.55;
      color: var(--cream);
      max-width: 780px;
      margin: 1.5rem auto 1rem;
    }
    .testimonial-section blockquote::before { content: '\201C'; color: var(--gold); margin-right: 2px; }
    .testimonial-section blockquote::after  { content: '\201D'; color: var(--gold); margin-left: 2px; }
    .testimonial-section cite {
      font-size: 0.72rem;
      font-style: normal;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--smoke);
    }

    /* ═══════════════════════════════════════════
       LOCATION & HOURS
    ═══════════════════════════════════════════ */
    .location-section {
      padding: 7rem 2rem;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: start;
    }
    @media(max-width: 820px){ .location-section { grid-template-columns: 1fr; gap: 3rem; padding: 5rem 1.5rem; } }

    .location-section h2 {
      font-family: var(--font-display);
      font-size: clamp(1.8rem, 3.5vw, 2.5rem);
      font-weight: 600;
      color: var(--cream);
      line-height: 1.1;
    }
    .location-section h2 em { font-style: italic; color: var(--gold); }

    .hours-table {
      margin-top: 2rem;
      width: 100%;
      border-collapse: collapse;
    }
    .hours-table tr {
      border-bottom: 1px solid rgba(200,133,46,0.08);
    }
    .hours-table td {
      padding: 0.7rem 0;
      font-size: 0.95rem;
      font-weight: 300;
      color: rgba(242,232,213,0.7);
    }
    .hours-table td:first-child {
      font-weight: 600;
      color: var(--cream);
      width: 50%;
    }
    .hours-table tr.today td { color: var(--gold); }
    .hours-table tr.today td:first-child { color: var(--gold); }

    .location-address {
      margin-top: 2rem;
    }
    .location-address p {
      font-size: 0.95rem;
      font-weight: 300;
      line-height: 1.8;
      color: rgba(242,232,213,0.7);
    }
    .location-address strong { color: var(--cream); font-weight: 600; }

    /* Map placeholder — CSS atmospheric box */
    .map-placeholder {
      position: relative;
      height: 320px;
      border: 1px solid rgba(200,133,46,0.2);
      border-radius: 4px;
      overflow: hidden;
      background: linear-gradient(160deg, #0D1409 0%, #1A2015 50%, #1C1008 100%);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .map-placeholder::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 50% 50% at 50% 50%, rgba(200,133,46,0.08) 0%, transparent 70%);
    }
    .map-pin {
      position: relative;
      z-index: 1;
      text-align: center;
    }
    .map-pin svg { width: 36px; height: 36px; opacity: 0.7; margin: 0 auto 0.75rem; }
    .map-pin p {
      font-size: 0.72rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--smoke);
    }
    .map-pin a {
      display: inline-block;
      margin-top: 0.7rem;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--amber);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    /* ═══════════════════════════════════════════
       NEWSLETTER STRIP
    ═══════════════════════════════════════════ */
    .newsletter {
      background: var(--forest);
      border-top: 1px solid rgba(200,133,46,0.15);
      padding: 4rem 2rem;
      text-align: center;
    }
    .newsletter h3 {
      font-family: var(--font-display);
      font-size: 1.9rem;
      font-weight: 600;
      color: var(--cream);
    }
    .newsletter h3 em { font-style: italic; color: var(--gold); }
    .newsletter p {
      margin-top: 0.6rem;
      font-size: 1rem;
      font-weight: 300;
      color: var(--smoke);
    }
    .newsletter-form {
      margin-top: 2rem;
      display: flex;
      justify-content: center;
      gap: 0;
      max-width: 440px;
      margin-left: auto;
      margin-right: auto;
    }
    .newsletter-input {
      flex: 1;
      padding: 0.85rem 1.2rem;
      background: rgba(242,232,213,0.07);
      border: 1.5px solid rgba(200,133,46,0.3);
      border-right: none;
      color: var(--cream);
      font-family: var(--font-body);
      font-size: 0.9rem;
      border-radius: 2px 0 0 2px;
      outline: none;
      transition: border-color 0.2s;
    }
    .newsletter-input::placeholder { color: var(--smoke); }
    .newsletter-input:focus { border-color: var(--amber); }
    .newsletter-submit {
      padding: 0.85rem 1.4rem;
      background: var(--amber);
      color: #fff;
      font-family: var(--font-body);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      border-radius: 0 2px 2px 0;
      transition: background 0.2s;
      white-space: nowrap;
    }
    .newsletter-submit:hover { background: #A86E22; }

    /* ═══════════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════════ */
    .footer {
      background: #120A04;
      border-top: 1px solid rgba(200,133,46,0.12);
      padding: 4rem 2rem 2.5rem;
    }
    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
      gap: 3rem;
      padding-bottom: 3rem;
      border-bottom: 1px solid rgba(200,133,46,0.08);
    }
    @media(max-width: 820px){ .footer-inner { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
    @media(max-width: 480px){ .footer-inner { grid-template-columns: 1fr; } }

    .footer-brand .logo {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--cream);
      letter-spacing: 0.02em;
    }
    .footer-brand .tagline {
      margin-top: 0.35rem;
      font-size: 0.62rem;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .footer-brand p {
      margin-top: 1rem;
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.7;
      color: rgba(160, 146, 122, 0.75);
    }
    .footer-socials {
      display: flex;
      gap: 0.8rem;
      margin-top: 1.3rem;
    }
    .social-icon {
      width: 34px; height: 34px;
      border: 1px solid rgba(200,133,46,0.25);
      border-radius: 2px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: border-color 0.2s, background 0.2s;
    }
    .social-icon:hover { border-color: var(--amber); background: rgba(200,133,46,0.1); }
    .social-icon svg { width: 15px; height: 15px; }

    .footer-col h4 {
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1.1rem;
    }
    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 0.55rem; }
    .footer-col ul a {
      font-size: 0.88rem;
      font-weight: 300;
      color: rgba(160,146,122,0.75);
      transition: color 0.2s;
    }
    .footer-col ul a:hover { color: var(--cream); }
    .footer-col address {
      font-size: 0.88rem;
      font-weight: 300;
      font-style: normal;
      line-height: 1.8;
      color: rgba(160,146,122,0.75);
    }
    .footer-col address strong { color: var(--cream); font-weight: 600; display: block; margin-bottom: 0.2rem; }

    .footer-bottom {
      max-width: 1100px;
      margin: 1.8rem auto 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .footer-bottom p {
      font-size: 0.72rem;
      color: rgba(160,146,122,0.4);
      letter-spacing: 0.06em;
    }
    .footer-bottom a { color: rgba(160,146,122,0.55); transition: color 0.2s; }
    .footer-bottom a:hover { color: var(--smoke); }

    /* ═══════════════════════════════════════════
       RESPONSIVE ADJUSTMENTS
    ═══════════════════════════════════════════ */
    @media(max-width: 600px) {
      .hero-title { font-size: 2.4rem; }
      .intro-strip { gap: 2rem; }
      .newsletter-form { flex-direction: column; }
      .newsletter-input { border-right: 1.5px solid rgba(200,133,46,0.3); border-radius: 2px; }
      .newsletter-submit { border-radius: 2px; }
    }

/* ════════════════════════════════════════════════════════════
   FOOD MENU PAGE
════════════════════════════════════════════════════════════ */
    /* PAGE HEADER */
    .page-header{position:relative;padding:10rem 2rem 5rem;text-align:center;overflow:hidden}
    .page-header-bg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 55% at 50% 100%,rgba(28,16,8,.99) 0%,transparent 68%),radial-gradient(ellipse 50% 50% at 15% 35%,rgba(61,84,48,.14) 0%,transparent 55%),linear-gradient(170deg,#120D05 0%,#1A1209 40%,#1C1008 100%)}
    .page-header-bg::after{content:'';position:absolute;inset:0;background-image:radial-gradient(1px 1px at 18% 14%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 42% 7%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 67% 19%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(2px 2px at 55% 4%,rgba(233,185,110,.6) 0%,transparent 100%)}
    .page-header svg.ridge{position:absolute;bottom:0;left:0;right:0;width:100%;height:auto}
    .page-header-content{position:relative;z-index:2}
    .page-header h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.2rem);font-weight:700;line-height:1;color:var(--cream);animation:fadeUp .9s var(--ease-out) .2s both}
    .page-header h1 em{font-style:italic;color:var(--gold)}
    .page-header .sub{margin-top:1rem;font-size:1rem;font-weight:300;line-height:1.7;color:rgba(242,232,213,.6);max-width:480px;margin-left:auto;margin-right:auto;animation:fadeUp .9s var(--ease-out) .35s both}
    /* STICKY NAV */
    .menu-nav-wrap{background:var(--forest);border-bottom:1px solid rgba(200,133,46,.14);position:sticky;top:62px;z-index:50;overflow-x:auto;scrollbar-width:none}
    .menu-nav-wrap::-webkit-scrollbar{display:none}
    .menu-nav{display:flex;align-items:center;max-width:1100px;margin:0 auto;padding:0 2rem;gap:0;min-width:max-content}
    .menu-nav a{display:block;padding:1rem 1.3rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,232,213,.5);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
    .menu-nav a:hover{color:var(--cream)}
    .menu-nav a.active{color:var(--gold);border-bottom-color:var(--amber)}
    /* INFO BAR */
    .info-bar{max-width:1100px;margin:2.5rem auto 0;padding:0 2rem;display:flex;gap:2rem;flex-wrap:wrap;align-items:center;justify-content:space-between}
    .info-note{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;font-weight:300;line-height:1.55;color:var(--smoke);max-width:560px}
    .info-note svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--amber)}
    .info-chips{display:flex;gap:.5rem;flex-wrap:wrap}
    .info-chip{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.28rem .7rem;border-radius:2px;border:1px solid rgba(200,133,46,.22);color:rgba(242,232,213,.5)}
    /* LATE NIGHT CALLOUT */
    .late-night-callout{max-width:1100px;margin:1.8rem auto 0;padding:0 2rem}
    .late-night-callout-inner{display:flex;align-items:flex-start;gap:.85rem;padding:.95rem 1.2rem;background:rgba(200,133,46,.07);border-left:2px solid rgba(200,133,46,.5);border-radius:0 3px 3px 0}
    .late-night-callout-inner svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--amber);opacity:.85}
    .late-night-callout-inner p{margin:0;font-size:.84rem;font-weight:300;line-height:1.6;color:var(--smoke)}
    .late-night-callout-inner p strong{font-weight:600;color:var(--gold);font-style:italic}
    /* MENU BODY */
    .menu-body{max-width:1100px;margin:0 auto;padding:3rem 2rem 5rem}
    .menu-section{margin-bottom:4.5rem;scroll-margin-top:120px}
    .menu-section-header{margin-bottom:.5rem}
    .menu-section-header h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:700;line-height:1;color:var(--cream)}
    .menu-section-header h2 em{font-style:italic;color:var(--gold)}
    .section-rule{width:48px;height:2px;background:linear-gradient(90deg,var(--amber),var(--gold));border-radius:2px;margin:.7rem 0 .4rem}
    .menu-section-note{font-size:.88rem;font-weight:300;font-style:italic;color:var(--smoke);line-height:1.5;margin-bottom:1.6rem}
    .menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
    @media(max-width:700px){.menu-grid{grid-template-columns:1fr}}
    .menu-item{padding:1.05rem 1.2rem 1.05rem 0;border-bottom:1px solid rgba(200,133,46,.07);display:flex;flex-direction:column;gap:.2rem}
    @media(min-width:701px){.menu-grid .menu-item:nth-child(2n){padding-left:1.8rem;border-left:1px solid rgba(200,133,46,.07)}}
    .menu-item:last-child,.menu-item:nth-last-child(2):nth-child(odd){border-bottom-color:transparent}
    .item-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
    .item-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--cream);line-height:1.25;flex:1}
    .item-name sup{font-size:.65rem;color:var(--amber);vertical-align:super}
    .item-price{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--gold);white-space:nowrap;flex-shrink:0}
    .item-desc{font-size:.85rem;font-weight:300;color:var(--smoke);line-height:1.55}
    .item-sub{font-size:.78rem;font-weight:300;color:rgba(160,146,122,.6);line-height:1.45;font-style:italic}
    .item-mods{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}
    .mod-tag{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.18rem .5rem;background:rgba(200,133,46,.1);color:rgba(200,133,46,.8);border-radius:2px}
    .topping-tag{font-size:.72rem;font-weight:400;padding:.22rem .65rem;border:1px solid rgba(200,133,46,.18);border-radius:2px;color:rgba(242,232,213,.55)}
    .menu-item.full-width{grid-column:1/-1;padding-right:0;border-left:none!important;border-bottom:1px solid rgba(200,133,46,.12)}
    .menu-item.full-width .item-top{flex-wrap:wrap}
    .menu-subsection{grid-column:1/-1;margin:2rem 0 0;padding:.55rem 0 .35rem;font-size:.65rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);border-top:1.5px solid rgba(200,133,46,.22);border-bottom:1px solid rgba(200,133,46,.12);display:flex;align-items:center;gap:.75rem}
    .menu-subsection::after{content:'';flex:1;height:1px;background:linear-gradient(to right,rgba(200,133,46,.15),transparent)}
    .menu-section > .menu-grid > .menu-subsection:first-child{margin-top:.4rem}
    .section-divider{height:1px;background:linear-gradient(to right,rgba(200,133,46,.2),transparent);margin:0 0 4rem}
    .sides-banner{background:rgba(200,133,46,.07);border:1px solid rgba(200,133,46,.18);border-radius:3px;padding:1rem 1.4rem;margin-bottom:2.2rem;font-size:.88rem;font-weight:300;color:rgba(242,232,213,.7);line-height:1.6}
    .sides-banner strong{color:var(--cream);font-weight:600}
    .raw-disclaimer{max-width:1100px;margin:0 auto;padding:0 2rem 4rem}
    .raw-disclaimer p{font-size:.78rem;font-weight:300;color:rgba(160,146,122,.55);line-height:1.7;border-top:1px solid rgba(200,133,46,.08);padding-top:1.2rem}
    .raw-disclaimer p:not(:first-child){border-top:none;padding-top:0}
    .raw-disclaimer strong{font-weight:700;color:rgba(160,146,122,.75)}
    .wifi-callout{display:inline-flex;align-items:center;gap:.55rem;background:rgba(242,232,213,.04);border:1px solid rgba(200,133,46,.15);border-radius:3px;padding:.55rem 1rem;font-size:.78rem;font-weight:400;color:var(--smoke)}
    .wifi-callout svg{width:14px;height:14px;color:var(--amber)}
    .wifi-callout strong{color:var(--cream)}
    @media(max-width:600px){.info-bar{flex-direction:column;align-items:flex-start}}
    /* DAILY SPECIALS */
    .specials-wrap{max-width:1100px;margin:2rem auto 0;padding:0 2rem}
    .specials-block{background:linear-gradient(135deg,rgba(28,16,8,.95) 0%,rgba(26,32,21,.9) 100%);border:1px solid rgba(200,133,46,.35);border-radius:6px;overflow:hidden}
    .specials-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem .8rem;border-bottom:1px solid rgba(200,133,46,.2);background:rgba(200,133,46,.07)}
    .specials-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--amber)}
    .specials-title{font-family:var(--font-display);font-size:1.3rem;font-style:italic;font-weight:700;color:var(--cream);line-height:1}
    .specials-date{margin-left:auto;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(160,146,122,.5)}
    .specials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
    .special-item{padding:1.1rem 1.5rem;border-right:1px solid rgba(200,133,46,.1)}
    .special-item:last-child{border-right:none}
    .special-category{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:.35rem}
    .special-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--cream);line-height:1.2;margin-bottom:.3rem}
    .special-desc{font-size:.8rem;font-weight:300;color:var(--smoke);line-height:1.5;margin-bottom:.4rem}
    .special-price{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--gold)}
    @media(max-width:700px){.specials-grid{grid-template-columns:1fr}.special-item{border-right:none;border-bottom:1px solid rgba(200,133,46,.1)}.special-item:last-child{border-bottom:none}}

/* ════════════════════════════════════════════════════════════
   DRINKS PAGE
════════════════════════════════════════════════════════════ */
    :root{--amber:#C8852E;--gold:#E9B96E;--cream:#F2E8D5;--bark:#1C1008;--forest:#1A2015;--moss:#3D5430;--smoke:#A0927A;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Crimson Pro',Georgia,serif;--ease-out:cubic-bezier(0.22,1,0.36,1)}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{background:var(--bark);color:var(--cream);font-family:var(--font-body);overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    .eyebrow{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out)}
    .reveal.visible{opacity:1;transform:none}
    @keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
    /* NAV */
    .nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;transition:background .4s,padding .4s}
    .nav.scrolled{background:rgba(28,16,8,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.9rem 3rem;border-bottom:1px solid rgba(200,133,46,.15)}
    .nav-logo{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--cream);line-height:1.1}
    .nav-logo span{display:block;font-size:.62rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:1px}
    .nav-links{display:flex;gap:2.2rem;list-style:none}
    .nav-links a{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,232,213,.75);transition:color .2s;position:relative}
    .nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s var(--ease-out)}
    .nav-links a:hover,.nav-links a.active{color:var(--cream)}
    .nav-links a.active::after,.nav-links a:hover::after{transform:scaleX(1)}
    .nav-cta{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(200,133,46,.5);padding:.5rem 1.1rem;border-radius:2px;transition:background .2s,color .2s}
    .nav-cta:hover{background:var(--amber);color:#fff;border-color:var(--amber)}
    .nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
    .nav-burger span{display:block;width:24px;height:2px;background:var(--cream);border-radius:2px;transition:transform .3s,opacity .3s}
    .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .nav-burger.open span:nth-child(2){opacity:0}
    .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .nav-mobile{display:none;position:fixed;inset:0;background:var(--bark);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
    .nav-mobile.open{display:flex}
    .nav-mobile a{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--cream);transition:color .2s}
    .nav-mobile a:hover{color:var(--gold)}
    @media(max-width:860px){.nav-links,.nav-cta{display:none}.nav-burger{display:flex}.nav{padding:1.2rem 1.5rem}.nav.scrolled{padding:.9rem 1.5rem}}
    /* PAGE HEADER */
    .page-header{position:relative;padding:10rem 2rem 5rem;text-align:center;overflow:hidden}
    .page-header-bg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 55% at 50% 100%,rgba(28,16,8,.99) 0%,transparent 68%),radial-gradient(ellipse 50% 50% at 15% 35%,rgba(61,84,48,.14) 0%,transparent 55%),linear-gradient(170deg,#120D05 0%,#1A1209 40%,#1C1008 100%)}
    .page-header-bg::after{content:'';position:absolute;inset:0;background-image:radial-gradient(1px 1px at 18% 14%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 42% 7%,rgba(255,255,255,.4) 0%,transparent 100%),radial-gradient(1px 1px at 67% 19%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(2px 2px at 55% 4%,rgba(233,185,110,.6) 0%,transparent 100%)}
    .page-header svg.ridge{position:absolute;bottom:0;left:0;right:0;width:100%;height:auto}
    .page-header-content{position:relative;z-index:2}
    .page-header h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.2rem);font-weight:700;line-height:1;color:var(--cream);animation:fadeUp .9s var(--ease-out) .2s both}
    .page-header h1 em{font-style:italic;color:var(--gold)}
    .page-header .sub{margin-top:1rem;font-size:1rem;font-weight:300;line-height:1.7;color:rgba(242,232,213,.6);max-width:480px;margin-left:auto;margin-right:auto;animation:fadeUp .9s var(--ease-out) .35s both}
    /* STICKY SECTION NAV */
    .menu-nav-wrap{background:var(--forest);border-bottom:1px solid rgba(200,133,46,.14);position:sticky;top:62px;z-index:50;overflow-x:auto;scrollbar-width:none}
    .menu-nav-wrap::-webkit-scrollbar{display:none}
    .menu-nav{display:flex;align-items:center;max-width:1100px;margin:0 auto;padding:0 2rem;gap:0;min-width:max-content}
    .menu-nav a{display:block;padding:1rem 1.3rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,232,213,.5);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
    .menu-nav a:hover{color:var(--cream)}
    .menu-nav a.active{color:var(--gold);border-bottom-color:var(--amber)}
    /* MAIN BODY */
    .menu-body{max-width:1100px;margin:0 auto;padding:3rem 2rem 5rem}
    .menu-section{margin-bottom:4.5rem;scroll-margin-top:120px}
    .menu-section-header{margin-bottom:.5rem}
    .menu-section-header h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:700;line-height:1;color:var(--cream)}
    .menu-section-header h2 em{font-style:italic;color:var(--gold)}
    .section-rule{width:48px;height:2px;background:linear-gradient(90deg,var(--amber),var(--gold));border-radius:2px;margin:.7rem 0 .4rem}
    .menu-section-note{font-size:.88rem;font-weight:300;font-style:italic;color:var(--smoke);line-height:1.55;margin-bottom:1.6rem}
    .section-divider{height:1px;background:linear-gradient(to right,rgba(200,133,46,.2),transparent);margin:0 0 4rem}
    /* SUBSECTION LABEL */
    .drink-subsection{padding:.8rem 0 .3rem;font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid rgba(200,133,46,.12);margin-bottom:.2rem}
    /* COCKTAIL CARDS */
    .cocktail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
    @media(max-width:640px){.cocktail-grid{grid-template-columns:1fr}}
    .cocktail-card{background:rgba(242,232,213,.03);border:1px solid rgba(200,133,46,.12);border-radius:4px;padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s,background .2s}
    .cocktail-card:hover{border-color:rgba(200,133,46,.28);background:rgba(242,232,213,.05)}
    .cocktail-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
    .cocktail-name{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--cream);line-height:1.2;flex:1}
    .cocktail-price{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--gold);white-space:nowrap}
    .cocktail-desc{font-size:.85rem;font-weight:300;color:var(--smoke);line-height:1.6}
    .drink-opts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}
    .drink-opt{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;border:1px solid rgba(200,133,46,.25);border-radius:2px;color:rgba(200,133,46,.7)}
    /* STANDARD DRINK LIST */
    .drink-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
    @media(max-width:640px){.drink-grid{grid-template-columns:1fr}}
    .drink-item{padding:.75rem 1rem .75rem 0;border-bottom:1px solid rgba(200,133,46,.07);display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
    @media(min-width:641px){.drink-grid .drink-item:nth-child(2n){padding-left:1.5rem;border-left:1px solid rgba(200,133,46,.07)}}
    .drink-item:last-child,.drink-item:nth-last-child(2):nth-child(odd){border-bottom-color:transparent}
    .drink-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--cream);flex:1;line-height:1.3}
    .drink-name .dsuffix{font-weight:400;font-style:italic;font-size:.82rem;color:var(--smoke)}
    .drink-name .ddesc{display:block;font-family:var(--font-body);font-size:.78rem;font-weight:300;color:var(--smoke);line-height:1.45;margin-top:.12rem}
    .drink-name .dopts{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}
    .drink-name .dopt-tag{font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.14rem .45rem;border:1px solid rgba(200,133,46,.2);border-radius:2px;color:rgba(200,133,46,.65)}
    .drink-price{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--gold);white-space:nowrap;flex-shrink:0}
    /* BEER 3-COL */
    .beer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
    @media(max-width:860px){.beer-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:500px){.beer-grid{grid-template-columns:1fr}}
    .beer-grid .drink-item{padding:.65rem .8rem .65rem 0}
    @media(min-width:861px){
      .beer-grid .drink-item:nth-child(3n+2){padding-left:1.2rem;border-left:1px solid rgba(200,133,46,.07)}
      .beer-grid .drink-item:nth-child(3n){padding-left:1.2rem;border-left:1px solid rgba(200,133,46,.07)}
    }
    @media(min-width:501px) and (max-width:860px){
      .beer-grid .drink-item:nth-child(2n){padding-left:1.2rem;border-left:1px solid rgba(200,133,46,.07)}
    }
    /* FLIGHT CALLOUT */
    .flight-callout{background:rgba(200,133,46,.07);border:1px solid rgba(200,133,46,.18);border-radius:3px;padding:.9rem 1.3rem;margin-bottom:1.8rem;font-size:.85rem;font-weight:300;color:rgba(242,232,213,.7);line-height:1.6;display:flex;align-items:flex-start;gap:.7rem}
    .flight-callout svg{width:16px;height:16px;color:var(--amber);flex-shrink:0;margin-top:2px}
    .flight-callout strong{color:var(--cream);font-weight:600}
    /* FOOTER */
    .footer{background:#120A04;border-top:1px solid rgba(200,133,46,.12);padding:4rem 2rem 2.5rem}
    .footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(200,133,46,.08)}
    @media(max-width:820px){.footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem}}
    @media(max-width:480px){.footer-inner{grid-template-columns:1fr}}
    .footer-brand .logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--cream)}
    .footer-brand .tagline{margin-top:.35rem;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
    .footer-brand p{margin-top:1rem;font-size:.88rem;font-weight:300;line-height:1.7;color:rgba(160,146,122,.75)}
    .footer-col h4{font-size:.65rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
    .footer-col ul{list-style:none}
    .footer-col ul li{margin-bottom:.55rem}
    .footer-col ul a{font-size:.88rem;font-weight:300;color:rgba(160,146,122,.75);transition:color .2s}
    .footer-col ul a:hover{color:var(--cream)}
    .footer-col address{font-size:.88rem;font-weight:300;font-style:normal;line-height:1.8;color:rgba(160,146,122,.75)}
    .footer-col address strong{color:var(--cream);font-weight:600;display:block;margin-bottom:.2rem}
    .footer-bottom{max-width:1100px;margin:1.8rem auto 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
    .footer-bottom p{font-size:.72rem;color:rgba(160,146,122,.4);letter-spacing:.06em}
    .footer-bottom a{color:rgba(160,146,122,.55);transition:color .2s}
    .footer-bottom a:hover{color:var(--smoke)}

/* ════════════════════════════════════════════════════════════
   EVENTS PAGE
════════════════════════════════════════════════════════════ */
    /* ═══════════════════════════════════════════
       TOKENS  (identical to index.php)
    ═══════════════════════════════════════════ */
    :root {
      --amber:  #C8852E;
      --gold:   #E9B96E;
      --cream:  #F2E8D5;
      --bark:   #1C1008;
      --forest: #1A2015;
      --moss:   #3D5430;
      --smoke:  #A0927A;
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body:    'Crimson Pro', Georgia, serif;
      --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--bark); color: var(--cream); font-family: var(--font-body); overflow-x: hidden; }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }

    /* ── Shared utility ── */
    .eyebrow {
      display: inline-block; font-family: var(--font-body); font-size: 0.68rem;
      font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold);
    }
    .section-rule { width: 48px; height: 2px; background: linear-gradient(90deg, var(--amber), var(--gold)); border-radius: 2px; margin: 0.9rem 0 1.4rem; }
    .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out); }
    .reveal.visible { opacity: 1; transform: none; }

    /* ── Category tags ── */
    .cat-tag {
      display: inline-block; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.15em;
      text-transform: uppercase; padding: 0.22rem 0.6rem; border-radius: 2px;
    }
    .cat-live-music    { background: rgba(200,133,46,0.15); color: var(--gold); }
    .cat-brunch        { background: rgba(61,84,48,0.25);   color: #7CAF5A; }
    .cat-special       { background: rgba(123,75,148,0.2);  color: #C49BE0; }
    .cat-seasonal      { background: rgba(58,125,107,0.2);  color: #6BBEA9; }
    .cat-daily-special { background: rgba(180,90,60,0.18);  color: #E8956A; }

    /* ═══════════════════════════════════════════
       NAV  (copied exactly from index.php)
    ═══════════════════════════════════════════ */
    .nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.4rem 3rem;
      transition: background 0.4s, padding 0.4s, backdrop-filter 0.4s;
    }
    .nav.scrolled {
      background: rgba(28,16,8,0.92); backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px); padding: 0.9rem 3rem;
      border-bottom: 1px solid rgba(200,133,46,0.15);
    }
    .nav-logo { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; letter-spacing: 0.04em; color: var(--cream); line-height: 1.1; }
    .nav-logo span { display: block; font-size: 0.62rem; font-weight: 400; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-top: 1px; }
    .nav-links { display: flex; gap: 2.2rem; list-style: none; }
    .nav-links a { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(242,232,213,0.75); transition: color 0.2s; position: relative; }
    .nav-links a::after { content: ''; position: absolute; bottom: -3px; left: 0; right: 0; height: 1px; background: var(--gold); transform: scaleX(0); transition: transform 0.25s var(--ease-out); }
    .nav-links a:hover, .nav-links a.active { color: var(--cream); }
    .nav-links a.active::after, .nav-links a:hover::after { transform: scaleX(1); }
    .nav-cta { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(200,133,46,0.5); padding: 0.5rem 1.1rem; border-radius: 2px; transition: background 0.2s, color 0.2s; }
    .nav-cta:hover { background: var(--amber); color: #fff; border-color: var(--amber); }
    .nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; }
    .nav-burger span { display: block; width: 24px; height: 2px; background: var(--cream); border-radius: 2px; transition: transform 0.3s, opacity 0.3s; }
    .nav-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-burger.open span:nth-child(2) { opacity: 0; }
    .nav-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .nav-mobile { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--bark); z-index: 99; flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem; }
    .nav-mobile.open { display: flex; }
    .nav-mobile a { font-family: var(--font-display); font-size: 2rem; font-weight: 600; color: var(--cream); transition: color 0.2s; }
    .nav-mobile a:hover { color: var(--gold); }
    @media(max-width:860px) {
      .nav-links, .nav-cta { display: none; }
      .nav-burger { display: flex; }
      .nav { padding: 1.2rem 1.5rem; }
      .nav.scrolled { padding: 0.9rem 1.5rem; }
    }

    /* ═══════════════════════════════════════════
       PAGE HEADER
    ═══════════════════════════════════════════ */
    .page-header {
      position: relative;
      padding: 10rem 2rem 5rem;
      text-align: center;
      overflow: hidden;
    }
    .page-header-bg {
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 100% 60% at 50% 100%, rgba(26,32,21,0.98) 0%, transparent 70%),
        radial-gradient(ellipse 60% 50% at 25% 40%, rgba(61,84,48,0.15) 0%, transparent 55%),
        radial-gradient(ellipse 50% 60% at 75% 30%, rgba(200,133,46,0.08) 0%, transparent 55%),
        linear-gradient(175deg, #0A1106 0%, #151E10 40%, #1C1008 100%);
    }
    /* Stars */
    .page-header-bg::after {
      content: '';
      position: absolute; inset: 0;
      background-image:
        radial-gradient(1px 1px at 12% 15%, rgba(255,255,255,0.55) 0%, transparent 100%),
        radial-gradient(1px 1px at 38% 8%,  rgba(255,255,255,0.45) 0%, transparent 100%),
        radial-gradient(1px 1px at 65% 20%, rgba(255,255,255,0.6)  0%, transparent 100%),
        radial-gradient(1px 1px at 85% 10%, rgba(255,255,255,0.4)  0%, transparent 100%),
        radial-gradient(1px 1px at 52% 5%,  rgba(233,185,110,0.65) 0%, transparent 100%),
        radial-gradient(1px 1px at 22% 28%, rgba(255,255,255,0.35) 0%, transparent 100%),
        radial-gradient(1px 1px at 78% 18%, rgba(255,255,255,0.5)  0%, transparent 100%);
    }
    /* Ridge silhouette */
    .page-header svg.ridge {
      position: absolute; bottom: 0; left: 0; right: 0; width: 100%; height: auto;
    }
    .page-header-content {
      position: relative; z-index: 2;
    }
    .page-header h1 {
      font-family: var(--font-display);
      font-size: clamp(2.5rem, 6vw, 4.2rem);
      font-weight: 700; line-height: 1;
      color: var(--cream);
      animation: fadeUp 0.9s var(--ease-out) 0.2s both;
    }
    .page-header h1 em { font-style: italic; color: var(--gold); }
    .page-header p {
      margin-top: 1rem;
      font-size: 1.05rem; font-weight: 300; line-height: 1.7;
      color: rgba(242,232,213,0.6);
      max-width: 500px; margin-left: auto; margin-right: auto;
      animation: fadeUp 0.9s var(--ease-out) 0.38s both;
    }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

    /* ═══════════════════════════════════════════
       FILTER BAR
    ═══════════════════════════════════════════ */
    .filter-wrap {
      background: var(--forest);
      border-bottom: 1px solid rgba(200,133,46,0.12);
      position: sticky; top: 62px; z-index: 50;
    }
    .filter-inner {
      max-width: 1100px; margin: 0 auto;
      padding: 0 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      flex-wrap: wrap;
    }
    .filter-pills {
      display: flex; gap: 0.4rem; flex-wrap: wrap;
      padding: 0.9rem 0;
    }
    .filter-pill {
      padding: 0.38rem 1rem;
      border-radius: 2px;
      border: 1px solid rgba(200,133,46,0.22);
      background: transparent;
      color: rgba(242,232,213,0.55);
      font-family: var(--font-body);
      font-size: 0.72rem; font-weight: 600;
      letter-spacing: 0.15em; text-transform: uppercase;
      cursor: pointer;
      transition: background 0.18s, color 0.18s, border-color 0.18s;
      text-decoration: none;
    }
    .filter-pill:hover { color: var(--cream); border-color: rgba(200,133,46,0.5); }
    .filter-pill.active { background: var(--amber); color: #fff; border-color: var(--amber); }

    .filter-count {
      font-size: 0.72rem; font-weight: 300;
      color: var(--smoke); letter-spacing: 0.1em;
      white-space: nowrap; padding: 0.9rem 0;
    }
    .filter-count strong { color: var(--gold); font-weight: 600; }

    /* ═══════════════════════════════════════════
       FEATURED HERO EVENT
    ═══════════════════════════════════════════ */
    .featured-hero {
      max-width: 1100px; margin: 3.5rem auto 0;
      padding: 0 2rem;
    }
    .featured-card {
      position: relative;
      background: linear-gradient(130deg, #1A2015 0%, #2A1A0E 55%, #1C1008 100%);
      border: 1px solid rgba(200,133,46,0.28);
      border-radius: 6px;
      overflow: hidden;
      display: flex;
      gap: 0;
    }
    /* Amber left accent bar */
    .featured-card::before {
      content: '';
      position: absolute; top: 0; left: 0; bottom: 0;
      width: 4px;
      background: linear-gradient(to bottom, var(--amber), var(--gold));
    }
    /* Atmospheric glow */
    .featured-card::after {
      content: '';
      position: absolute; top: -40px; right: -40px;
      width: 280px; height: 280px;
      background: radial-gradient(circle, rgba(200,133,46,0.1) 0%, transparent 70%);
      pointer-events: none;
    }
    .featured-card-body {
      flex: 1; padding: 2.2rem 2.2rem 2.2rem 2.6rem;
    }
    .featured-label {
      font-size: 0.62rem; font-weight: 700; letter-spacing: 0.28em;
      text-transform: uppercase; color: var(--gold);
      display: flex; align-items: center; gap: 0.4rem;
      margin-bottom: 1rem;
    }
    .featured-label::before {
      content: '★'; font-size: 0.7rem;
    }
    .featured-card h2 {
      font-family: var(--font-display);
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 700; line-height: 1.1;
      color: var(--cream);
    }
    .featured-card p.feat-desc {
      margin-top: 0.75rem;
      font-size: 1rem; font-weight: 300;
      line-height: 1.7; color: rgba(242,232,213,0.65);
      max-width: 520px;
    }
    .featured-meta {
      margin-top: 1.4rem;
      display: flex; flex-wrap: wrap;
      gap: 1.4rem; align-items: center;
    }
    .featured-meta-item {
      display: flex; align-items: center; gap: 0.45rem;
      font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.08em; color: rgba(242,232,213,0.7);
    }
    .featured-meta-item svg { width: 14px; height: 14px; color: var(--gold); flex-shrink: 0; }
    .featured-meta-item span { color: var(--cream); }

    .featured-aside {
      width: 220px; flex-shrink: 0;
      background: rgba(0,0,0,0.2);
      border-left: 1px solid rgba(200,133,46,0.12);
      padding: 2.2rem;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      text-align: center; gap: 1.2rem;
    }
    @media(max-width: 680px) {
      .featured-card { flex-direction: column; }
      .featured-aside { width: 100%; border-left: none; border-top: 1px solid rgba(200,133,46,0.12); flex-direction: row; justify-content: space-between; flex-wrap: wrap; }
    }
    .big-date {
      text-align: center;
    }
    .big-date .bd-month { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); }
    .big-date .bd-day   { font-family: var(--font-display); font-size: 4rem; font-weight: 700; line-height: 1; color: var(--cream); }
    .big-date .bd-wday  { font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--smoke); }
    .reserve-btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
      width: 100%; padding: 0.75rem 1rem;
      background: var(--amber); color: #fff;
      font-family: var(--font-body); font-size: 0.72rem; font-weight: 700;
      letter-spacing: 0.18em; text-transform: uppercase;
      border: none; border-radius: 2px; cursor: pointer;
      transition: background 0.2s; text-decoration: none;
    }
    .reserve-btn:hover { background: #A86E22; }

    /* ═══════════════════════════════════════════
       MONTH GROUPS + EVENT ROWS
    ═══════════════════════════════════════════ */
    .calendar-body {
      max-width: 1100px; margin: 0 auto;
      padding: 3rem 2rem 5rem;
    }

    .month-group { margin-bottom: 3.5rem; }

    .month-heading {
      display: flex; align-items: center; gap: 1.2rem;
      margin-bottom: 1.2rem;
    }
    .month-heading h3 {
      font-family: var(--font-display);
      font-size: 1.6rem; font-weight: 600;
      color: var(--cream); letter-spacing: 0.02em;
      white-space: nowrap;
    }
    .month-heading h3 em { font-style: italic; color: var(--gold); }
    .month-rule {
      flex: 1; height: 1px;
      background: linear-gradient(to right, rgba(200,133,46,0.3), transparent);
    }

    /* Event rows */
    .event-row {
      display: grid;
      grid-template-columns: 72px 1px 1fr auto;
      gap: 0 1.4rem;
      align-items: stretch;
      padding: 1.1rem 0;
      border-bottom: 1px solid rgba(200,133,46,0.07);
      transition: background 0.2s;
      border-radius: 3px;
      cursor: default;
    }
    .event-row:last-child { border-bottom: none; }
    .event-row:hover { background: rgba(242,232,213,0.03); }

    /* Date column */
    .er-date {
      text-align: center; padding: 0.2rem 0;
    }
    .er-date .mo { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--smoke); }
    .er-date .dy { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; line-height: 1; color: var(--cream); }
    .er-date .wd { font-size: 0.58rem; color: rgba(160,146,122,0.6); letter-spacing: 0.1em; text-transform: uppercase; }

    /* Today highlight */
    .event-row.is-today .er-date .dy { color: var(--gold); }
    .event-row.is-today .er-date .mo { color: var(--amber); }

    /* Vertical divider line */
    .er-line {
      width: 1px;
      background: linear-gradient(to bottom, rgba(200,133,46,0.3) 0%, rgba(200,133,46,0.05) 100%);
      border-radius: 1px;
      align-self: stretch;
    }
    .event-row.is-featured .er-line {
      background: linear-gradient(to bottom, var(--amber), rgba(200,133,46,0.1));
    }

    /* Main info */
    .er-info { padding: 0.15rem 0; min-width: 0; }
    .er-info h4 {
      font-family: var(--font-display);
      font-size: 1.15rem; font-weight: 600;
      color: var(--cream); line-height: 1.25;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .er-info .er-desc {
      margin-top: 0.25rem;
      font-size: 0.88rem; font-weight: 300;
      color: var(--smoke); line-height: 1.5;
      display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .er-info .er-badges {
      margin-top: 0.55rem;
      display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap;
    }

    /* Time / action column */
    .er-action {
      display: flex; flex-direction: column;
      align-items: flex-end; justify-content: center;
      gap: 0.5rem; padding: 0.2rem 0;
      min-width: 100px;
    }
    .er-time {
      font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.08em; color: rgba(242,232,213,0.6);
      white-space: nowrap; display: flex; align-items: center; gap: 0.3rem;
    }
    .er-time svg { width: 12px; height: 12px; }
    .er-reserve {
      font-size: 0.68rem; font-weight: 700; letter-spacing: 0.15em;
      text-transform: uppercase; color: var(--amber);
      text-decoration: none;
      display: flex; align-items: center; gap: 0.25rem;
      transition: color 0.18s;
    }
    .er-reserve:hover { color: var(--gold); }
    .featured-dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0; display: inline-block;
    }

    /* Mobile stacked layout for event rows */
    @media(max-width: 580px) {
      .event-row { grid-template-columns: 56px 1px 1fr; grid-template-rows: auto auto; }
      .er-action { grid-column: 3; grid-row: 2; flex-direction: row; align-items: center; justify-content: flex-start; padding-top: 0.3rem; }
      .er-info h4 { white-space: normal; }
    }

    /* ═══════════════════════════════════════════
       EMPTY STATE
    ═══════════════════════════════════════════ */
    .empty-state {
      text-align: center; padding: 5rem 2rem;
      max-width: 480px; margin: 0 auto;
    }
    .empty-state .es-icon {
      margin: 0 auto 1.5rem;
      width: 56px; height: 56px;
      border: 1px solid rgba(200,133,46,0.2);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .empty-state .es-icon svg { width: 26px; height: 26px; opacity: 0.5; }
    .empty-state h3 {
      font-family: var(--font-display);
      font-size: 1.6rem; font-weight: 600; color: var(--cream);
    }
    .empty-state p {
      margin-top: 0.6rem;
      font-size: 0.95rem; font-weight: 300;
      line-height: 1.7; color: var(--smoke);
    }
    .empty-state a {
      display: inline-flex; align-items: center; gap: 0.4rem;
      margin-top: 1.5rem;
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--amber);
      transition: color 0.2s;
    }
    .empty-state a:hover { color: var(--gold); }

    /* ═══════════════════════════════════════════
       NEWSLETTER BAR
    ═══════════════════════════════════════════ */
    .nl-bar {
      background: var(--forest);
      border-top: 1px solid rgba(200,133,46,0.15);
      padding: 3.5rem 2rem;
      text-align: center;
    }
    .nl-bar h3 { font-family: var(--font-display); font-size: 1.8rem; font-weight: 600; color: var(--cream); }
    .nl-bar h3 em { font-style: italic; color: var(--gold); }
    .nl-bar p { margin-top: 0.5rem; font-size: 0.95rem; font-weight: 300; color: var(--smoke); }
    .nl-form { margin: 1.6rem auto 0; display: flex; max-width: 420px; }
    .nl-input { flex: 1; padding: 0.8rem 1.1rem; background: rgba(242,232,213,0.07); border: 1.5px solid rgba(200,133,46,0.3); border-right: none; color: var(--cream); font-family: var(--font-body); font-size: 0.9rem; border-radius: 2px 0 0 2px; outline: none; transition: border-color 0.2s; }
    .nl-input::placeholder { color: var(--smoke); }
    .nl-input:focus { border-color: var(--amber); }
    .nl-submit { padding: 0.8rem 1.3rem; background: var(--amber); color: #fff; font-family: var(--font-body); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; border: none; border-radius: 0 2px 2px 0; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
    .nl-submit:hover { background: #A86E22; }
    @media(max-width: 480px) { .nl-form { flex-direction: column; } .nl-input { border-right: 1.5px solid rgba(200,133,46,0.3); border-radius: 2px; } .nl-submit { border-radius: 2px; } }

    /* ═══════════════════════════════════════════
       FOOTER  (identical to index.php)
    ═══════════════════════════════════════════ */
    .footer { background: #120A04; border-top: 1px solid rgba(200,133,46,0.12); padding: 4rem 2rem 2.5rem; }
    .footer-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(200,133,46,0.08); }
    @media(max-width:820px){ .footer-inner { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
    @media(max-width:480px){ .footer-inner { grid-template-columns: 1fr; } }
    .footer-brand .logo { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; color: var(--cream); letter-spacing: 0.02em; }
    .footer-brand .tagline { margin-top: 0.35rem; font-size: 0.62rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); }
    .footer-brand p { margin-top: 1rem; font-size: 0.88rem; font-weight: 300; line-height: 1.7; color: rgba(160,146,122,0.75); }
    .footer-socials { display: flex; gap: 0.8rem; margin-top: 1.3rem; }
    .social-icon { width: 34px; height: 34px; border: 1px solid rgba(200,133,46,0.25); border-radius: 2px; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s, background 0.2s; }
    .social-icon:hover { border-color: var(--amber); background: rgba(200,133,46,0.1); }
    .social-icon svg { width: 15px; height: 15px; }
    .footer-col h4 { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem; }
    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 0.55rem; }
    .footer-col ul a { font-size: 0.88rem; font-weight: 300; color: rgba(160,146,122,0.75); transition: color 0.2s; }
    .footer-col ul a:hover { color: var(--cream); }
    .footer-col address { font-size: 0.88rem; font-weight: 300; font-style: normal; line-height: 1.8; color: rgba(160,146,122,0.75); }
    .footer-col address strong { color: var(--cream); font-weight: 600; display: block; margin-bottom: 0.2rem; }
    .footer-bottom { max-width: 1100px; margin: 1.8rem auto 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
    .footer-bottom p { font-size: 0.72rem; color: rgba(160,146,122,0.4); letter-spacing: 0.06em; }
    .footer-bottom a { color: rgba(160,146,122,0.55); transition: color 0.2s; }
    .footer-bottom a:hover { color: var(--smoke); }
    /* -------------------------------------------
       SIDES SECTION
    ------------------------------------------- */
    .sides-avail-note {
      display: flex; align-items: center; gap: 0.45rem;
      font-size: 0.82rem; font-weight: 300; color: var(--smoke);
      margin: 0 0 1.6rem;
      padding: 0.6rem 0.9rem;
      background: rgba(200,133,46,0.05);
      border-left: 2px solid rgba(200,133,46,0.3);
      border-radius: 0 3px 3px 0;
    }
    .sides-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 1rem;
      margin-top: 1.4rem;
    }
    @media (max-width: 640px) { .sides-grid { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 400px) { .sides-grid { grid-template-columns: 1fr; } }
    .sides-subsection {
      grid-column: 1 / -1;
      margin: 1.6rem 0 0;
      padding: .5rem 0 .32rem;
      font-size: .63rem;
      font-weight: 700;
      letter-spacing: .24em;
      text-transform: uppercase;
      color: var(--amber);
      border-top: 1.5px solid rgba(200,133,46,.22);
      border-bottom: 1px solid rgba(200,133,46,.12);
      display: flex;
      align-items: center;
      gap: .7rem;
    }
    .sides-subsection::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, rgba(200,133,46,.15), transparent);
    }
    .sides-grid > .sides-subsection:first-child { margin-top: .2rem; }
    .side-card {
      background: rgba(26,32,21,0.5);
      border: 1px solid rgba(200,133,46,0.16);
      border-radius: 5px;
      padding: 1rem 1.1rem;
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      transition: border-color 0.2s, transform 0.2s;
    }
    .side-card:hover { border-color: rgba(200,133,46,0.35); transform: translateY(-2px); }
    .side-card--later { opacity: 0.5; background: rgba(14,8,4,0.4); }
    .side-card--later:hover { opacity: 0.7; transform: none; }
    .side-card-top {
      display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem;
    }
    .side-name {
      font-family: var(--font-display);
      font-size: 1rem; font-weight: 600; color: var(--cream); line-height: 1.3;
    }
    .side-price { font-size: 0.85rem; font-weight: 600; color: var(--gold); white-space: nowrap; flex-shrink: 0; }
    .side-desc  { font-size: 0.82rem; font-weight: 300; color: rgba(160,146,122,0.75); line-height: 1.6; margin: 0; }
    .side-sub   { font-size: 0.75rem; font-style: italic; color: rgba(160,146,122,0.5); margin: 0; }
    .side-avail-badge {
      display: inline-flex; align-items: center; gap: 0.3rem;
      margin-top: 0.35rem; font-size: 0.65rem; font-weight: 700;
      letter-spacing: 0.06em; text-transform: uppercase;
      padding: 0.2rem 0.5rem; border-radius: 2px; width: fit-content;
    }
    .side-avail-lunch      { background: rgba(233,185,110,0.12); color: var(--gold); }
    .side-avail-dinner     { background: rgba(200,133,46,0.14);  color: var(--amber); }
    .side-avail-late-night { background: rgba(107,97,170,0.14);  color: #9B8FD4; }
    .side-avail--out       { background: rgba(160,146,122,0.08); color: rgba(160,146,122,0.55); }
