@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Nunito:wght@300;400;600;700;800&display=swap');

/* ============================================================
   CURSASTRONOMIE — Shared Design Tokens
   Load before any page-specific styles.
   ============================================================ */

:root {
  /* Typography */
  --font-display: 'Space Grotesk', sans-serif;
  --font-body:    'Nunito', sans-serif;

  /* Core palette */
  --gold:          #ffd700;
  --gold-dim:      rgba(255, 215, 0, 0.15);
  --gold-glow:     rgba(255, 215, 0, 0.35);
  --teal:          #00d2ff;
  --teal-dim:      rgba(0, 210, 255, 0.12);
  --bg:            #0b0d17;
  --text:          #dde3f0;
  --muted:         #8892aa;
  --white:         #ffffff;
  --cosmos-border: rgba(255, 255, 255, 0.08);
  --violet:        #9b72f7;
  --violet-dim:    rgba(155, 114, 247, 0.15);
  --coral:         #ff6b6b;
  --sky:           #60b4f5;

  /* Geometry */
  --radius-card: 14px;
  --radius-btn:  8px;
  --transition:  0.25s ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background:  var(--bg);
  color:       var(--text);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family:    var(--font-display);
  font-weight:    600;
  line-height:    1.2;
  color:          var(--white);
  letter-spacing: 0.03em;
  margin-top: 0;
}

h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.4rem); }

p { color: var(--muted); line-height: 1.7; }
a { color: var(--teal); transition: color var(--transition); }
a:hover { color: var(--gold); }
