:root {
  /* Layout */
  --dlw-wrapper--gutter: 24px;
  --dlw-wrapper--width: 72rem;
  --dlw-wrapper--width-small: 42rem;
  --dlw-wrapper--simulate-width: min(var(--dlw-wrapper--width), calc(100vw - (var(--dlw-wrapper--gutter) * 2)));
  --dlw-wrapper--offset: calc((100% - var(--dlw-wrapper--simulate-width)) / 2);
  --offset-top: var(--dlw-header--height--primary);

  --dlw-transition--duration: 0.2s;

  /* Brand palette — forest green + amber contrast */
  --dlw-color--primary: #1a5c40;
  --dlw-color--primary-light--20: #edf5f1;
  --dlw-color--primary-dark--20: #0f3d2a;
  --dlw-color--primary-dark--40: #0a2a1d;

  --dlw-color--secondary: #2d8a5e;
  --dlw-color--secondary-light--20: #3da070;
  --dlw-color--secondary-light--80: #e8f3ed;
  --dlw-color--secondary-dark--20: #24704c;
  --dlw-color--secondary-dark--80: #0f3d2a;

  /* Warm amber — contrast accent against green */
  --ix-color-accent: #c9852a;
  --ix-color-accent-hover: #a86d1f;
  --ix-color-accent-soft: #fbf4e8;
  --ix-color-accent-border: #e8c98a;

  --dlw-color--text: #0f172a;
  --dlw-color--text-muted: #475569;
  --dlw-color--text-subtle: #64748b;
  --dlw-color--white: #fff;

  --dlw-color-bg: #f5f8f6;
  --dlw-color-bg-alt: #eef3f0;
  --dlw-color-bg-dark--5: #eef2f0;
  --dlw-color-bg-dark--15: #e2e8e5;

  --dlw-color-bg--primary: var(--dlw-color--primary-dark--20);
  --dlw-color-bg--secondary: var(--dlw-color-bg);

  --dlw-color--border: #e2e8e5;
  --dlw-color--border-1: #cbd5d1;

  --dlw-color--grey-1: #f8fafc;
  --dlw-color--grey-5: #94a3b8;
  --dlw-color--disabled: #64748b;

  --dlw-button--color: #fff;
  --dlw-heading--color: var(--dlw-color--text);
  --dlw-link--color: var(--dlw-color--primary);
  --dlw-link--color--visited: var(--dlw-color--primary);
  --dlw-link--color--active: var(--dlw-color--secondary);

  /* Spacing rhythm */
  --dlw-spacing: 16px;
  --dlw-spacing--tiny: 4px;
  --dlw-spacing--small: 8px;
  --dlw-spacing--large: 32px;
  --dlw-spacing--huge: 48px;
  --dlw-spacing--component: clamp(56px, 6vw, 96px);
  --dlw-spacing-cqi: clamp(16px, 2cqi, 32px);
  --dlw-spacing-cqi--small: clamp(16px, 1.5cqi, 24px);

  --dlw-border-radius: 10px;
  --dlw-border-radius--small: 8px;
  --dlw-border-radius--large: 16px;

  /* Typography — single professional family */
  --dlw-font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --dlw-font-family--primary: var(--dlw-font-family);
  --dlw-font-family--secondary: var(--dlw-font-family);
  --dlw-font-weight--bold: 700;

  --dlw-line-height: 1.6;
  --dlw-font-size: 1rem;

  --dlw-font-size--h1: clamp(2rem, 3.5vw + 1rem, 3.25rem);
  --dlw-font-size--h2: clamp(1.5rem, 2vw + 0.75rem, 2rem);
  --dlw-font-size--h3: clamp(1.125rem, 1vw + 0.75rem, 1.375rem);
  --dlw-font-size--h4: 1.125rem;
  --dlw-font-size--h5: 1rem;
  --dlw-font-size--small: 0.875rem;

  --dlw-type--section: clamp(1.625rem, 2vw + 1rem, 2.125rem);
  --dlw-type--usp-lead: clamp(1rem, 0.5vw + 0.875rem, 1.125rem);
  --dlw-type--section-weight: 700;
  --dlw-type--section-line: 1.25;
  --dlw-type--section-color: var(--dlw-color--text);
  --dlw-type--section-gap: 1rem;

  --dlw-type--title: 1.125rem;
  --dlw-type--title-weight: 600;
  --dlw-type--title-line: 1.4;
  --dlw-type--title-color: var(--dlw-color--text);

  --dlw-type--body: 1rem;
  --dlw-type--body-weight: 400;
  --dlw-type--body-line: 1.7;
  --dlw-type--body-color: var(--dlw-color--text-muted);

  --dlw-type--caption: 0.8125rem;
  --dlw-type--caption-line: 1.5;

  --dlw-a11y--outline-width: 2px;
  --dlw-a11y--outline-offset: 2px;
  --dlw-scroll-behavior: smooth;

  /* Header */
  --dlw-mq--header: 60rem;
  --dlw-header--height: 72px;
  --dlw-header--background: #fff;
  --dlw-header--wrapped: calc((100dvw - var(--dlw-wrapper--width)) / 2);
  --dlw-header--gta: ". bar cta .";
  --dlw-header--gtc: var(--dlw-header--wrapped) 1fr auto var(--dlw-header--wrapped);
  --dlw-header--gtr: var(--dlw-header--height--primary);
  --dlw-header--height--primary: 72px;
  --dlw-header--height--secondary: 0;
  --dlw-header__logo--width: 140px;
  --dlw-header__secondary--background: var(--dlw-color--text);
  --dlw-header__bar--background: #fff;
  --dlw-header__bar--radius: 999px;
  --dlw-header__bar--width: 97vw;

  /* Footer */
  --dlw-footer-body--bg: #0a2a1d;
  --dlw-footer-body--color: rgba(255, 255, 255, 0.82);
  --dlw-footer-end--bg: #061a12;
  --dlw-footer-end--color: rgba(255, 255, 255, 0.7);

  /* Theme blocks */
  --theme--bg: var(--dlw-color--primary-dark--20);
  --theme--color: #fff;
  --has-theme: 1;

  --dlw-page-intro--spacing: clamp(var(--dlw-spacing--large), 4cqi, var(--dlw-spacing--huge));
  --dlw-page-intro--background: var(--dlw-color-bg);
  --dlw-usp-item--color-bg: #fff;

  /* Inuluxe design system — single source of truth */
  --ix-font-h2: clamp(1.75rem, 2.2vw + 1rem, 2.25rem);
  --ix-font-h3: 1.125rem;
  --ix-font-body: 1.0625rem;
  --ix-font-body-sm: 0.9375rem;
  --ix-font-caption: 0.8125rem;
  --ix-font-eyebrow: 0.75rem;
  --ix-space-section-y: clamp(3.5rem, 5.5vw, 5.5rem);
  --ix-space-section-y-sm: clamp(2.75rem, 4vw, 4rem);
  --ix-space-section-gap: 0;
  --ix-space-grid: clamp(20px, 3vw, 28px);
  --ix-space-stack: clamp(28px, 4vw, 40px);
  --ix-space-inline: 16px;
  --ix-prose-max: 42rem;
  --ix-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --ix-shadow-md: 0 4px 24px rgba(15, 23, 42, 0.08);
  --ix-shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.1);
  --ix-section-py: var(--ix-space-section-y);
}

@media (min-width: 40rem) and (max-width: 70rem) {
  :root {
    --dlw-wrapper--width: 100vw;
    --dlw-wrapper--gutter: 32px;
  }
}

@media (min-width: 60rem) {
  :root {
    --dlw-header--height--primary: 72px;
    --dlw-header--height--secondary: 0;
    --dlw-header--height: var(--dlw-header--height--primary);
    --dlw-header--gta: ". bar .";
    --dlw-header--gtc: var(--dlw-header--wrapped) 1fr var(--dlw-header--wrapped);
    --dlw-header--gtr: var(--dlw-header--height--primary);
    --dlw-header__logo--width: 160px;
  }
}

@media (max-width: 40rem) {
  :root {
    --dlw-wrapper--gutter: 20px;
    --dlw-wrapper--width: 100vw;
    --dlw-header__logo--width: 120px;
    --dlw-header--height--primary: 64px;
  }
}

[data-dlw-theme="primary"] {
  --theme--bg: var(--dlw-color--primary-dark--20);
  --theme--color: #fff;
  --dlw-heading--color: #fff;
}

[data-dlw-theme="secondary"] {
  --theme--bg: var(--dlw-color-bg);
  --theme--color: var(--dlw-color--text);
  --dlw-heading--color: var(--dlw-color--text);
}
