/* =====================================================================
   FONT SYSTEM — single source of truth for typography across all pages
   ---------------------------------------------------------------------
   To experiment: change ONE value below (--font-primary) and the whole
   site updates. For per-role tests, override --font-h1 / --font-body /
   --font-btn individually. No need to edit any .html file.

   Available families:  'Manrope'  |  'General Sans'
   (Both are loaded — Manrope via Google Fonts, General Sans below.)
   ===================================================================== */

/* ── General Sans (local, weight-driven single family) ─────────────── */
@font-face {
  font-family: 'General Sans';
  font-weight: 200;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Extralight.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Extralight.woff') format('woff');
}

@font-face {
  font-family: 'General Sans';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Light.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Light.woff') format('woff');
}

@font-face {
  font-family: 'General Sans';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Regular.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Regular.woff') format('woff');
}

@font-face {
  font-family: 'General Sans';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Medium.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Medium.woff') format('woff');
}

@font-face {
  font-family: 'General Sans';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Semibold.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Semibold.woff') format('woff');
}

@font-face {
  font-family: 'General Sans';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Bold.woff2') format('woff2'),
    url('../fonts/GeneralSans_Complete/Fonts/WEB/fonts/GeneralSans-Bold.woff') format('woff');
}

/* ── VARIABLES — the only thing you edit ───────────────────────────── */
:root {
  /* ▼▼ change this one line to swap the whole site ▼▼ */
  /*--font-primary: 'General Sans', system-ui, sans-serif;*/
  --font-primary: 'Manrope', system-ui, sans-serif;

  /* per-role (default to primary — override individually to mix) */
  --font-h1: var(--font-primary);
  --font-h2: var(--font-primary);
  --font-h3: var(--font-primary);
  --font-body: var(--font-primary);
  /* p, li, span, links, inputs */
  --font-btn: var(--font-primary);
  /* buttons */
  --font-display-italic: Georgia, 'Times New Roman', serif;
  /* one-off display headings with italic serif treatment */
}

/* ── BINDINGS — map tags/roles to the variables (don't touch) ───────── */
/* !important so this layer wins over per-page <style> and inline styles,
   keeping the variables the single source of truth. */
h1 {
  font-family: var(--font-h1) !important;
}

h2 {
  font-family: var(--font-h2) !important;
}

h3,
h4,
h5,
h6 {
  font-family: var(--font-h3) !important;
}

p,
li,
span,
a,
label,
input,
textarea,
blockquote,
figcaption {
  font-family: var(--font-body) !important;
}

button,
.btn-contact,
.btn-work,
#ct-send-btn {
  font-family: var(--font-btn) !important;
}

/* nested spans inherit their container's font (split headings, button labels) */
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
button span,
.btn-contact span,
.btn-work span,
#ct-send-btn span {
  font-family: inherit !important;
}