:root {
  /* ---- Colour ---- */
  --c-bg: #FAF3EC;
  --c-bg-alt: #F2E9DE;
  --c-surface: #FFFFFF;
  --c-border: #B7AC99;

  --c-text: #241F26;
  --c-text-muted: #55505A;
  --c-text-muted-invert: #B8B2BE;
  --c-text-faint: #6B6570;
  --c-text-invert: #FFFFFF;

  --c-cta: #C0392B;
  --c-cta-shadow: rgba(192, 57, 43, .35);

  --c-teal: #0E7C77;
  --c-teal-dark: #0A5C58;
  --c-teal-tint: rgba(14, 124, 119, .12);
  --c-teal-tint-soft: rgba(14, 124, 119, .06);

  --c-plum: #3D1E45;
  --c-plum-soft: #EADFF0;

  --c-dark: #241F26;
  --c-dark-raised: #332C36;

  --c-success: #2E7D32;
  --c-success-tint: rgba(46, 125, 50, .12);
  --c-success-text: #256029;

  --c-star: #C99A2E;
  --c-viber: #7360F2;

  /* ---- Type ---- */
  --font-heading: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;

  --fs-h1: clamp(28px, 7vw, 46px);
  --fs-h2: clamp(24px, 5vw, 32px);
  --fs-h2-lg: clamp(24px, 6vw, 34px);
  --fs-h2-sm: clamp(22px, 5vw, 30px);
  --fs-lead: 18px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-xs: 13px;
  --fs-2xs: 12px;
  --fs-3xs: 11px;

  --lh-tight: 1.15;
  --lh-normal: 1.5;
  --lh-loose: 1.6;

  /* ---- Space ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 10px;
  --sp-4: 14px;
  --sp-5: 16px;
  --sp-6: 20px;
  --sp-7: 24px;
  --sp-8: 28px;
  --sp-9: 32px;
  --sp-10: 36px;
  --sp-11: 44px;
  --sp-12: 56px;
  --sp-13: 64px;

  --section-pad-y: 56px;
  --section-pad-x: 24px;

  --w-narrow: 760px;
  --w-mid: 900px;
  --w-wide: 1080px;
  --w-full: 1180px;

  /* ---- Shape ---- */
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 10px;
  --r-xl: 12px;
  --r-2xl: 14px;
  --r-pill: 20px;

  --shadow-card: 0 10px 26px rgba(0, 0, 0, .18);
  --shadow-cta: 0 8px 24px var(--c-cta-shadow);
  --shadow-img: drop-shadow(0 20px 30px rgba(0, 0, 0, .18));

  /* ---- Layout ---- */
  --tap-min: 44px;
  --breakpoint-md: 768px;
}
