/* Korastel · typography
   Modern geometric sans, set with tight display tracking and generous body
   measure. Uppercase micro-labels borrow the wide letterspacing of the
   KORASTEL wordmark. */

body {
  font-family: var(--k-font-sans);
  font-size: var(--k-text-lg);
  line-height: var(--k-leading-relaxed);
  color: var(--k-color-text);
  background-color: var(--k-color-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis-weight: none;
}

h1,
h2,
h3,
h4,
.k-display,
.k-h1,
.k-h2,
.k-h3,
.k-h4 {
  font-family: var(--k-font-display);
  font-weight: var(--k-weight-semibold);
  letter-spacing: var(--k-tracking-tight);
  line-height: var(--k-leading-snug);
  text-wrap: balance;
}

.k-display {
  font-size: var(--k-text-5xl);
  line-height: var(--k-leading-tight);
}

.k-h1 {
  font-size: var(--k-text-4xl);
  line-height: var(--k-leading-tight);
}

.k-h2 {
  font-size: var(--k-text-3xl);
}

.k-h3 {
  font-size: var(--k-text-2xl);
  letter-spacing: var(--k-tracking-snug);
}

.k-h4 {
  font-size: var(--k-text-xl);
  letter-spacing: var(--k-tracking-snug);
}

.k-lead {
  font-size: var(--k-text-xl);
  line-height: var(--k-leading-normal);
  color: var(--k-color-text-secondary);
  text-wrap: pretty;
}

.k-body {
  font-size: var(--k-text-lg);
  color: var(--k-color-text-secondary);
  text-wrap: pretty;
}

.k-body-sm {
  font-size: var(--k-text-sm);
  line-height: var(--k-leading-normal);
  color: var(--k-color-text-secondary);
}

/* Wide-tracked uppercase micro-label — the system's structural voice. */
.k-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--k-space-3);
  font-size: var(--k-text-xs);
  font-weight: var(--k-weight-semibold);
  letter-spacing: var(--k-tracking-wider);
  text-transform: uppercase;
  color: var(--k-color-text-muted);
}

.k-eyebrow--accent {
  color: var(--k-color-text-accent);
}

/* Section index, e.g. "01". Monospaced so the digits stay on the grid. */
.k-index {
  font-family: var(--k-font-mono);
  font-size: var(--k-text-xs);
  font-weight: var(--k-weight-medium);
  letter-spacing: var(--k-tracking-wide);
  color: var(--k-color-text-muted);
  font-variant-numeric: tabular-nums;
}

.k-link {
  color: var(--k-color-text-accent);
  font-weight: var(--k-weight-medium);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
  transition: text-decoration-color var(--k-duration-fast) var(--k-ease-standard);
}

.k-link:hover {
  text-decoration-color: currentColor;
}

/* Aurora-gradient text. Falls back to Emerald ink where unsupported. */
.k-text-aurora {
  color: var(--k-color-emerald-ink);
}

@supports (background-clip: text) or (-webkit-background-clip: text) {
  .k-text-aurora {
    background-image: var(--k-gradient-aurora);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .k-theme-inverse .k-text-aurora {
    background-image: linear-gradient(
      90deg,
      var(--k-color-emerald-bright),
      var(--k-color-teal-bright)
    );
  }
}

.k-measure {
  max-width: 62ch;
}

.k-measure-tight {
  max-width: 48ch;
}
