/* Adam Hajnos Design System — generated from tokens.json */
:root, [data-theme="light"] {
  --white: #fafaf8;
  --black: #171717;
  --raspberry: #d81d65;
  --grid: #d9d9d6;
  --gray-1: #efefec;
  --gray-2: #c4c4c0;
  --gray-3: #62625f;
  --gray-4: #a3a3a0;
  --black-2: #212121;
  --black-rule: #323232;
  --raspberry-press: #b5164f;
  --raspberry-bright: #e8457f;
  --surface-page: var(--white);
  --surface-dark: var(--black);
  --surface-placeholder: var(--gray-1);
  --text-primary: var(--black);
  --text-secondary: var(--gray-3);
  --text-on-dark: var(--white);
  --text-on-dark-secondary: var(--gray-4);
  --text-accent: var(--raspberry);
  --text-accent-on-dark: var(--raspberry-bright);
  --border-grid: var(--grid);
  --border-strong: var(--black);
  --border-on-dark: var(--black-rule);
  --action-primary: var(--raspberry);
  --action-primary-hover: var(--raspberry-press);
  --mark-asterisk: var(--raspberry);
  --focus-ring: var(--raspberry);
  --shadow-none: none;
  --shadow-overlay: 0 8px 28px rgba(23,23,23,.16);
}
:root {
  --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;
  --space-10: 160px;
  --radius-0: 0;
  --radius-button: 0;
  --radius-card: 0;
  --radius-image: 0;
  --radius-pill: 999px;
  --page-margin: clamp(20px,4vw,56px);
  --content-max: 1440px;
  --grid-columns: 12;
  --grid-gap: clamp(12px,1.6vw,24px);
  --measure: 58ch;
  --text-mega: clamp(64px,10.5vw,168px);
  --text-display: clamp(48px,6.4vw,104px);
  --text-h1: clamp(40px,4.6vw,72px);
  --text-h2: clamp(32px,3.2vw,48px);
  --text-h3: 28px;
  --text-h4: 21px;
  --text-lead: 22px;
  --text-body: 17px;
  --text-small: 15px;
  --text-label: 12px;
  --leading-mega: .9;
  --leading-display: .95;
  --leading-heading: 1.02;
  --leading-body: 1.5;
  --tracking-mega: -0.045em;
  --tracking-display: -0.035em;
  --tracking-heading: -0.02em;
  --tracking-label: 0.12em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-black: 800;
  --font-display: 'Stack Sans Headline','Helvetica Neue',Arial,sans-serif;
  --font-text: 'Source Sans 3','Source Sans Pro','Helvetica Neue',Arial,sans-serif;
}
.mega {
  font-family: var(--font-display);
  font-size: 168px;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.045em;
}
.display {
  font-family: var(--font-display);
  font-size: 104px;
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -0.035em;
}
.h1 {
  font-family: var(--font-display);
  font-size: 72px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.h2 {
  font-family: var(--font-display);
  font-size: 48px;
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.h3 {
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.h4 {
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.lead {
  font-family: var(--font-text);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
}
.body {
  font-family: var(--font-text);
  font-size: 17px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0;
}
.small {
  font-family: var(--font-text);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
.label {
  font-family: var(--font-text);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.12em;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-normal-latin.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-italic-latin.woff2") format("woff2");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Stack Sans Headline";
  src: url("fonts/StackSansHeadline-normal-latin.woff2") format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}
