

:root {
  
  --c-ivory: #F5F3EF;
  --c-white: #FFFFFF;
  --c-black: #0B0B0B;
  --c-soft-black: #151515;
  --c-burgundy: #641B24;
  --c-red: #C1121F;
  --c-champagne: #D8CBB9;
  --c-gray: #77736D;

  
  --c-ivory-deep: #EBE8E2;
  --c-line: #DCD8D1;
  --c-line-strong: #C6C1B8;
  --c-line-dark: #2A2A2A;
  --c-burgundy-deep: #4B141B;
  --c-red-deep: #9E0F19;

  
  --bg: var(--c-ivory);
  --bg-raised: var(--c-white);
  --fg: var(--c-black);
  
  --fg-muted: #6B675F;
  --fg-faint: #726E66;
  --line: var(--c-line);
  --accent: var(--c-red);
  --accent-text: var(--c-red);
  --accent-deep: var(--c-burgundy);

  
  --font-sans: 'Archivo', 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, sans-serif;

  --fs-hero: clamp(2.6rem, 7.6vw, 7rem);
  --fs-display: clamp(2.1rem, 5.2vw, 4.5rem);
  --fs-h2: clamp(1.75rem, 3.9vw, 3.4rem);
  --fs-h3: clamp(1.3rem, 2.1vw, 1.9rem);
  --fs-h4: clamp(1.05rem, 1.35vw, 1.25rem);
  --fs-lead: clamp(1.0625rem, 1.35vw, 1.375rem);
  --fs-body: clamp(0.9688rem, 0.9rem + 0.22vw, 1.0625rem);
  --fs-small: 0.8125rem;
  --fs-micro: 0.6875rem;

  --lh-tight: 0.94;
  --lh-snug: 1.1;
  --lh-normal: 1.32;
  --lh-relaxed: 1.62;

  --tracking-hero: -0.035em;
  --tracking-display: -0.028em;
  --tracking-title: -0.018em;
  --tracking-wide: 0.16em;
  --tracking-wider: 0.24em;

  
  --sp-3xs: 0.25rem;
  --sp-2xs: 0.5rem;
  --sp-xs: 0.75rem;
  --sp-sm: 1rem;
  --sp-md: 1.5rem;
  --sp-lg: 2.25rem;
  --sp-xl: 3.5rem;
  --sp-2xl: 5rem;
  --sp-3xl: 7.5rem;

  
  --section-y: clamp(4.5rem, 9vw, 10.5rem);
  --section-y-tight: clamp(3rem, 6vw, 6.5rem);

  
  --gutter: clamp(1.25rem, 4.2vw, 4.5rem);
  --max-w: 1560px;
  --max-w-content: 1280px;
  --max-w-text: 62ch;
  --max-w-narrow: 46ch;

  
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur: 320ms;
  --dur-slow: 720ms;
  --dur-reveal: 900ms;

  
  --radius: 2px;
  --radius-lg: 3px;
  --header-h: 76px;
  --focus-ring: 2px solid var(--c-red);
}

@media (min-width: 1024px) {
  :root {
    --header-h: 88px;
  }
}



[data-surface='ivory'] {
  --bg: var(--c-ivory);
  --bg-raised: var(--c-white);
  --fg: var(--c-black);
  --fg-muted: #6B675F;   
  --fg-faint: #726E66;   
  --line: var(--c-line);
  --accent: var(--c-red);
  --media-ink: #6B675F;
  --accent-text: var(--c-red);
}

[data-surface='white'] {
  --bg: var(--c-white);
  --bg-raised: var(--c-ivory);
  --fg: var(--c-black);
  --fg-muted: #6B675F;   
  --fg-faint: #79756D;   
  --line: var(--c-line);
  --accent: var(--c-red);
  --media-ink: #6B675F;
  --accent-text: var(--c-red);
}

[data-surface='black'] {
  --bg: var(--c-black);
  --bg-raised: var(--c-soft-black);
  --fg: var(--c-ivory);
  --fg-muted: #8E8A84;   
  --fg-faint: #7E7A72;   
  --line: var(--c-line-dark);
  --accent: var(--c-red);
  --media-ink: #8B8780;
  --accent-text: var(--c-champagne);
}

[data-surface='soft-black'] {
  --bg: var(--c-soft-black);
  --bg-raised: #1E1E1E;
  --fg: var(--c-ivory);
  --fg-muted: #8E8A84;   
  --fg-faint: #837F77;   
  --line: #2E2E2E;
  --accent: var(--c-red);
  --media-ink: #8B8780;
  --accent-text: var(--c-champagne);
}

[data-surface='burgundy'] {
  --bg: var(--c-burgundy);
  --bg-raised: var(--c-burgundy-deep);
  --fg: var(--c-ivory);
  --fg-muted: #C6A9AD;   
  --fg-faint: #B48289;   
  --line: #7C3039;
  --accent: var(--c-champagne);
  --media-ink: #B48289;
  --accent-text: var(--c-champagne);
}

[data-surface='champagne'] {
  --bg: var(--c-champagne);
  --bg-raised: var(--c-ivory);
  --fg: var(--c-black);
  --fg-muted: #5A564E;   
  --fg-faint: #5A564E;
  --line: #C2B4A1;
  --accent: var(--c-burgundy);
  --media-ink: #5A564E;
  --accent-text: var(--c-burgundy);
}
