/* ===== RESET & BASE ===== */
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  :root {
    --black: #0f0f0f;
    --black2: #1a1a1a;
    --black3: #222222;
    --gold: #c9a96e;
    --gold-light: #e8cc9a;
    --gold-dark: #a07840;
    --white: #ffffff;
    --off-white: #f5f0e8;
    --gray: #888;
    --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  html { scroll-behavior: smooth; font-size: 16px; overflow-y: scroll; }
  body {
    background: var(--black);
    color: var(--white);
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden;
    overflow-y: auto;
    cursor: default;
    -webkit-overflow-scrolling: touch;
  }
  img { max-width: 100%; display: block; }
  a { text-decoration: none; color: inherit; }

  /* ===== SCROLLBAR ===== */
  ::-webkit-scrollbar { width: 6px; }
  ::-webkit-scrollbar-track { background: var(--black); }
  ::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 3px; }

  /* ===== SECTION UTILS ===== */
  section { padding: 8rem 4vw; }
  .section-label {
    font-size: 0.65rem; letter-spacing: 0.4em; text-transform: uppercase;
    color: var(--gold); margin-bottom: 1rem; display: block;
  }
  .section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700; line-height: 1.15; margin-bottom: 1.5rem;
  }
  .section-divider {
    width: 60px; height: 1px; background: var(--gold); margin-bottom: 2rem;
  }
  .section-divider.center { margin-left: auto; margin-right: auto; }
  .reveal {
    opacity: 0; transform: translateY(40px); transition: opacity 0.8s ease, transform 0.8s ease;
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  @keyframes fadeInUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

  /* ===== DECORATIVE ===== */
  .gold-line {
    width: 100%; height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0.3;
  }

/* ===== PREMIUM DESIGN TOKENS ===== */
:root {
  --black: #060708;
  --black2: #0b0d10;
  --black3: #11151a;
  --panel: rgba(17, 21, 26, 0.72);
  --panel-strong: rgba(22, 27, 33, 0.88);
  --line: rgba(255, 255, 255, 0.095);
  --line-gold: rgba(218, 184, 112, 0.28);
  --gold: #d8b66f;
  --gold-light: #f1d89d;
  --gold-dark: #9b7440;
  --white: #f8fafc;
  --off-white: #f1efe7;
  --gray: #98a2b3;
  --muted: rgba(248, 250, 252, 0.66);
  --muted-soft: rgba(248, 250, 252, 0.44);
  --accent-copper: #c7815b;
  --accent-emerald: #6fb69b;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --shadow-soft: 0 24px 80px rgba(0, 0, 0, 0.35);
  --shadow-premium: 0 32px 120px rgba(0, 0, 0, 0.52);
  --transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  --sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
}

html {
  background: var(--black);
  text-rendering: optimizeLegibility;
}

body {
  background:
    linear-gradient(180deg, #060708 0%, #0a0c0f 34%, #060708 100%);
  color: var(--white);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(216,182,111,0.07), transparent 28%, rgba(111,182,155,0.035) 58%, transparent 82%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.055), transparent 34%);
}

::selection {
  background: rgba(216, 182, 111, 0.28);
  color: var(--white);
}

section {
  padding: clamp(5.5rem, 9vw, 9rem) 4vw;
}

.section-label,
.hero-eyebrow,
.menu-card-cat,
.footer-col-title,
.location-city,
.form-label {
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: 0.22em;
}

.section-title {
  font-family: var(--serif);
  letter-spacing: 0;
}

.section-divider {
  width: 72px;
  background: linear-gradient(90deg, var(--gold), rgba(111,182,155,0.75));
  opacity: 0.95;
}

.reveal {
  transform: translateY(26px) scale(0.985);
  transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1), transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
  transform: translateY(0) scale(1);
}

.gold-line {
  background: linear-gradient(90deg, transparent, rgba(216,182,111,0.75), rgba(111,182,155,0.55), transparent);
  opacity: 0.45;
}
