:root {
  /* STRAK BUSINESS THEME */

  /* Base Surfaces */
  --zp-ink: #f5f6f8;
  --zp-ink-2: #edf0f4;
  --zp-panel: #ffffff;
  --zp-panel-2: #f9fafc;
  --zp-surface: #f1f3f6;
  --zp-surface-contrast: #1f252f;

  /* Borders */
  --zp-stroke: rgba(17, 25, 40, 0.12);
  --zp-stroke-2: rgba(128, 16, 26, 0.45);
  --zp-stroke-subtle: rgba(17, 25, 40, 0.06);

  /* Typography */
  --zp-bone: #0f1826;
  --zp-bone-2: #283142;
  --zp-muted: #5a6475;
  --zp-muted-2: #8891a0;

  /* Accent System */
  --zp-crimson: #86121f; /* darker red */
  --zp-crimson-dark: #5b0a13;
  --zp-crimson-light: #b41e2d;
  --zp-crimson-pale: #f9d8dd;
  --zp-secondary: #1f3d63; /* deep steel blue */

  --zp-accent: var(--zp-crimson);
  --zp-accent-2: var(--zp-secondary);
  --zp-accent-dark: var(--zp-crimson-dark);
  --zp-accent-ink: #ffffff;

  /* Geometry - all square */
  --radius-xs: 0;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-2xl: 0;

  /* Shadows (controlled) */
  --shadow-soft: 0 10px 25px rgba(15, 23, 42, 0.12);
  --shadow-elevated: 0 18px 35px rgba(15, 23, 42, 0.15);
  --shadow-glow: 0 0 0 1px rgba(15, 23, 42, 0.08);
  --shadow-accent: 0 10px 30px rgba(134, 18, 31, 0.25);
  --shadow-neon: 0 10px 28px rgba(134, 18, 31, 0.28);

  /* Minimal fills */
  --grad-site: linear-gradient(180deg, #f7f8fa 0%, #edf0f4 100%);
  --grad-panel: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  --grad-accent: linear-gradient(180deg, var(--zp-crimson), var(--zp-crimson-dark));
  --grad-hero: linear-gradient(180deg, #fdfdfd 0%, #eef1f5 100%);
  --grad-card: linear-gradient(180deg, #ffffff 0%, #f6f7fa 100%);
  --grad-ambient: var(--grad-site);
  --grad-sheen: none;

  --noise: none;

  /* Layout */
  --container: 1460px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 32px;
  --space-9: 96px;
  --space-10: 120px;

  /* Borders */
  --border-1: 1px solid var(--zp-stroke);
  --border-2: 1px solid var(--zp-stroke-2);
  --border-subtle: 1px solid var(--zp-stroke-subtle);

  /* Motion */
  --transition-fast: 120ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 280ms ease;

  /* Focus */
  --focus-ring: 0 0 0 1px #ffffff, 0 0 0 4px rgba(134, 18, 31, 0.45);
  --focus-ring-subtle: 0 0 0 1px #ffffff, 0 0 0 4px rgba(31, 61, 99, 0.35);
}

body[data-theme="premium_business"],
body[data-accent="deep_red"] {
  background: var(--grad-site);
  color: var(--zp-bone);
  --zp-text-primary: var(--zp-bone);
  --zp-text-secondary: var(--zp-bone-2);
  --zp-text-tertiary: var(--zp-muted);
}

body[data-theme="crimson_elite"] {
  --zp-crimson: #a01824;
  --zp-crimson-dark: #610c16;
}

body[data-theme="burgundy_pro"] {
  --zp-crimson: #701019;
  --zp-crimson-light: #96212b;
  --zp-stroke-2: rgba(112, 16, 25, 0.28);
}

*, *::before, *::after {
  box-sizing: border-box;
}

.zp-grid {
  display: grid;
  gap: var(--space-4);
}

.zp-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 700px) {
  figure.cms-image {
    --cms-image-w: 100% !important;
    --wrap-gap: 0px !important;
    float: none !important;
    clear: both !important;
    margin: var(--cms-image-m) auto !important;
  }

  figure.cms-image.wrap-text {
    float: none !important;
    clear: both !important;
    margin: var(--cms-image-m) auto !important;
  }

  figure.cms-image.align-left,
  figure.cms-image.align-right {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .zp-grid-4,
  .zp-grid-3,
  .zp-grid-2 {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .zp-grid-4 > *,
  .zp-grid-3 > *,
  .zp-grid-2 > * {
    width: 100%;
  }
}