/* SELAB public design system — Light editorial
   Layer 0: design tokens. Every color/size decision lives here. */
:root {
    /* Palette */
    --paper: #ffffff;
    --paper-soft: #f7f7f5;
    --ink: #111318;
    --ink-soft: #2c3038;
    --muted: #5c6270;
    --faint: #9aa0ac;
    --line: #e4e6eb;
    --line-strong: #c9ccd4;
    --accent: #d8552b;
    --accent-ink: #b13f1a;
    --accent-soft: #faeee9;
    --ok: #1d7a4f;
    --warn: #a05a00;
    --danger: #b3261e;

    /* Typography */
    --font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --fs-display: clamp(2.35rem, 5.5vw, 3.9rem);
    --fs-h1: clamp(2rem, 4.2vw, 3rem);
    --fs-h2: clamp(1.45rem, 2.8vw, 2rem);
    --fs-h3: 1.17rem;
    --fs-body: 1rem;
    --fs-small: .875rem;
    --fs-tiny: .78rem;
    --lh-tight: 1.22;
    --lh-body: 1.7;
    --track-caps: .14em;

    /* Spacing scale */
    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 16px;
    --sp-4: 24px;
    --sp-5: 40px;
    --sp-6: 64px;
    --sp-7: 96px;
    --section-pad: clamp(48px, 8vw, 96px);

    /* Layout */
    --container: 1200px;
    --container-pad: clamp(18px, 4vw, 32px);
    --header-h: 64px;

    /* Shape: editorial = square. Pills only for badges. */
    --radius: 0px;
    --radius-pill: 999px;
    --hair: 1px solid var(--line);
    --rule-heavy: 2px solid var(--ink);

    /* Motion */
    --dur: .22s;
    --dur-slow: .45s;
    --ease: cubic-bezier(.22, .61, .36, 1);
}
