/*!
 * Embrace Brand — Drop-in CSS
 * Source of truth: ../references/colors.md, ../references/typography.md
 * Import once at the top of your project's stylesheet.
 *
 * Usage:
 *   <link rel="stylesheet" href="path/to/embrace-brand.css">
 *
 * Then reference variables: var(--embrace-primary), var(--embrace-font), etc.
 */

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700&display=swap');

:root {
  /* ── Core palette ─────────────────────────────────────────── */
  --embrace-primary:   #0C57E1;
  --embrace-secondary: #20AAA2;
  --embrace-tertiary:  #6E41CD;
  --embrace-dark:      #191B1F;
  --embrace-light:     #FFFFFF;

  /* ── Blue tints ───────────────────────────────────────────── */
  --embrace-blue-100-deep:  #0C57E1;
  --embrace-blue-100:       #416EEC;
  --embrace-blue-80:        #678BF0;
  --embrace-blue-60:        #8DA8F4;
  --embrace-blue-20:        #D9E2FB;
  --embrace-blue-10:        #ECF0FD;
  --embrace-blue-08:        #F0F4FE;
  --embrace-blue-06:        #F4F6FE;
  --embrace-blue-04:        #F8F9FE;

  /* ── Teal tints ───────────────────────────────────────────── */
  --embrace-teal-100-deep:  #087670;
  --embrace-teal-100:       #20AAA2;
  --embrace-teal-80:        #4DBBB5;
  --embrace-teal-60:        #79CCC7;
  --embrace-teal-20:        #A6DDDA;
  --embrace-teal-10:        #D2EEEC;
  --embrace-teal-08:        #E8F6F6;
  --embrace-teal-06:        #F2FAFA;
  --embrace-teal-04:        #F6FCFB;

  /* ── Purple tints ─────────────────────────────────────────── */
  --embrace-purple-100-deep:#5531A2;
  --embrace-purple-100:     #6E41CD;
  --embrace-purple-80:      #8B67D7;
  --embrace-purple-60:      #A88DE1;
  --embrace-purple-20:      #C5B3EB;
  --embrace-purple-10:      #E2D9F5;
  --embrace-purple-08:      #F0ECFA;
  --embrace-purple-06:      #F6F4FC;
  --embrace-purple-04:      #F9F8FD;

  /* ── Neutral tints ────────────────────────────────────────── */
  --embrace-dark-100-deep:  #191B1F;
  --embrace-dark-100:       #303135;
  --embrace-dark-80:        #5E5F62;
  --embrace-dark-60:        #8C8D8F;
  --embrace-dark-20:        #D1D1D2;
  --embrace-dark-10:        #E8E8E8;
  --embrace-dark-08:        #EDEDED;
  --embrace-dark-06:        #F6F6F6;
  --embrace-dark-04:        #FAFBFB;

  /* ── Typography ───────────────────────────────────────────── */
  --embrace-font: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --embrace-fw-regular: 400;
  --embrace-fw-semibold: 600;
  --embrace-fw-bold: 700;

  /* ── Type scale ───────────────────────────────────────────── */
  --embrace-fs-display: clamp(40px, 6vw, 72px);
  --embrace-fs-h1:      clamp(32px, 4vw, 48px);
  --embrace-fs-h2:      clamp(24px, 2.5vw, 32px);
  --embrace-fs-h3:      20px;
  --embrace-fs-body:    16px;
  --embrace-fs-small:   14px;
  --embrace-fs-eyebrow: 12px;

  /* ── Radii ────────────────────────────────────────────────── */
  --embrace-radius-xs: 4px;
  --embrace-radius-sm: 8px;
  --embrace-radius-md: 16px;
  --embrace-radius-lg: 24px;
  --embrace-radius-xl: 32px;
  --embrace-radius-square-25: 25%;
  --embrace-radius-pill: 9999px;

  /* ── Shadows ──────────────────────────────────────────────── */
  --embrace-shadow-card: 0 2px 8px rgba(25, 27, 31, 0.06);
  --embrace-shadow-elev: 0 8px 24px rgba(25, 27, 31, 0.10);

  /* ── Spacing ──────────────────────────────────────────────── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-6:  24px;
  --space-8:  32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
}

/* ── Base typography ────────────────────────────────────────── */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

body {
  font-family: var(--embrace-font);
  font-weight: var(--embrace-fw-regular);
  font-size: var(--embrace-fs-body);
  line-height: 1.5;
  color: var(--embrace-dark);
  background: var(--embrace-light);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--embrace-font);
  font-weight: var(--embrace-fw-semibold);
  line-height: 1.15;
  color: var(--embrace-dark);
  margin: 0 0 var(--space-4);
}
h1 { font-size: var(--embrace-fs-h1); }
h2 { font-size: var(--embrace-fs-h2); }
h3 { font-size: var(--embrace-fs-h3); }

p { margin: 0 0 var(--space-4); }

a { color: var(--embrace-primary); text-decoration: underline; text-underline-offset: 0.15em; }
a:hover { color: var(--embrace-blue-100-deep); }

strong, b { font-weight: var(--embrace-fw-bold); }

/* ── Utility classes ────────────────────────────────────────── */
.embrace-eyebrow {
  display: inline-block;
  font-weight: var(--embrace-fw-bold);
  font-size: var(--embrace-fs-eyebrow);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
  color: var(--embrace-primary);
}
.embrace-eyebrow--secondary { color: var(--embrace-secondary); }
.embrace-eyebrow--tertiary  { color: var(--embrace-tertiary); }

.embrace-display {
  font-size: var(--embrace-fs-display);
  font-weight: var(--embrace-fw-semibold);
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.embrace-accent { color: var(--embrace-primary); }
.embrace-accent--teal   { color: var(--embrace-secondary); }
.embrace-accent--purple { color: var(--embrace-tertiary); }

.embrace-card {
  background: var(--embrace-light);
  border-radius: var(--embrace-radius-md);
  padding: var(--space-8);
  box-shadow: var(--embrace-shadow-card);
}

.embrace-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--embrace-font);
  font-weight: var(--embrace-fw-bold);
  font-size: var(--embrace-fs-body);
  line-height: 1;
  border: 0;
  cursor: pointer;
  border-radius: var(--embrace-radius-pill);
  padding: var(--space-3) var(--space-6);
  text-decoration: none;
  transition: filter 120ms ease, transform 120ms ease;
}
.embrace-btn:hover { filter: brightness(0.95); }
.embrace-btn:active { transform: translateY(1px); }
.embrace-btn--primary   { background: var(--embrace-dark);   color: var(--embrace-light); }
.embrace-btn--secondary { background: transparent; color: var(--embrace-dark); box-shadow: inset 0 0 0 1px var(--embrace-dark); }
.embrace-btn--brand     { background: var(--embrace-primary); color: var(--embrace-light); }
.embrace-btn--brand-teal   { background: var(--embrace-secondary); color: var(--embrace-light); }
.embrace-btn--brand-purple { background: var(--embrace-tertiary);  color: var(--embrace-light); }

.embrace-shape-rounded { border-radius: var(--embrace-radius-square-25); }

/* Scoped wrapper if you don't want global resets */
.embrace-body {
  font-family: var(--embrace-font);
  color: var(--embrace-dark);
  background: var(--embrace-light);
}
