/* Hallmark · macrostructure: Split Studio (H2 hero: logo left / copy right) · theme: custom
 * vibe: "ant-nest network, navy on white, formal trust" · paper: oklch(100% 0 0) · accent: oklch(30% 0.075 272)
 * display: Shippori Mincho 700 · body: Noto Serif JP · label-en: Jost · axes: light / japanese-mincho (classical-serif) / cool-navy (~272°)
 * genre: modern-minimal · nav: N1b · footer: Ft2 · studied: no · context: user-provided · Hallmark v0.8.0
 * v2.0.0 (2026-08-10) — 黒×ゴールド(v1)から全面刷新。背景白はユーザー確定。
 * v2.1 (2026-08-12) — 明朝化(ユーザー指示「固く」)。stamp の display 軸も更新済み。
 */
:root {
  /* ---- Colors (OKLCH — DESIGN.md frontmatter と同期。正は DESIGN.md) ---- */
  --color-paper: oklch(100% 0 0);             /* surface — 純白(ユーザー確定) */
  --color-paper-2: oklch(96.5% 0.006 262);    /* surface-container — 薄青グレーの帯 */
  --color-paper-3: oklch(93% 0.01 262);       /* 第2段階の面(hover 等) */
  --color-ink: oklch(27% 0.05 272);           /* on-surface — 紺(ロゴ由来) */
  --color-ink-2: oklch(41% 0.035 270);        /* on-surface-variant — 二次テキスト */
  --color-rule: oklch(87% 0.01 262);          /* outline — 罫線 */
  --color-muted: oklch(52% 0.022 268);        /* 注記等の弱いテキスト */
  --color-accent: oklch(30% 0.075 272);       /* primary — 濃紺(CTA・ナビピル) */
  --color-accent-ink: oklch(100% 0 0);        /* on-primary — 紺上の白文字 */
  --color-brand-red: oklch(54% 0.19 28);      /* ロゴの赤。極小ワンポイント専用(面で使わない) */
  --color-focus: oklch(45% 0.14 270);         /* focus ring — 紺・高彩度 */
  --color-scrim: oklch(27% 0.05 272 / 0.45);  /* 写真上のオーバーレイ(使用時のみ) */
  --color-danger: oklch(45% 0.16 28);         /* フォームエラー等の機能色(brand-red 規約とは独立。白地 AA) */

  /* ---- Typography ----
     v2.1 (2026-08-12): ユーザー指示「フォントを固くしたい→明朝で統一」により
     Zen Kaku Gothic New / Noto Sans JP → 明朝系へ全面変更 */
  --font-display: "Shippori Mincho", "Noto Serif JP", serif;
  --font-display-en: "Jost", sans-serif;      /* 英字セクションラベル専用 */
  --font-body: "Noto Serif JP", "Shippori Mincho", serif;

  --text-display: clamp(1.875rem, 4vw + 0.5rem, 3.25rem); /* ヒーロー(和文) */
  /* v2.1.3(2026-08-12): 「見出し2・3が小さい」指摘により
     3xl 上限 32→36px / xl 20→22px(ヒーローの display は据え置き)。 */
  --text-3xl: clamp(1.625rem, 2.3vw + 0.8rem, 2.25rem);   /* セクション見出し */
  --text-xl: 1.375rem;       /* title-md — カード見出し等 */
  /* v2.1.3(2026-08-12): 「本文が小さい」指摘により base 16→17px / sm 13→14px。
     見出し(display/3xl/xl)は据え置き。 */
  --text-base: 1.0625rem;
  --text-sm: 0.875rem;
  --text-label-en: 0.875rem;

  --leading-display: 1.4;    /* 明朝の大見出し。詰めすぎると和文の字面が窮屈になる */
  --leading-heading: 1.5;
  --leading-body: 1.9;       /* 和文本文 */
  --leading-label: 1.4;      /* label-md / label-strong */
  --leading-label-en: 1.2;   /* label-en */
  --tracking-display: 0.03em;
  --tracking-heading: 0.02em;
  --tracking-label-en: 0.12em;
  --tracking-body: 0.02em;   /* body-md */
  --tracking-ui: 0.04em;     /* ボタン・ナビ等の UI ラベル */

  /* ---- Spacing (4pt scale) ---- */
  --space-3xs: 2px;
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 96px;

  /* ---- Radius(親しみやすさ=丸み。ボタンはピル) ---- */
  --radius-none: 0px;
  --radius-input: 4px;
  --radius-card: 8px;
  --radius-pill: 999px;

  /* ---- Rules ---- */
  --rule-hairline: 1px solid var(--color-rule);

  /* ---- Motion(fade-in のみ) ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.87, 0, 0.13, 1);
  --dur-fast: 180ms;
  --dur-base: 240ms;
  --dur-slow: 320ms;
}

/* ============================================================
   SP(860px 未満)のタイプスケール(ユーザー指示 2026-08-13)
   xl 22→16px / base 17→13.6px / sm 14→12px(base との比率を維持)。
   見出し(--text-3xl / --text-hero)と英字ラベル(--text-label-en)は
   据え置き。860px は SP レイアウト(ヒーロー1カラム・ステップ縦・
   巣の SP 窓)と同じ切替点。
   ============================================================ */
@media (max-width: 859.98px) {
  :root {
    --text-xl: 1rem;
    --text-base: 0.85rem;
    --text-sm: 0.75rem;
  }
}
