/* Stellar UFO — Base element defaults
 * Applies the brand foundations to bare HTML so consumers get the right
 * paper, type, and rhythm by default. Tokens come from the files above.
 */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--text-primary);
  background: var(--surface-page);
  word-break: keep-all;        /* Korean line-breaking — keep words intact */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4, p { margin-top: 0; }

h1 {
  font-family: var(--font-display);
  font-size: var(--text-display-xl);
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  font-weight: var(--weight-ultra);
}
h2 {
  font-size: var(--text-display-lg);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-h2);
  font-weight: var(--weight-black);
}
h3 {
  font-size: var(--text-h3);
  letter-spacing: var(--tracking-h3);
  font-weight: var(--weight-bold);
}
p {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}

/* Kicker / eyebrow — short uppercase Latin label */
.su-kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--accent-primary);
  font-size: var(--text-label);
  font-weight: var(--weight-ultra);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

/* Lead paragraph */
.su-lead {
  color: rgba(10, 33, 66, 0.82);
  font-size: var(--text-lead);
  line-height: var(--leading-snug);
  font-weight: var(--weight-black);
  letter-spacing: var(--tracking-h3);
}

::selection { background: var(--mint); color: var(--navy); }
