:root {
  /* === Background === */
  --bg:             #f5f4f1;
  --bg-elevated:    #faf9f7;
  --bg-hero:        #f0efec;

  /* === Surface === */
  --surface:        rgba(255, 255, 255, 0.56);
  --surface-hover:  rgba(255, 255, 255, 0.72);

  /* === Ink === */
  --ink:            #1a1a1f;
  --ink-soft:       rgba(26, 26, 31, 0.72);
  --ink-faint:      rgba(26, 26, 31, 0.42);
  --ink-ghost:      rgba(26, 26, 31, 0.18);

  /* === Line === */
  --line:           rgba(26, 26, 31, 0.08);
  --line-strong:    rgba(26, 26, 31, 0.14);

  /* === Accent === */
  --accent:         #2e6d76;
  --accent-light:   rgba(46, 109, 118, 0.10);
  --accent-text:    #246068;

  /* === Typography — Stacks === */
  --font-ja:        'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic UI', Meiryo, sans-serif;
  --font-display:   'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-label:     'Sora', ui-sans-serif, system-ui, sans-serif;
  --font-brand:     'Sora', ui-sans-serif, system-ui, sans-serif;

  /* === Typography — Scale === */
  --text-hero:      clamp(38px, 7vw, 84px);
  --text-h2:        clamp(24px, 3.2vw, 42px);
  --text-h3:        clamp(22px, 2.8vw, 34px);
  --text-statement: clamp(24px, 3vw, 44px);
  --text-lead:      clamp(16px, 1.5vw, 21px);
  --text-body:      clamp(14px, 1.1vw, 16px);
  --text-small:     clamp(12px, 0.9vw, 14px);
  --text-label:     11px;

  /* === Typography — Line Height === */
  --leading-tight:   0.95;
  --leading-heading: 1.15;
  --leading-body:    1.85;
  --leading-label:   1.4;

  /* === Typography — Letter Spacing === */
  --tracking-tight:   -0.06em;
  --tracking-heading: -0.04em;
  --tracking-body:     0.01em;
  --tracking-label:    0.14em;

  /* === Spacing === */
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   24px;
  --space-6:   32px;
  --space-7:   40px;
  --space-8:   48px;
  --space-9:   64px;
  --space-10:  80px;
  --space-11:  96px;
  --space-12:  128px;
  --space-13:  160px;

  /* === Layout === */
  --max-w:     1200px;
  --max-w-narrow: 860px;

  /* === Shadows === */
  --shadow-soft:   0 16px 50px rgba(26, 26, 31, 0.04);
  --shadow-medium: 0 24px 80px rgba(26, 26, 31, 0.06);

  /* === Radius === */
  --radius-sm:   12px;
  --radius-md:   20px;
  --radius-lg:   28px;
  --radius-pill: 999px;

  /* === Transitions === */
  --ease-out:      cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:   cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:      180ms;
  --dur-normal:    320ms;
  --dur-slow:      600ms;
}
