/* =========================================================
   Design System — Brain Studio UI Kit
   Tokens: Colors, Typography, Spacing
   ========================================================= */

/* Inter (with optical sizing → "Inter Display" feel at large sizes) */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap');

:root {
  /* ---------- Color: Primary (Orange) ---------- */
  --color-primary-10:  #fce8cc;
  --color-primary-20:  #f9d9aa;
  --color-primary-30:  #f7c680;
  --color-primary-40:  #f4b355;
  --color-primary-50:  #f1a02a;
  --color-primary:     #ee8d00; /* Base */
  --color-primary-60:  #c67600;
  --color-primary-70:  #9f5e00;
  --color-primary-80:  #774700;
  --color-primary-90:  #4f2f00;
  --color-primary-100: #301c00;

  /* ---------- Color: Secondary (Blue) ---------- */
  --color-secondary-10:  #d9e1ee;
  --color-secondary-20:  #c0cde2;
  --color-secondary-30:  #a0b4d4;
  --color-secondary-40:  #809bc5;
  --color-secondary-50:  #6182b7;
  --color-secondary:     #36588c; /* Base */
  --color-secondary-60:  #2b4670;
  --color-secondary-70:  #213554;
  --color-secondary-80:  #162338;
  --color-secondary-90:  #0d1522;

  /* ---------- Neutrals ---------- */
  --color-white: #ffffff;
  --color-black: #000000;

  /* ---------- Typography ---------- */
  --font-family-base: 'Inter', 'Inter Display', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-display: 'Inter', 'Inter Display', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Gradients */
  --gradient-blue:   linear-gradient(135deg, #4169a8 0%, #234b8a 100%);
  --gradient-orange: linear-gradient(135deg, #ee8d00 0%, #e48300 100%);

  /* Font sizes */
  --fs-header:   70px;
  --fs-h1:       60px;
  --fs-h2:       50px;
  --fs-h3:       40px;
  --fs-h4:       32px;
  --fs-h5:       28px;
  --fs-h6:       20px;
  --fs-body-lg:  18px;
  --fs-body-md:  16px;
  --fs-body-sm:  14px;
  --fs-body-xs:  12px;

  /* Font weights */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* Line heights */
  --lh-tight:  1.1;
  --lh-snug:   1.25;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;

  /* ---------- Spacing scale ---------- */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  48px;
  --space-8:  64px;
  --space-9:  96px;

  /* ---------- Radii ---------- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 999px;

  /* ---------- Container ---------- */
  --container-max: 1280px;
}

/* =========================================================
   Base / Reset
   ========================================================= */
*,
*::before,
*::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family-base);
  font-size: var(--fs-body-md);
  font-weight: var(--fw-regular);
  line-height: var(--lh-normal);
  color: #6a6a6b;
  background: #f5f6f7;
  font-variation-settings: 'opsz' 16;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, video, svg { max-width: 100%; display: block; }

/* =========================================================
   Typography Classes
   ========================================================= */
.text-header {
  font-size: var(--fs-header);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
}

h1, .text-h1 {
  font-size: var(--fs-h1);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
  margin: 0;
}
h2, .text-h2 {
  font-size: var(--fs-h2);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  letter-spacing: -0.01em;
  margin: 0;
}
h3, .text-h3 {
  font-size: var(--fs-h3);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  margin: 0;
}
h4, .text-h4 {
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  margin: 0;
}
h5, .text-h5 {
  font-size: var(--fs-h5);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  margin: 0;
}
h6, .text-h6 {
  font-size: var(--fs-h6);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-normal);
  margin: 0;
}

/* Body */
.text-body-lg          { font-size: var(--fs-body-lg); font-weight: var(--fw-regular);  line-height: var(--lh-relaxed); }
.text-body-lg-medium   { font-size: var(--fs-body-lg); font-weight: var(--fw-medium);   line-height: var(--lh-relaxed); }
.text-body-lg-semibold { font-size: var(--fs-body-lg); font-weight: var(--fw-semibold); line-height: var(--lh-relaxed); }

.text-body-md          { font-size: var(--fs-body-md); font-weight: var(--fw-regular);  line-height: var(--lh-normal); }
.text-body-md-medium   { font-size: var(--fs-body-md); font-weight: var(--fw-medium);   line-height: var(--lh-normal); }
.text-body-md-semibold { font-size: var(--fs-body-md); font-weight: var(--fw-semibold); line-height: var(--lh-normal); }

.text-body-sm          { font-size: var(--fs-body-sm); font-weight: var(--fw-regular);  line-height: var(--lh-normal); }
.text-body-sm-medium   { font-size: var(--fs-body-sm); font-weight: var(--fw-medium);   line-height: var(--lh-normal); }
.text-body-sm-semibold { font-size: var(--fs-body-sm); font-weight: var(--fw-semibold); line-height: var(--lh-normal); }

.text-body-xs          { font-size: var(--fs-body-xs); font-weight: var(--fw-regular);  line-height: var(--lh-normal); }
.text-body-xs-medium   { font-size: var(--fs-body-xs); font-weight: var(--fw-medium);   line-height: var(--lh-normal); }
.text-body-xs-semibold { font-size: var(--fs-body-xs); font-weight: var(--fw-semibold); line-height: var(--lh-normal); }

/* =========================================================
   Utility helpers
   ========================================================= */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

/* Responsive type scaling */
@media (max-width: 768px) {
  :root {
    --fs-header: 44px;
    --fs-h1:     38px;
    --fs-h2:     32px;
    --fs-h3:     28px;
    --fs-h4:     24px;
    --fs-h5:     20px;
    --fs-h6:     18px;
  }
}
