/* ═══════════════════════════════════════════════════════════════════════════
   GLOBAL FONTS STYLESHEET
   Central font family definitions for the entire agency
   ═══════════════════════════════════════════════════════════════════════════*/

/* ═══ FONT IMPORT & FALLBACKS */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Syne:wght@400;700;800&family=Bebas+Neue&display=swap');

/* ═══ ROOT FONT VARIABLES */
:root {
  --font-primary: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;
  --font-secondary: "Syne", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Bebas Neue", "Arial Black", sans-serif;
  --font-mono: "Courier New", monospace;
}

/* ═══ GLOBAL FONT APPLICATION */
html {
  font-family: var(--font-primary);
}

body {
  font-family: var(--font-primary);
  font-weight: 400;
  letter-spacing: 0.5px;
  word-spacing: 0.1em;
}

/* ═══ HEADING FONTS */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-secondary);
  font-weight: 700;
}

h1 {
  font-family: var(--font-display);
  letter-spacing: 0.08em;
  font-weight: 400;
}

h2 {
  font-weight: 800;
  letter-spacing: 0.01em;
}

h3 {
  font-weight: 700;
  letter-spacing: 0.02em;
}

h4, h5, h6 {
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* ═══ TEXT ELEMENTS */
p {
  font-family: var(--font-primary);
  font-weight: 400;
}

strong, b {
  font-weight: 700;
}

em, i {
  font-style: italic;
}

/* ═══ BUTTON & CTA FONTS */
button,
.button,
.btn,
a.btn {
  font-family: var(--font-secondary);
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ═══ NAVIGATION FONTS */
nav,
.navbar,
.nav-item,
.nav-link {
  font-family: var(--font-primary);
  font-weight: 500;
  letter-spacing: 0.3px;
}

/* ═══ LABEL & FORM FONTS */
label,
.label,
input,
textarea,
select {
  font-family: var(--font-primary);
}

input::placeholder,
textarea::placeholder {
  font-family: var(--font-primary);
}

/* ═══ CARD & SECTION TITLES */
.card-title,
.section-title {
  font-family: var(--font-secondary);
  font-weight: 700;
}

/* ═══ SMALL TEXT & CAPTIONS */
small,
.small,
.caption,
.meta {
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: 0.3px;
}

/* ═══ CODE BLOCKS */
code,
pre {
  font-family: var(--font-mono);
}

/* ═══ SPECIAL TEXT ELEMENTS */
.gradient-text,
.highlight {
  font-family: var(--font-secondary);
}

/* ═══ RESPONSIVE FONT ADJUSTMENTS */
@media (max-width: 768px) {
  body {
    letter-spacing: 0.2px;
  }
  
  h1 {
    letter-spacing: 0.02em;
  }
  
  h2 {
    letter-spacing: -0.01em;
  }
}
