/* =========================================================
   tokens.css — デザイントークン（1ソース管理）
   前結びきもの学院 / IBM Carbon 準拠 + 藍色アクセント

   ★ 色・フォント・余白を変えたい時は「このファイルだけ」を
     編集してください。全ページに自動で反映されます。
   ========================================================= */

:root {

  /* ---- アクセント色（藍色系・リンクや見出しの基調） ---- */
  --color-primary:         #165e83;  /* 藍色（メインの1色。リンク・タブ・帯） */
  --color-primary-hover:   #1d6f99;  /* ボタン等のホバー時（少し明るい藍） */
  --color-primary-pressed: #0e3f58;  /* ボタン押下時（濃い藍） */
  --color-on-primary:      #ffffff;  /* 藍色の上に載せる文字色 */

  /* ---- CTA色（体験教室の申込ボタン専用の朱） ----
     和の配色では「朱」が唯一の色。1画面に1〜2箇所までに留めると品が出ます。
     色を変えたい時はこの3つだけ変更してください。 */
  --color-cta:         #b74129;  /* 申込ボタン・CTA帯（朱） */
  --color-cta-hover:   #a03824;  /* ホバー時 */
  --color-cta-pressed: #8c3020;  /* 押下時 */
  --color-on-cta:      #ffffff;  /* 朱の上に載せる文字色 */

  /* ---- 金茶（きんちゃ）— 仕切りの金線・英字ラベルのアクセント ---- */
  --color-accent-gold:      #d4a96a;  /* 金線・装飾 */
  --color-accent-gold-deep: #b58a4a;  /* 文字に使う濃いめ */

  /* ---- 文字色（真っ黒を避け「墨」に寄せる＝和の作法） ---- */
  --color-ink:        #272727;  /* 見出し・本文（墨） */
  --color-ink-muted:  #5b554e;  /* 補足・サブテキスト */
  --color-ink-subtle: #8b857c;  /* キャプション・薄い注記（薄墨） */

  /* ---- 背景・面（純白ではなく「生成り」。紙の温度を持たせる） ---- */
  --color-canvas:    #f7f6f2;  /* ページ既定の背景（生成り） */
  --color-surface-1: #f0eee8;  /* 一段沈んだ帯・カード下地 */
  --color-surface-2: #e5e1d8;  /* さらに一段濃い面 */
  --color-paper:     #ffffff;  /* カード面（生成りの上に置いて浮かせる） */

  /* ---- 罫線（きわめて細い1本。和の「きめ」を作る） ---- */
  --color-hairline:        #e0dcd3;
  --color-hairline-strong: #272727;

  /* ---- 反転面（ヒーロー・フッター専用の墨地） ---- */
  --color-inverse-canvas:    #1a1714;
  --color-inverse-surface-1: #2a2521;
  --color-inverse-ink:       #ffffff;
  --color-inverse-ink-muted: rgba(255, 255, 255, 0.72);

  /* ---- セマンティック（成功/警告/エラー） ---- */
  --color-success: #24a148;
  --color-warning: #f1c21b;
  --color-error:   #da1e28;

  /* ---- フォント ----
     可読性優先の和: 本文・UIはサンセリフ、見出し・キャッチは明朝。
     英字ラベル（CONCEPT / VOICE 等）は欧文セリフで和文と対比させる。 */
  --font-sans: "IBM Plex Sans", "IBM Plex Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-mincho: "Shippori Mincho B1", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  --font-latin: "EB Garamond", "Times New Roman", serif;
  --fw-light:    300;
  --fw-regular:  400;  /* 本文 */
  --fw-medium:   500;  /* 明朝見出しの基本ウェイト（太くしすぎない） */
  --fw-semibold: 600;  /* 強調 */

  /* ---- 文字サイズ（Carbon 階層。clamp でモバイル自動縮小） ---- */
  --fs-display-xl: clamp(2.375rem, 1.5rem + 3.8vw, 4.75rem);   /* 38→76px: トップのヒーロー見出し */
  --fs-display-lg: clamp(2.125rem, 1.5rem + 2.8vw, 3.75rem);   /* 34→60px: セクション大見出し */
  --fs-display-md: clamp(1.75rem, 1.4rem + 1.6vw, 2.625rem);   /* 28→42px: 中見出し・ページタイトル */
  --fs-headline:   clamp(1.5rem, 1.3rem + 0.9vw, 2rem);        /* 24→32px: カード群の見出し */
  --fs-card-title: 1.5rem;    /* 24px: カードタイトル */
  --fs-subhead:    1.25rem;   /* 20px: リード文 */
  --fs-body-lg:    1.125rem;  /* 18px: ヒーロー下のリード */
  --fs-body:       1rem;      /* 16px: 標準本文 */
  --fs-body-sm:    0.875rem;  /* 14px: カード本文・フッター */
  --fs-caption:    0.75rem;   /* 12px: 日付・注記 */

  /* ---- 行間・字間（精緻和: 余白は保ちつつ、字間は締めて端正に） ---- */
  --lh-display: 1.45;    /* 明朝の大見出し（精緻に締める） */
  --lh-heading: 1.6;
  --lh-body:    1.9;     /* 本文の余白感は保持（可読性優先） */
  --lh-body-en: 1.6;
  --tracking-body:    0.02em;  /* 本文 */
  --tracking-caption: 0.04em;  /* 注記 */
  --tracking-display: 0.06em;  /* 明朝の大見出し（精緻に締める） */
  --tracking-heading: 0.06em;
  --tracking-latin:   0.16em;  /* 英字ラベル（欧文はゆったり） */

  /* ---- 余白（4px グリッド） ---- */
  --space-xxs: 4px;
  --space-xs:  8px;
  --space-sm:  12px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-xxl: 48px;
  /* セクション間の縦余白。和は「間」で語らせるため広めに取る
     （スマホ 72px → PC 120px） */
  --space-section: clamp(72px, 4vw + 40px, 120px);

  /* ---- 角丸: 和は直線。原則ゼロのまま変えない ---- */
  --radius: 0px;

  /* ---- レイアウト ---- */
  --container-max: 1200px;   /* 和は「広がり」より「集中」 */
  --container-pad: clamp(16px, 3vw, 32px);
  --nav-height: 48px;        /* ヘッダーの高さ */
  --tap-min: 48px;           /* タップターゲット最小値 */
}
