/* Tokens, reset, typography */
:root {
  --navy-950: #060b16;
  --navy-900: #0a1120;
  --navy-850: #0b1528;
  --gold-300: #f2dcaa;
  --gold-400: #e8c888;
  --gold-500: #c8a35f;
  --gold-600: #b58c45;
  --gold-line: rgba(200, 163, 95, .28);
  --ink-100: #f5efe4;
  --ink-200: #e0dace;
  --ink-300: #d6d0c2;
  --ink-400: #b9b3a4;
  --ink-500: #a49e90;
  --gold-gradient: linear-gradient(135deg, #dcbd7c, var(--gold-600));
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Manrope', system-ui, sans-serif;
  --container: 1400px;
  --gutter: clamp(24px, 6vw, 100px);
  --section-y: clamp(64px, 9vw, 110px);
  --header-h: 75px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-h); }
body {
  margin: 0; background: var(--navy-950); color: var(--ink-300);
  font-family: var(--font-sans); font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
}
img { max-width: 100%; display: block; }
a { color: var(--gold-400); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold-300); }
h1, h2, h3 { margin: 0; font-family: var(--font-serif); font-weight: 500; color: var(--ink-100); line-height: 1.1; }
p { margin: 0; text-wrap: pretty; }
em { font-style: italic; }
::selection { background: var(--gold-500); color: var(--navy-950); }
:focus-visible { outline: 2px solid var(--gold-500); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
