/* ============================================================
   CY Autotech — Design Tokens
   컬러·폰트·크기: has.or.kr (화성 중소기업지원 자문단) 기준
   본문 Open Sans / 제목 Krub / 포인트 Poppins (+한글 Noto Sans KR)
   ============================================================ */
:root {
  /* --- Color (has.or.kr palette) --- */
  --color-accent: #3b4ef8;          /* 포인트 인디고 (링크/CTA) */
  --color-accent-hover: #2c3ee0;
  --color-accent-press: #2434c9;
  --color-accent-soft: #e7eafe;     /* 인디고 틴트 */
  --color-link: #3b4ef8;

  --color-primary: #2d405f;         /* 제목 네이비 (다크 섹션 베이스) */
  --color-navy-700: #243450;
  --color-steel: #466393;

  /* neutrals */
  --n-0: #ffffff;
  --n-50: #f6f7ff;
  --n-100: #eff2f8;                 /* 라이트 섹션 */
  --n-200: #e2e5fe;
  --n-300: #d7dcec;                 /* hairline */
  --n-400: #aaaaaa;
  --n-500: #777777;                 /* secondary text */
  --n-600: #5b6478;
  --n-800: #343a40;                 /* dark gray section */
  --n-900: #2d405f;

  /* semantic (light defaults) */
  --color-bg: #ffffff;
  --color-bg-alt: #eff2f8;
  --color-bg-tint: #e7eafe;
  --color-bg-dark: #2d405f;
  --color-heading: #2d405f;
  --color-text: #262b33;            /* 본문 — 강한 차콜(시인성 보강, 기존 #444 대비 진하게) */
  --color-text-muted: #535b6d;      /* 보조 — AA 충족(기존 #777 4.5:1 미달 → 약 6.3:1) */
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: #c4ccdc;
  --color-border: #e1e5f0;
  --color-border-dark: rgba(255, 255, 255, 0.16);

  --color-success: #2e9e5b;
  --color-warning: #b25000;
  --color-error: #d6402c;

  /* --- Typography (has.or.kr: Open Sans / Krub / Poppins + Noto Sans KR) --- */
  --font-sans: "Open Sans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --font-display: "Krub", "Noto Sans KR", "Open Sans", -apple-system, sans-serif;     /* 제목 */
  --font-accent: "Poppins", "Noto Sans KR", "Open Sans", sans-serif;                  /* eyebrow/버튼/링크 */
  --font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;

  /* type scale (has.or.kr 기준: body 16 / h1 48 / h2 24 / h3 34) */
  --fs-display: clamp(2.4rem, 1.5rem + 3vw, 3.4rem);   /* 히어로 38~54 */
  --fs-h1: clamp(2rem, 1.45rem + 2vw, 3rem);           /* 48 */
  --fs-h2: clamp(1.6rem, 1.2rem + 1.3vw, 2.125rem);    /* 34 */
  --fs-h3: 1.5rem;                                      /* 24 */
  --fs-h4: 1.25rem;
  --fs-body-lg: 1.125rem;
  --fs-body: 1rem;                                      /* 16 */
  --fs-sm: 0.875rem;
  --fs-caption: 0.8125rem;

  --lh-tight: 1.18;
  --lh-snug: 1.35;
  --lh-body: 1.6;
  --tracking-tight: -0.005em;
  --tracking-wide: 0.06em;     /* eyebrow/accent (≈1px) */

  /* --- Spacing (8pt) --- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --space-32: 128px;

  /* --- Layout --- */
  --container-max: 1200px;
  --container-pad: 22px;
  --grid-cols: 12;
  --gutter: 22px;

  /* --- Radius / Shadow / Motion --- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 980px;
  --shadow-1: 0 2px 10px rgba(45, 64, 95, 0.06);
  --shadow-2: 0 16px 44px rgba(45, 64, 95, 0.14);
  --shadow-accent: 0 10px 30px rgba(59, 78, 248, 0.3);

  --z-header: 1000;
  --z-overlay: 1050;
  --z-modal: 1100;

  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 0.6s;
  --dur-fast: 0.25s;
}

/* 다크 섹션(.u-dark / [data-theme=dark]) — 네이비 베이스 */
[data-theme="dark"],
.u-dark {
  --color-bg: #2d405f;
  --color-bg-alt: #343a40;
  --color-heading: #ffffff;
  --color-text: #ffffff;
  --color-text-muted: #c4ccdc;
  --color-border: rgba(255, 255, 255, 0.16);
}
