:root {
  /* Existing site typeface, preserved. */
  --font-thai: 'Sukhumvit Set', 'Thonburi', sans-serif;

  /* Palette: white stage, black ink, neutral greys. Colour is reserved for real logos. */
  --c-bg: #ffffff;
  --c-ink: #0b0b0c;
  --c-ink-2: #45464b;
  --c-ink-3: #75767c;
  --c-line: #e7e7eb;
  --c-line-strong: #cdcdd3;
  --c-surface: #f5f5f7;
  --c-surface-2: #fafafb;
  --c-on-ink: #ffffff;
  --c-on-ink-2: #b9b9bf;

  /* Semantic accents, used sparingly where colour carries meaning. */
  --c-line-green: #06c755;
  --c-bubble-mine: #a6e07c; /* LINE's own-message green */
  --c-success: #15803d;
  --c-success-bg: #dcfce7;
  --c-wait: #b45309;
  --c-wait-bg: #fef3c7;
  --c-info: #1d4ed8;
  --c-info-bg: #dbeafe;
  --c-vendor: #6d28d9;
  --c-vendor-bg: #ede9fe;
  /* Mascot gradient (assets/logo-mark.svg), used only on the recommended plan. */
  --c-mascot-1: #dcc7ff;
  --c-mascot-2: #6472ff;
  --c-mascot-ink: #3b3fd1;
  --c-mascot-tint: #f6f2ff;
  --c-pdf: #e5484d;
  --c-xlsx: #1d7a45;

  /* Type scale: editorial contrast, Thai-safe line heights. */
  --t-display: clamp(2.6rem, 1.15rem + 5.1vw, 6.1rem);
  --t-heading: clamp(2rem, 1.2rem + 2.9vw, 4rem);
  --t-heading-sm: clamp(1.7rem, 1.2rem + 1.7vw, 2.75rem);
  --t-lede: clamp(1.08rem, 0.98rem + 0.45vw, 1.35rem);
  --t-body: 1.0625rem;
  --t-small: 0.9375rem;
  --t-micro: 0.8125rem;
  --lh-display: 1.2;
  --lh-heading: 1.28;
  --lh-body: 1.72;

  /* Space: rhythmic, not uniform. */
  --gutter: clamp(16px, 4.2vw, 56px);
  --max: 1240px;
  --space-section: clamp(5.5rem, 3rem + 9vw, 11rem);
  --space-block: clamp(2.5rem, 1.6rem + 3vw, 4.5rem);

  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-pill: 999px;

  --shadow-float: 0 1px 0 rgba(255, 255, 255, 0.08) inset, 0 18px 40px -18px rgba(11, 11, 12, 0.45), 0 2px 6px rgba(11, 11, 12, 0.12);
  --shadow-card: 0 1px 2px rgba(11, 11, 12, 0.04), 0 12px 32px -20px rgba(11, 11, 12, 0.18);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.33, 0, 0.2, 1);
  --dur-fast: 160ms;
  --dur: 320ms;
  --dur-reveal: 1000ms;

  --header-h: 64px;
  color-scheme: light;
}
