/* ==========================================================================
   New Ways of Working — Design tokens
   Single source of truth for colors, gradients, typography, spacing.
   No other CSS file may declare a raw color without a comment
   referencing one of these variables.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Fonts (self-hosted, variable)
   Manrope ≈ Aptos Display (headings) · Mulish ≈ Avenir Next (body)
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Manrope';
  src: url('../assets/fonts/manrope-latin.woff2') format('woff2');
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  src: url('../assets/fonts/manrope-latin-ext.woff2') format('woff2');
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Mulish';
  src: url('../assets/fonts/mulish-latin.woff2') format('woff2');
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mulish';
  src: url('../assets/fonts/mulish-latin-ext.woff2') format('woff2');
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Mulish';
  src: url('../assets/fonts/mulish-italic-latin.woff2') format('woff2');
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* ------------------------------------------------------------------------
     Brand palette (2023 style guide)
     ------------------------------------------------------------------------ */
  --c-blue: #1E98FD;
  --c-purple: #FF00D8;
  --c-red: #FF4154;
  --c-blue-dark: #1C7CF2;
  --c-purple-dark: #F006F9;
  --c-red-dark: #FF542E;

  /* Logo colors */
  --c-logo-pink: #ED4C8C;
  --c-ink: #3E4149;            /* logo badge background */

  /* Neutrals */
  --c-black: #0A0A0A;          /* black sections */
  --c-white: #FFFFFF;
  --c-text: #23252B;           /* body text on white, derived from --c-ink */
  --c-text-soft: #5A5E68;      /* secondary text, derived from --c-ink */
  --c-text-on-dark: #F4F4F6;   /* body text on black sections */
  --c-text-soft-on-dark: #B9BCC4;
  --c-bg-soft: #F6F7F9;        /* light gray section background */
  --c-border: #E3E5EA;

  /* Semantic aliases */
  --c-primary: var(--c-blue-dark);   /* titles on white, links, buttons */
  --c-accent-on-dark: var(--c-red);  /* titles on black sections */

  /* Text-duty variants: darker shades of the brand colors, WCAG AA (>=4.5:1
     on white and on --c-bg-soft) for SMALL text. Large gradient headlines
     keep the vivid brand colors. */
  --c-blue-text: #1668D6;
  --c-purple-text: #B8009C;
  --c-red-text: #C93409;
  --c-pink-text: #C73A73;

  /* ------------------------------------------------------------------------
     Gradients (style guide: hero blue→purple, sections purple→red-dark)
     ------------------------------------------------------------------------ */
  --grad-hero: linear-gradient(100deg, var(--c-blue) 0%, var(--c-purple) 100%);
  --grad-accent: linear-gradient(100deg, var(--c-purple) 0%, var(--c-red-dark) 100%);
  --grad-full: linear-gradient(100deg, var(--c-blue) 0%, var(--c-purple) 55%, var(--c-red-dark) 100%);

  /* ------------------------------------------------------------------------
     Typography
     ------------------------------------------------------------------------ */
  --font-head: 'Manrope', 'Segoe UI', 'Avenir Next', Arial, sans-serif;
  --font-body: 'Mulish', 'Avenir Next', 'Segoe UI', Arial, sans-serif;

  --fs-hero: clamp(2.4rem, 6vw, 4.2rem);
  --fs-h1: clamp(2.1rem, 5vw, 3.4rem);
  --fs-h2: clamp(1.6rem, 3.5vw, 2.3rem);
  --fs-h3: clamp(1.2rem, 2.2vw, 1.45rem);
  --fs-body: 1.06rem;
  --fs-small: 0.9rem;

  /* ------------------------------------------------------------------------
     Layout & spacing
     ------------------------------------------------------------------------ */
  --container-max: 1140px;
  --container-narrow: 820px;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;
  --section-pad: clamp(3rem, 8vw, 5.5rem);

  /* ------------------------------------------------------------------------
     Misc
     ------------------------------------------------------------------------ */
  --radius: 14px;
  --radius-small: 8px;
  --shadow-card: 0 6px 24px rgba(10, 10, 10, 0.07);   /* --c-black at 7% alpha */
  --shadow-card-hover: 0 10px 32px rgba(10, 10, 10, 0.12); /* --c-black at 12% alpha */
  --nav-height: 72px;
}
