:root {
  /* === BRAND GOLD === */
  --gold:           #C8A44A;
  --gold-light:     #D9BA6F;
  --gold-dark:      #9D7A20;
  --gold-bg:        rgba(200, 164, 74, 0.08);
  --gold-border:    rgba(200, 164, 74, 0.25);

  /* === BACKGROUNDS === */
  --bg:             #FFFFFF;
  --bg-light:       #F7F6F3;
  --bg-dark:        #1F1208;
  --bg-dark-2:      #2A1A0A;
  --bg-surface:     #FFFFFF;

  /* === BORDERS === */
  --border:         #E5E2DB;
  --border-dark:    rgba(255, 255, 255, 0.10);
  --rule:           rgba(20, 20, 20, 0.10);
  --rule-dark:      rgba(255, 255, 255, 0.08);

  /* === TEXT === */
  --text:           #141414;
  --text-muted:     #6B6560;
  --text-dim:       #9E9890;
  --text-inverse:   #F7F6F3;

  /* === ACCENT (uses gold) === */
  --accent:         var(--gold);
  --accent-light:   var(--gold-light);
  --accent-dark:    var(--gold-dark);

  /* === TYPOGRAPHY === */
  --ff-display:     'Cormorant Garamond', Georgia, serif;
  --ff-body:        'Inter', system-ui, -apple-system, sans-serif;

  /* === LAYOUT === */
  --container-max:  1440px;
  --container-pad:  1.25rem;
  --header-h:       72px;
  --section-pad-v:  5rem;

  /* === VIEWPORT === */
  --vh:             100dvh;

  /* === TRANSITIONS === */
  --t-fast:         150ms ease;
  --t-base:         250ms ease;
  --t-slow:         400ms cubic-bezier(0.4, 0, 0.2, 1);

  /* === Z-INDEX === */
  --z-header:       100;
  --z-drawer:       300;
  --z-modal:        400;
}

@media (min-width: 768px) {
  :root {
    --container-pad:  2.5rem;
    --section-pad-v:  6rem;
  }
}

@media (min-width: 1280px) {
  :root {
    --container-pad:  4rem;
    --section-pad-v:  8rem;
  }
}

/* === RESET === */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

section[id] {
  scroll-margin-top: calc(var(--header-h) + env(safe-area-inset-top, 0px) + 1rem);
}

body {
  font-family: var(--ff-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol { list-style: none; }

address { font-style: normal; }

/* === SKIP LINK === */
.skip-link {
  position: absolute;
  top: -999px;
  left: 1rem;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background: var(--gold);
  color: var(--text);
  font-weight: 600;
  border-radius: 0 0 4px 4px;
}

.skip-link:focus {
  top: env(safe-area-inset-top, 0px);
  left: max(1rem, env(safe-area-inset-left, 0px));
}
