/* Cal.com — Typography tokens
   Two roles: Cal Sans (display/headlines) + Pretendard (body, UI, nav, captions).
   JetBrains Mono for code. Display weight stays 600 with negative tracking. */

:root {
  /* --- Font families --- */
  /* Cal Sans is licensed to Cal.com and not a public webfont; the OFL display
     weight covers headlines. Pretendard is the primary UI/body face (Latin +
     Hangul). SUBSTITUTE for Cal Sans display: Pretendard 600 with tight tracking. */
  --font-display: "Cal Sans", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* --- Weights --- */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;

  /* --- Display scale (Cal Sans, 600, negative tracking) --- */
  --type-display-xl-size: 64px;
  --type-display-xl-line: 1.05;
  --type-display-xl-track: -2px;

  --type-display-lg-size: 48px;
  --type-display-lg-line: 1.1;
  --type-display-lg-track: -1.5px;

  --type-display-md-size: 36px;
  --type-display-md-line: 1.15;
  --type-display-md-track: -1px;

  --type-display-sm-size: 28px;
  --type-display-sm-line: 1.2;
  --type-display-sm-track: -0.5px;

  /* --- Title scale (Pretendard) --- */
  --type-title-lg-size: 22px;
  --type-title-lg-line: 1.3;
  --type-title-lg-track: -0.3px;

  --type-title-md-size: 18px;
  --type-title-md-line: 1.4;
  --type-title-md-track: 0;

  --type-title-sm-size: 16px;
  --type-title-sm-line: 1.4;
  --type-title-sm-track: 0;

  /* --- Body + supporting (Pretendard) --- */
  --type-body-md-size: 16px;
  --type-body-md-line: 1.5;

  --type-body-sm-size: 14px;
  --type-body-sm-line: 1.5;

  --type-caption-size: 13px;
  --type-caption-line: 1.4;

  --type-code-size: 14px;
  --type-code-line: 1.5;

  --type-button-size: 14px;
  --type-button-line: 1;

  --type-nav-link-size: 14px;
  --type-nav-link-line: 1.4;
}

/* --- Reusable type-role utility classes --- */
.cal-display-xl {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-display-xl-size);
  line-height: var(--type-display-xl-line);
  letter-spacing: var(--type-display-xl-track);
}
.cal-display-lg {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-display-lg-size);
  line-height: var(--type-display-lg-line);
  letter-spacing: var(--type-display-lg-track);
}
.cal-display-md {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-display-md-size);
  line-height: var(--type-display-md-line);
  letter-spacing: var(--type-display-md-track);
}
.cal-display-sm {
  font-family: var(--font-display);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-display-sm-size);
  line-height: var(--type-display-sm-line);
  letter-spacing: var(--type-display-sm-track);
}
.cal-title-lg {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-title-lg-size);
  line-height: var(--type-title-lg-line);
  letter-spacing: var(--type-title-lg-track);
}
.cal-title-md {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-title-md-size);
  line-height: var(--type-title-md-line);
}
.cal-title-sm {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-title-sm-size);
  line-height: var(--type-title-sm-line);
}
.cal-body-md {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-regular);
  font-size: var(--type-body-md-size);
  line-height: var(--type-body-md-line);
}
.cal-body-sm {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-regular);
  font-size: var(--type-body-sm-size);
  line-height: var(--type-body-sm-line);
}
.cal-caption {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-medium);
  font-size: var(--type-caption-size);
  line-height: var(--type-caption-line);
}
.cal-code {
  font-family: var(--font-mono);
  font-weight: var(--font-weight-regular);
  font-size: var(--type-code-size);
  line-height: var(--type-code-line);
}
