/* ============================================================
   KOZAROCKS 2026 — Base / Reset
   tokens.css の後に読み込む。
   ============================================================ */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--lp-bg);
  color: var(--text-strong);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: var(--lh-body);
  letter-spacing: var(--ls-base);
  min-height: 100vh;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul { list-style: none; }

::selection { background: var(--lp-pink); color: #fff; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--lp-bg-dark); }
::-webkit-scrollbar-thumb { background: var(--lp-pink-light); }

/* ---------- Typography primitives ---------- */
.t-display {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: 0.02em;
}
.t-serif { font-family: var(--font-serif); }
.t-gold  { color: var(--koza-gold); }
.t-teal  { color: var(--lp-teal); }
.t-pink  { color: var(--lp-pink); }

/* グラデーション文字 (キーワードの格上げに限定使用) */
.t-grad {
  background: var(--grad-brand);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ---------- Layout helpers ---------- */
.section { padding: var(--section-pad); position: relative; z-index: 1; }
.section--mid { background: var(--lp-purple-mid); }   /* 交互背景 */
.section--dark { background: var(--lp-bg-dark); }
.container { max-width: var(--container); margin: 0 auto; position: relative; z-index: 1; }
.center { text-align: center; }

/* アクセシビリティ: モーション控えめ設定を尊重 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
