/* Mugen Dojo — design tokens
   原宿モダン × ミニマル
   Strict palette enforcement. */

:root {
  /* Colors — locked palette */
  --c-base: #FFFFFF;
  --c-sub-base: #FAFAFA;
  --c-accent: #00BCD4;       /* turquoise — CTA / link / icon only */
  --c-accent-2: #1ABC9C;     /* sub accent */
  --c-text: #2C2C2A;         /* primary text */
  --c-text-sub: #73726C;     /* secondary text */
  --c-line: #ECECEA;         /* hairline */
  --c-line-soft: #F2F2F0;

  /* Type */
  --f-jp: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --f-en: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Scale (fluid) */
  --fs-eyebrow: 11px;
  --fs-body: 15px;
  --fs-body-lg: 16px;
  --fs-h4: clamp(18px, 1.6vw, 22px);
  --fs-h3: clamp(22px, 2vw, 28px);
  --fs-h2: clamp(30px, 3.4vw, 48px);
  --fs-h1: clamp(40px, 6vw, 88px);
  --fs-display: clamp(56px, 9vw, 144px);

  /* Spacing */
  --pad-x: clamp(20px, 5vw, 80px);
  --section-y: clamp(80px, 12vw, 160px);

  /* Motion */
  --ease: cubic-bezier(.2,.7,.3,1);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  font-family: var(--f-jp);
  font-size: var(--fs-body);
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt" 1;
}

/* English/Latin should use Inter via per-element class */
.en, .num {
  font-family: var(--f-en);
  font-feature-settings: "ss01", "cv11";
  letter-spacing: 0;
}

a { color: inherit; text-decoration: none; }

img, svg { display: block; max-width: 100%; }

button { font-family: inherit; font-size: inherit; cursor: pointer; }

::selection { background: #C8F4F8; color: var(--c-text); }
