/* Beyond Village existing web design tokens. */
:root {
  /* color · base */
  --bv-green:        #5C6E57;
  --bv-beige:        #D9CBB6;
  --bv-mist:         #C8D0C7;
  --bv-clay:         #7B6A55;
  --bv-charcoal:     #2A2A2A;

  /* color · accent (use sparingly, max 10% area) */
  --bv-teal:         #3E8E8C;

  /* color · neutral / surfaces */
  --bv-paper:        #FBF8F2;
  --bv-paper-2:      #F4EEDF;
  --bv-ink:          #1A1A1A;
  --bv-ink-2:        rgba(26, 26, 26, 0.62);
  --bv-ink-3:        rgba(26, 26, 26, 0.38);
  --bv-rule:         rgba(26, 26, 26, 0.10);

  /* color · functional */
  --bv-warn:         #B4664B;
  --bv-link:         var(--bv-teal);

  /* typography · families */
  --bv-font-display: 'Pretendard Variable', 'Pretendard', system-ui, sans-serif;
  --bv-font-body:    'Noto Sans KR', 'Pretendard', system-ui, sans-serif;
  --bv-font-sig:     'Playfair Display', Georgia, serif; /* ENGLISH ONLY */
  --bv-font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* typography · type scale (web defaults; for slides use cqw variant) */
  --bv-fz-2xl:       clamp(72px, 9vw, 144px);
  --bv-fz-xl:        clamp(56px, 6.5vw, 96px);
  --bv-fz-l:         clamp(40px, 4.5vw, 64px);
  --bv-fz-m:         clamp(28px, 3vw, 40px);
  --bv-fz-title:     clamp(20px, 2vw, 28px);
  --bv-fz-lead:      19px;
  --bv-fz-body:      17px;
  --bv-fz-caption:   14px;
  --bv-fz-micro:     12px;

  --bv-lh-display:   0.98;
  --bv-lh-title:     1.3;
  --bv-lh-body:      1.65;

  /* spacing scale */
  --bv-sp-1:  4px;
  --bv-sp-2:  8px;
  --bv-sp-3:  12px;
  --bv-sp-4:  16px;
  --bv-sp-5:  24px;
  --bv-sp-6:  32px;
  --bv-sp-7:  48px;
  --bv-sp-8:  64px;
  --bv-sp-9:  96px;

  /* radius */
  --bv-radius-sm:    4px;
  --bv-radius-md:    6px;
  --bv-radius-lg:    12px;
  --bv-radius-round: 999px;

  /* layout */
  --bv-maxw-content: 1200px;
  --bv-maxw-narrow:  720px;
}
