/* ═══════════════════════════════════════════
   로컬 바이브 (Local Vibe) — Design Tokens
   Source: design/DESIGN.md (Figma 확정)
   ═══════════════════════════════════════════ */

@font-face {
  font-family: 'MunmakchoByeolban';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2604-1@1.0/MUNMAK_BYEOLBANCHE.woff2') format('woff2');
  font-weight: normal;
  font-display: swap;
}

/* ─── 본문 폰트 Freesentation (noonnu CDN, weight 100~900) ─── */
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-1Thin.woff2') format('woff2'); font-weight:100; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-2ExtraLight.woff2') format('woff2'); font-weight:200; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-3Light.woff2') format('woff2'); font-weight:300; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-4Regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-5Medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-6SemiBold.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-7Bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-8ExtraBold.woff2') format('woff2'); font-weight:800; font-display:swap; }
@font-face { font-family:'Presentation'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-9Black.woff2') format('woff2'); font-weight:900; font-display:swap; }

/* ─── Cafe24 Shiningstar (손글씨 — 컨셉 제목 괄호 안 단어 전용, self-host) ─── */
@font-face {
  font-family: 'Cafe24 Shiningstar';
  src: url('fonts/Cafe24Shiningstar.woff2') format('woff2'),
       url('fonts/Cafe24Shiningstar.woff') format('woff');
  font-weight: normal;
  font-display: swap;
}

:root {
  /* ─── Core Colors ─── */
  --color-surface-base: #2B2420;
  --color-surface-dark: #1D1A18;
  --color-surface-muted: #F3F3F3;
  --color-surface-white: #FFFFFF;
  --color-text-primary: #F0EF90;
  --color-text-secondary: #B0AFCF;
  --color-text-dark: #1D1A18;
  --color-text-heading: #316B9D;

  /* ─── Accent Colors ─── */
  --color-accent-red: #EA3E4A;
  --color-accent-blue: #43AAFA;
  --color-accent-yellow: #FDF45B;
  --color-accent-black: #181818;

  /* ─── Typography ─── */
  --font-primary: 'Presentation', 'Noto Sans KR', Pretendard, 'Apple SD Gothic Neo', sans-serif;
  --font-display: 'Kakao Big Sans', 'Noto Sans KR', sans-serif;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-md: 16px;
  --fs-lg: 17px;
  --fs-xl: 19px;
  --fs-2xl: 22px;
  --fs-3xl: 26px;
  --fs-4xl: 30px;
  --fw-light: 300;
  --fw-base: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 900;
  --lh-base: 1.6;
  --lh-tight: 1.2;

  /* ─── Spacing ─── */
  --sp-1: 2px;
  --sp-2: 5px;
  --sp-3: 6px;
  --sp-4: 7px;
  --sp-5: 8px;
  --sp-6: 10px;
  --sp-7: 11px;
  --sp-8: 13px;
  --sp-element: 26px;
  --sp-block: 39px;
  --sp-section: 52px;

  /* ─── Effects ─── */
  --radius-pill: 0;
  --radius-card: 0;
  --radius-sm: 0;
  --shadow-1: 0 0 6px rgba(61, 77, 84, 0.28);
  --shadow-2: 0 3px 6px rgba(33, 56, 121, 0.16);
  --shadow-3: 0 3px 6px rgba(0, 0, 0, 0.16);
  --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
  --motion: 400ms ease;

  /* ─── Layout ─── */
  --max-width: 1200px;
  --gnb-height: 100px;
  --gutter: clamp(16px, 3vw, 48px);
}
