/* ─────────────────────────────────────────────────────────────────────────
   base.css — reset + typography helpers (gk-display, gk-h1…)
   ───────────────────────────────────────────────────────────────────────── */

html, body { margin: 0; padding: 0; }

.gk-scope *,
.gk-scope *::before,
.gk-scope *::after { box-sizing: border-box; }

.gk-scope h1,
.gk-scope h2,
.gk-scope h3,
.gk-scope h4,
.gk-scope p,
.gk-scope ul,
.gk-scope ol,
.gk-scope figure { margin: 0; padding: 0; }

.gk-scope ul,
.gk-scope ol { list-style: none; }

.gk-scope button { font: inherit; color: inherit; }
.gk-scope a { color: inherit; text-decoration: none; }
.gk-scope img,
.gk-scope svg { display: block; }

.gk-ja { font-family: "Noto Sans JP", "Plus Jakarta Sans", sans-serif; }
.gk-ja-serif { font-family: "Noto Serif JP", serif; }
.gk-mono { font-family: "JetBrains Mono", ui-monospace, monospace; font-feature-settings: "tnum"; }

/* Display + heading type scale */
.gk-display { font-weight: 800; font-size: 64px; line-height: 1.02; letter-spacing: -0.035em; }
.gk-h1      { font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -0.03em; }
.gk-h2      { font-weight: 700; font-size: 28px; line-height: 1.15; letter-spacing: -0.02em; }
.gk-h3      { font-weight: 700; font-size: 20px; line-height: 1.25; letter-spacing: -0.01em; }
.gk-h4      { font-weight: 600; font-size: 16px; line-height: 1.35; letter-spacing: -0.005em; }
.gk-body    { font-weight: 400; font-size: 15px;   line-height: 1.55; }
.gk-body-sm { font-weight: 400; font-size: 13.5px; line-height: 1.5; }
.gk-eyebrow { font-weight: 600; font-size: 11px;   line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); }
