:root {
  /* v6 theme: warm ivory + plum · display Cormorant Garamond · body Hanken Grotesk
   * brand purple #764770 (corporate mauve, client-directed 2026-09-19 — "#8a2c86 too dark";
   * earlier: franchisor CSS #7a2d76, then high-chroma #8a2c86) · dark plum sections #2b1a32
   * shape: rounded system (pills + 12/16/20/22/26 cards) · no pure black/white
   */
  --ivory:            #f7f2ec;
  --surface:          #fffdf8;
  --surface-warm:     #fffdf8;
  --ladder-sunk:      #f1e9dd;
  --clay-soft:        #f4e7d8;

  --ink:              #2c2635;
  --ink-soft:         #4e4659;
  --ink-muted:        #6b6278;
  --ink-deep:         #211c2a;
  --muted-marketing:  #5d5468;

  --border-warm:      #e7dccf;
  --border-warmer:    #efe5d8;
  --border-field:     #d8cbbd;

  --os-purple:        #764770; /* corporate mauve (2026-09-19, client: "purple too dark — brighter, closer to corporate #764770") */
  --os-purple-dk:     #5c3757; /* hover step of #764770 */
  --os-purple-lt:     #a2899e; /* light tint of #764770 */
  --os-tint:          #f3eef3; /* #764770 ≈8% on white */
  --os-line:          #e7dfe6; /* #764770 ≈16% on white */
  --os-plum:          #3a2342;
  --os-plum-deep:     #2b1a32;

  --rose-warm:        #eec9b8;
  --rose-dust:        #b0745f;
  --clay-dk:          #7a5c48;

  --booking-note:      #fdf6ea;
  --booking-note-line: #ecd9b8;
  --booking-note-ink:  #6b5433;
  --booking-note-icon: #8a6d2f;

  --color-focus:      #764770;

  --shadow-sm:   0 1px 2px rgba(60, 40, 70, 0.06), 0 8px 24px -12px rgba(60, 40, 70, 0.18);
  --shadow-hero: 0 40px 80px -40px rgba(74, 46, 80, 0.35);
  --shadow-cta:  0 50px 90px -50px rgba(74, 46, 80, 0.5);

  --font-sans:   "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-serif:  "Cormorant Garamond", Georgia, serif;

  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 20px;
  --r-xl: 22px;
  --r-2xl: 26px;
  --pill: 999px;

  --duration-base: 200ms;
  --duration-slow: 250ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --wrap: 1180px;
  --page-gutter: 24px;
  --measure: 42rem;

  --z-raised: 10;
  --z-sticky: 200;
}
