/* ============================================================
   INTEGRATOR A/S — Design System: Colors & Typography
   ============================================================ */

/* ── Fonts ── */
@font-face {
  font-family: 'Barlow';
  src: url('./fonts/Barlow-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('./fonts/Barlow-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('./fonts/Barlow-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ── Color Tokens ── */
:root {
  /* Primary Teal */
  --color-teal-dark:    #095B61;
  --color-teal-main:    #2A828B;
  --color-teal-light:   #42BEC4;

  /* Accent
     ────────────────────────────────────────
     #f50057 is the canonical brand magenta — it lives in the favicon E-bar
     mark and is the colour the brand has accumulated equity in. The guide
     previously listed #E8002D; we've consolidated on #f50057. Both kept
     here as a record for designers reading the file. */
  --color-magenta:      #f50057;
  --color-magenta-deep: #c8003f;     /* darker stop for hover/pressed */
  --color-magenta-soft: rgba(245, 0, 87, 0.08);
  --color-magenta-rgb:  245, 0, 87;  /* for arbitrary rgba() compositions */
  --color-dark-blue:    #0F2147;

  /* Neutrals */
  --color-gray-light:   #C7C8CA;
  --color-gray-mid:     #939598;
  --color-black:        #1A1A1A;
  --color-white:        #FFFFFF;

  /* Semantic */
  --color-bg:           var(--color-white);
  --color-bg-dark:      var(--color-dark-blue);
  --color-bg-teal:      var(--color-teal-main);
  --color-surface:      #F5F5F5;
  --color-border:       var(--color-gray-light);

  --color-text-primary:   var(--color-black);
  --color-text-secondary: var(--color-gray-mid);
  --color-text-on-dark:   var(--color-white);
  --color-text-on-teal:   var(--color-white);

  --color-cta:          var(--color-magenta);
  --color-cta-hover:    var(--color-magenta-deep);
  --color-link:         var(--color-teal-main);
  --color-link-hover:   var(--color-teal-dark);

  /* ── Type Scale ── */
  --font-family:        'Barlow', sans-serif;
  --font-light:         300;
  --font-regular:       400;
  --font-bold:          700;

  /* Display / Hero */
  --text-display:       clamp(2.5rem, 5vw, 4rem);
  --text-h1:            clamp(2rem, 3.5vw, 3rem);
  --text-h2:            clamp(1.5rem, 2.5vw, 2.25rem);
  --text-h3:            clamp(1.25rem, 2vw, 1.75rem);
  --text-h4:            1.25rem;
  --text-body-lg:       1.125rem;
  --text-body:          1rem;
  --text-body-sm:       0.875rem;
  --text-caption:       0.75rem;
  --text-label:         0.6875rem;

  /* Line heights */
  --lh-display:         1.1;
  --lh-heading:         1.2;
  --lh-body:            1.6;

  /* Letter spacing */
  --ls-display:         -0.02em;
  --ls-heading:         -0.01em;
  --ls-body:            0;
  --ls-label:           0.06em;
  --ls-allcaps:         0.1em;

  /* ── Spacing Scale (8px base) ── */
  --space-1:  0.25rem;   /* 4px  */
  --space-2:  0.5rem;    /* 8px  */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */

  /* ── Border Radius ── */
  --radius-sm:  2px;
  --radius-md:  4px;
  --radius-lg:  8px;
  --radius-pill: 100px;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.10), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.10), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg:  0 16px 40px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);

  /* ── Transitions ── */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* ── Image overlay (brand graphic element) ── */
  --overlay-teal:      rgba(42, 130, 139, 0.80);
  --overlay-magenta:   rgba(245, 0, 87, 0.80);
  --overlay-dark-blue: rgba(15, 33, 71, 0.80);
}

/* ── Buttons — universal hover via filter instead of hardcoded hex
   (so the tweak-panel CTA-color switch works without per-button overrides) ── */
.btn-cta {
  background: var(--color-cta);
  color: #fff;
  border: none;
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  padding: 13px 28px;
  cursor: pointer;
  transition: filter 150ms ease, transform 120ms ease;
}
.btn-cta:hover     { filter: brightness(0.88); }
.btn-cta:active    { filter: brightness(0.82); transform: scale(0.98); }

/* ── Semantic Element Defaults ── */
body {
  font-family: var(--font-family);
  font-weight: var(--font-regular);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  color: var(--color-text-primary);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-size: var(--text-h1);
  font-weight: var(--font-bold);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
}
h2 {
  font-size: var(--text-h2);
  font-weight: var(--font-bold);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
}
h3 {
  font-size: var(--text-h3);
  font-weight: var(--font-bold);
  line-height: var(--lh-heading);
}
h4 {
  font-size: var(--text-h4);
  font-weight: var(--font-regular);
  line-height: var(--lh-heading);
}
p {
  font-size: var(--text-body);
  line-height: var(--lh-body);
  font-weight: var(--font-light);
}
.label, label {
  font-size: var(--text-label);
  font-weight: var(--font-bold);
  letter-spacing: var(--ls-allcaps);
  text-transform: uppercase;
}
.caption {
  font-size: var(--text-caption);
  color: var(--color-text-secondary);
  font-weight: var(--font-light);
}
a {
  color: var(--color-link);
  text-decoration: none;
  transition: color var(--transition-fast);
}
a:hover {
  color: var(--color-link-hover);
}
