@font-face {
  font-family: "Roboto";
  src: url("../neu-design-system/project/fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../neu-design-system/project/fonts/Roboto/Roboto-Italic-VariableFont_wdth,wght.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --neu-bg:           rgb(242, 242, 247);
  --neu-surface:      rgb(255, 255, 255);
  --neu-surface-2:    rgb(243, 243, 245);
  --neu-surface-3:    rgb(243, 244, 246);

  --neu-border:       rgb(229, 231, 235);
  --neu-border-soft:  rgb(243, 244, 246);
  --neu-border-strong:rgb(209, 213, 220);

  --neu-fg-1:         rgb(10, 10, 10);
  --neu-fg-2:         rgb(16, 24, 40);
  --neu-fg-3:         rgb(54, 65, 83);
  --neu-fg-4:         rgb(106, 114, 130);
  --neu-fg-5:         rgb(113, 113, 130);
  --neu-fg-on-dark:   rgb(255, 255, 255);
  --neu-fg-on-dark-2: rgba(255, 255, 255, 0.9);
  --neu-fg-on-dark-3: rgba(255, 255, 255, 0.8);

  --neu-accent:       #007AFF;
  --neu-accent-ink:   rgb(20, 71, 230);
  --neu-accent-soft:  rgb(239, 246, 255);
  --neu-accent-deep:  rgb(21, 93, 252);

  --neu-green:        rgb(52, 199, 89);
  --neu-blue:         rgb(96, 165, 250);
  --neu-red:          rgb(231, 0, 11);
  --neu-red-alt:      rgb(251, 44, 54);
  --neu-red-system:   rgb(255, 59, 48);
  --neu-black:        rgb(0, 0, 0);
  --neu-amber:        rgb(251, 191, 36);

  --neu-overlay-top:    rgba(0, 0, 0, 0.7);
  --neu-overlay-mid:    rgba(0, 0, 0, 0.2);
  --neu-overlay-bottom: rgba(0, 0, 0, 0);
  --neu-photo-gradient: linear-gradient(
    var(--neu-overlay-top) 0%,
    var(--neu-overlay-mid) 50%,
    var(--neu-overlay-bottom) 100%);

  --neu-radius-sm:   6.75px;
  --neu-radius-md:   8.75px;
  --neu-radius-lg:  12.75px;
  --neu-radius-xl:  14px;
  --neu-radius-pill: 9999px;

  --neu-shadow-hairline:
    0px 1px 2px -1px rgba(0,0,0,0.10),
    0px 1px 3px 0px rgba(0,0,0,0.10);
  --neu-shadow-float:
    0px 4px 6px -4px rgba(0,0,0,0.10),
    0px 10px 15px -3px rgba(0,0,0,0.10);
  --neu-shadow-pin:
    0px 2px 4px rgba(0,0,0,0.15);

  --neu-space-0:  0px;
  --neu-space-1:  1.75px;
  --neu-space-2:  3.5px;
  --neu-space-3:  7px;
  --neu-space-4:  10.5px;
  --neu-space-5:  14px;
  --neu-space-6:  17.5px;
  --neu-space-7:  21px;
  --neu-space-8:  28px;
  --neu-space-9:  42px;

  --neu-font-sans: "Roboto", ui-sans-serif, system-ui, -apple-system,
    "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  --neu-fs-hero:    63px;
  --neu-fs-display: 31.5px;
  --neu-fs-h1:      21px;
  --neu-fs-h2:      17.5px;
  --neu-fs-h3:      16px;
  --neu-fs-h4:      14px;
  --neu-fs-body:    12.25px;
  --neu-fs-caption: 10.5px;

  --neu-lh-hero:    63px;
  --neu-lh-display: 35px;
  --neu-lh-h1:      28px;
  --neu-lh-h2:      24.5px;
  --neu-lh-h3:      24px;
  --neu-lh-h4:      21px;
  --neu-lh-body:    17.5px;
  --neu-lh-caption: 14px;
}

.neu-hero {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-hero);
  line-height: var(--neu-lh-hero);
  letter-spacing: -2.919px;
  color: var(--neu-black);
}
.neu-display {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-display);
  line-height: var(--neu-lh-display);
  letter-spacing: 0.404px;
  color: var(--neu-fg-1);
}
.neu-h1 {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-h1);
  line-height: var(--neu-lh-h1);
  letter-spacing: -0.359px;
  color: var(--neu-fg-2);
}
.neu-h2 {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-h2);
  line-height: var(--neu-lh-h2);
  letter-spacing: -0.436px;
  color: var(--neu-fg-2);
}
.neu-h3 {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-h3);
  line-height: var(--neu-lh-h3);
  letter-spacing: -0.313px;
  color: var(--neu-fg-on-dark);
}
.neu-h4 {
  font-family: var(--neu-font-sans);
  font-weight: 700;
  font-size: var(--neu-fs-h4);
  line-height: var(--neu-lh-h4);
  letter-spacing: -0.150px;
  color: var(--neu-fg-1);
}
.neu-body {
  font-family: var(--neu-font-sans);
  font-weight: 400;
  font-size: var(--neu-fs-body);
  line-height: var(--neu-lh-body);
  letter-spacing: -0.018px;
  color: var(--neu-fg-2);
}
.neu-body-medium {
  font-family: var(--neu-font-sans);
  font-weight: 500;
  font-size: var(--neu-fs-body);
  line-height: var(--neu-lh-body);
  letter-spacing: -0.018px;
  color: var(--neu-fg-2);
}
.neu-caption {
  font-family: var(--neu-font-sans);
  font-weight: 400;
  font-size: var(--neu-fs-caption);
  line-height: var(--neu-lh-caption);
  letter-spacing: 0.092px;
  color: var(--neu-fg-4);
}
.neu-caption-medium {
  font-family: var(--neu-font-sans);
  font-weight: 500;
  font-size: var(--neu-fs-caption);
  line-height: var(--neu-lh-caption);
  letter-spacing: 0.092px;
  color: var(--neu-black);
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--neu-font-sans);
  background: var(--neu-bg);
  color: var(--neu-fg-2);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
