/* Kokoro: generated from tokens.json. Edit tokens.json, then regenerate. */

:root, [data-theme="light"] {
  --brand: #BE3A24;
  --on-brand: #FFFFFF;
  --brand-hover: #A3311E;
  --accent: #3B4B5C;
  --accent-hover: #2C3946;
  --ink: #1F1D1A;
  --ink-2: #4D4842;
  --ink-3: #6E675F;
  --hairline: #DCD6CC;
  --control-border: var(--ink-3);
  --surface: #F7F4EE;
  --surface-tint: #EFEAE1;
  --surface-highlight: #F4E7E2;
  --surface-deep: #E9DECB;
  --on-ink: #EFEAE1;
  --on-ink-2: #A9A196;
  --ink-hairline: #3A3631;
  --focus: #3B4B5C;
  --success: #1F6B5E;
  --success-tint: #E4EFEB;
  --error: #8F2626;
  --error-tint: #F3E1DE;
  --shadow-float: 0 4px 16px rgba(31, 29, 26, 0.08);
}

:root {
  --tap-target: 48px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;
  --rhythm-chapter: clamp(64px, 37px + 7.1vw, 128px);
  --rhythm-section: clamp(48px, 28px + 5.3vw, 96px);
  --rhythm-block: clamp(32px, 25px + 1.8vw, 48px);
  --rhythm-stack: clamp(12px, 10px + 0.45vw, 16px);
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-circle: 50%;
  --border-hairline: 1px;
  --border-rule: 2px;
  --measure: 36em;
  --container: 1440px;
  --grid-gutter: 24px;
  --text-h1: clamp(34px, 1.64rem + 2.07vw, 56px);
  --text-h2: clamp(26px, 1.36rem + 1.13vw, 38px);
  --text-h3: clamp(19px, 1.078rem + 0.47vw, 24px);
  --text-body: clamp(17px, 0.996rem + 0.282vw, 20px);
  --text-lead: clamp(18px, 1.021rem + 0.442vw, 22px);
  --text-eyebrow: var(--text-h3);
  --text-small: clamp(15px, 0.89rem + 0.188vw, 17px);
  --text-button: clamp(17px, 0.996rem + 0.282vw, 20px);
  --icon-size-sm: 20px;
  --icon-size-md: 24px;
  --dur-fast: 150ms;
  --dur-enter: 360ms;
  --dur-exit: 240ms;
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --stagger: 40ms;
  --rise: 12px;
  --font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  --font-sans: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
}

.display { font-family: var(--font-display); font-size: 52px; line-height: 60px; font-weight: 500; letter-spacing: 0.01em; }
.figure { font-family: var(--font-display); font-size: 44px; line-height: 52px; font-weight: 500; letter-spacing: 0.01em; }
.h1 { font-family: var(--font-sans); font-size: 44px; line-height: 52px; font-weight: 500; letter-spacing: 0; }
.h2 { font-family: var(--font-sans); font-size: 30px; line-height: 38px; font-weight: 500; letter-spacing: 0; }
.h3 { font-family: var(--font-sans); font-size: 21px; line-height: 28px; font-weight: 700; letter-spacing: 0.01em; }
.eyebrow { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 700; letter-spacing: 0; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 29px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 18px; line-height: 29px; font-weight: 400; }
.small { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 400; letter-spacing: 0.01em; }
.button { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 500; letter-spacing: 0.04em; }
