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

:root {
  --navy-deep:    #07101f;
  --navy-mid:     #0d1f3c;
  --navy-surface: #112348;
  --navy-card:    #0f1e38;
  --gold:         #c9a84c;
  --gold-light:   #e8d098;
  --gold-dim:     rgba(201,168,76,0.18);
  --gold-border:  rgba(201,168,76,0.28);
  --cream:        #f0ead8;
  --cream-muted:  #b8b0a0;
  --white:        #ffffff;
  --text-primary: #f0ead8;
  --text-muted:   #8a9ab8;
  --text-light:   #c8d4e8;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:    'DM Mono', ui-monospace, monospace;

  --radius-sm:  3px;
  --radius-md:  6px;
  --radius-lg:  12px;

  --shadow-gold: 0 0 32px rgba(201,168,76,0.15);
  --shadow-card: 0 8px 40px rgba(0,0,0,0.45);

  --transition: 0.35s cubic-bezier(0.2, 0.9, 0.3, 1);
  --transition-fast: 0.18s cubic-bezier(0.2, 0.9, 0.3, 1);

  --section-pad: clamp(5rem, 10vw, 8rem);
  --container:   1160px;
  --gutter:      clamp(1.25rem, 5vw, 2.5rem);
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  background: var(--navy-deep);
  color: var(--text-primary);
  font-family: var(--font-body);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
input, textarea { font-family: inherit; }
ul { list-style: none; }

::selection { background: var(--gold-dim); color: var(--gold-light); }

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}
