    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy: #1a2a3a;
      --dark-nav: #1c2b38;
      --gold: #c8a84b;
      --red: #c0392b;
      --light-bg: #f5f5f5;
      --card-border: #ddd;
      --text: #333;
      --muted: #666;
      --white: #fff;
    }

    body {
      font-family: 'Source Sans 3', sans-serif;
      color: var(--text);
      background: #F2F2F2; /*var(--white);*/
    }

    /* ── TOP BAR ── */
    .topbar {
      background: var(--white);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 30px;
      border-bottom: 1px solid #e0e0e0;
    }
    .topbar img.logo { height: 52px; }
    .topbar-right { display: flex; align-items: center; gap: 14px; }
    .topbar-right .icon { width: 20px; height: 20px; fill: #555; }
    .search-box {
      border: 1px solid #ccc;
      border-radius: 3px;
      padding: 5px 10px;
      font-size: 13px;
      color: #999;
      min-width: 180px;
      outline: none;
    }

    /* ── NAV ── */
    nav {
      background: var(--dark-nav);
      display: flex;
      justify-content: center;
    }
    nav a {
      color: #ccc;
      text-decoration: none;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      padding: 10px 15px;
      display: block;
      transition: color 0.2s, background 0.2s;
    }
    nav a:hover { color: var(--white); background: rgba(255,255,255,0.07); }
    nav a.active { color: var(--gold); }

    /* ── HERO ── */
    .hero {
      position: relative;
      height: 200px;
      background: url('https://jbsagolf.com/images/backgrounds/home-video-img.jpg') center/cover no-repeat;
      display: flex;
      align-items: flex-end;
    }
    .hero::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.55));
    }
    .hero-badge {
      position: relative;
      z-index: 2;
      background: var(--navy);
      color: var(--white);
      padding: 22px 30px 18px;
      width: 220px;
      text-align: center;
    }
    .hero-badge img { width: 100px; margin-bottom: 8px; }
    .hero-badge p { font-size: 13px; letter-spacing: 0.5px; color: #ccc; }

    /* ── PAGE WRAPPER ── */
    .page-content {
      max-width: 760px;
      margin: 0 auto;
      padding: 40px 20px 64px;
    }

    /* ── PAGE TITLE ── */
    .page-title {
      text-align: center;
      font-family: 'Playfair Display', serif;
      font-size: 28px;
      color: var(--text);
      margin-bottom: 6px;
    }
    .page-title span {
      border-bottom: 2px solid var(--red);
      padding-bottom: 2px;
    }

    /* ── HOURS BOX ── */
    .hours-box {
      border: 1px solid var(--card-border);
      border-radius: 3px;
      text-align: center;
      padding: 22px 30px;
      margin: 24px 0 32px;
    }
    .hours-box h2 {
      font-family: 'Playfair Display', serif;
      font-size: 18px;
      margin-bottom: 14px;
    }
    .hours-box p {
      font-size: 13px;
      color: var(--muted);
      line-height: 1.8;
    }
    .hours-box .phone {
      font-size: 13px;
      margin-top: 10px;
      color: var(--text);
    }
    .hours-box .phone a {
      color: var(--red);
      text-decoration: none;
      font-weight: 600;
    }
    .hours-box .phone a:hover { text-decoration: underline; }

    /* ── MENU GRID ── */
    .menu-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }

    .menu-section {
      border: 1px solid var(--card-border);
      border-radius: 3px;
      padding: 22px 20px 24px;
    }

    .menu-section h2 {
      font-family: 'Playfair Display', serif;
      font-size: 19px;
      text-align: center;
      margin-bottom: 10px;
      color: var(--text);
    }

    .menu-section .section-note {
      font-size: 12px;
      color: var(--muted);
      text-align: center;
      margin-bottom: 14px;
      line-height: 1.5;
    }

    .menu-section h3 {
      font-size: 13.5px;
      font-weight: 700;
      text-align: center;
      text-decoration: underline;
      margin: 16px 0 8px;
      color: var(--text);
    }

    .menu-section ul {
      list-style: none;
      padding: 0;
    }
    .menu-section ul li {
      font-size: 12.5px;
      color: var(--text);
      line-height: 1.5;
      font-weight: 600;
    }
    .menu-section ul li span {
      display: block;
      font-weight: 400;
      color: var(--muted);
      font-size: 12px;
    }

    /* bottom row full-width pair */
    .menu-grid-bottom {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      margin-top: 18px;
    }
