/* ============================================
   SYVIONA — FONTS
   syv-fonts.css
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rajdhani:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,400&display=swap');

/* Font assignments documented */
/*
  --font-display:  'Bebas Neue'  — Used for large display headings, counters, hero titles
  --font-heading:  'Rajdhani'    — Used for section titles, card headings, nav items
  --font-body:     'DM Sans'     — Used for all body copy, paragraphs, form elements
*/

/* Fallback font stack */
.ff-display { font-family: 'Bebas Neue', 'Impact', 'Arial Narrow', sans-serif; }
.ff-heading  { font-family: 'Rajdhani', 'Trebuchet MS', sans-serif; }
.ff-body     { font-family: 'DM Sans', 'Helvetica Neue', Arial, sans-serif; }

/* Typography scale */
.text-xs   { font-size: 0.75rem; }
.text-sm   { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg   { font-size: 1.125rem; }
.text-xl   { font-size: 1.25rem; }
.text-2xl  { font-size: 1.5rem; }
.text-3xl  { font-size: 1.875rem; }
.text-4xl  { font-size: 2.25rem; }
.text-5xl  { font-size: 3rem; }

/* Weight helpers */
.fw-light    { font-weight: 300; }
.fw-regular  { font-weight: 400; }
.fw-medium   { font-weight: 500; }
.fw-semibold { font-weight: 600; }
.fw-bold     { font-weight: 700; }

/* Letter spacing */
.ls-wide   { letter-spacing: 0.1em; }
.ls-wider  { letter-spacing: 0.15em; }
.ls-widest { letter-spacing: 0.2em; }
.ls-tight  { letter-spacing: -0.025em; }

/* Line height */
.leading-tight  { line-height: 1.2; }
.leading-snug   { line-height: 1.4; }
.leading-normal { line-height: 1.6; }
.leading-relaxed{ line-height: 1.8; }
.leading-loose  { line-height: 2; }
