:root {
  /* ---- Core palette ---- */
  --pa-forest:      #0F241C;
  --pa-canopy:      #1B3D2F;
  --pa-canopy-dark: #16342A;
  --pa-ink:         #1A1F1C;
  --pa-ink-70:      #4A5450;
  --pa-ink-45:      #7C8480;
  --pa-cream:       #F4F1EA;
  --pa-sand:        #E7E1D4;
  --pa-white:       #FFFFFF;

  /* ---- Warm layer ---- */
  --pa-terracotta:  #C2673F;
  --pa-clay:        #9E5233;
  --pa-clay-dark:   #86452B;
  --pa-ochre:       #D9A441;
  --pa-blush:       #EFE3D2;
  --pa-moss:        #6B7F5E;
  --pa-sage-light:  #A9C5B4;
  --pa-bark:        #4A3B31;

  /* ---- Semantic ---- */
  --pa-bg-page:          var(--pa-cream);
  --pa-bg-surface:       var(--pa-white);
  --pa-bg-surface-warm:  var(--pa-blush);
  --pa-bg-inverse:       var(--pa-forest);

  --pa-text-primary:     var(--pa-ink);
  --pa-text-secondary:   var(--pa-ink-70);
  --pa-text-tertiary:    var(--pa-ink-45);
  --pa-text-inverse:     var(--pa-cream);
  --pa-text-eyebrow:     var(--pa-moss);

  --pa-border:           var(--pa-sand);
  --pa-border-strong:    rgba(74, 59, 49, 0.18);

  --pa-action-primary:        var(--pa-canopy);
  --pa-action-commerce:       var(--pa-clay);
  --pa-action-commerce-hover: var(--pa-clay-dark);
  --pa-accent-commerce:       var(--pa-terracotta);
  --pa-action-rentals:        var(--pa-ochre);
  --pa-action-retail:         var(--pa-terracotta);
  --pa-focus:                 var(--pa-moss);

  /* Italic headline accent. Clay on light surfaces, light sage on dark bands. */
  --pa-accent-headline:         var(--pa-clay);
  --pa-accent-headline-inverse: var(--pa-sage-light);

  /* Quiet half of a two-tone headline: the qualifier steps back. */
  --pa-accent-headline-quiet:   var(--pa-moss);

  /* ---- Type ---- */
  --pa-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --pa-font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --pa-fs-display: clamp(2.375rem, 1.40rem + 3.60vw, 4.000rem);
  --pa-fs-h2:      clamp(1.875rem, 1.35rem + 1.90vw, 2.750rem);
  --pa-fs-h3:      clamp(1.375rem, 1.20rem + 0.60vw, 1.625rem);
  --pa-fs-card:    clamp(1.1875rem, 1.15rem + 0.15vw, 1.250rem);
  --pa-fs-lead:    clamp(1.125rem, 1.05rem + 0.30vw, 1.250rem);
  --pa-fs-body:    clamp(1.000rem, 0.96rem + 0.15vw, 1.0625rem);
  --pa-fs-small:   clamp(0.875rem, 0.85rem + 0.10vw, 0.9375rem);
  --pa-fs-eyebrow: clamp(0.750rem, 0.73rem + 0.08vw, 0.8125rem);

  --pa-lh-display: 1.05;
  --pa-lh-h2:      1.15;
  --pa-lh-h3:      1.25;
  --pa-lh-card:    1.30;
  --pa-lh-lead:    1.55;
  --pa-lh-body:    1.55;
  --pa-lh-small:   1.45;

  /* Leading tightens as line count drops: prose > UI text > single-line labels. */
  --pa-lh-ui:      1.35;
  --pa-lh-flat:    1.20;

  /* ---- Spacing ---- */
  --pa-space-1: 4px;   --pa-space-2: 8px;   --pa-space-3: 12px;
  --pa-space-4: 16px;  --pa-space-5: 24px;  --pa-space-6: 32px;
  --pa-space-7: 48px;  --pa-space-8: 64px;  --pa-space-9: 96px;
  --pa-space-10: 128px;

  --pa-section-y:       clamp(3rem, 2.00rem + 4vw, 6rem);
  --pa-section-y-tight: clamp(2rem, 1.50rem + 2vw, 3.5rem);
  --pa-container:       1200px;
  --pa-gutter:          clamp(1rem, 0.50rem + 2vw, 1.5rem);
  --pa-measure:         68ch;

  /* ---- Shape ---- */
  --pa-radius-sm:   8px;
  --pa-radius-md:   12px;
  --pa-radius-lg:   16px;
  --pa-radius-pill: 8px;

  /* ---- Motion ---- */
  --pa-dur-fast: 150ms;
  --pa-dur:      240ms;
  --pa-ease:     cubic-bezier(0.2, 0.7, 0.3, 1);

  /* ---- Overlay only ---- */
  --pa-shadow-overlay: 0 8px 32px rgba(15, 36, 28, 0.16);
  --pa-shadow-btn: 0 2px 6px rgba(15, 36, 28, 0.16);
  --pa-shadow-btn-hover: 0 4px 10px rgba(15, 36, 28, 0.2);
  --pa-shadow-pop: 0 8px 22px rgba(15, 36, 28, 0.16);
}
