:root {
  /* Colors */
  --color-brand-navy: #0F172A;
  --color-brand-blue: #1A56DB;
  --color-text-primary: #1E293B;
  --color-text-secondary: #64748B;
  --color-bg-light: #F8FAFC;
  --color-surface: #FFFFFF;
  --color-border: #CBD5E1;
  --color-surface-dark: #07152b;

  /* Typography */
  --font-family-sans: 'Inter', sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Typography Scale */
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --font-size-xs: 12px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --line-height-base: 1.6;
  --line-height-tight: 1.2;

  /* Spacing */
  --spacing-2: 8px;
  --spacing-4: 16px;
  --spacing-6: 24px;
  --spacing-8: 32px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-16: 64px;
  --spacing-20: 80px;

  /* Container */
  --container-max-width: 1320px;
  --container-narrow-width: 800px;
  --container-gutter-desktop: 40px;
  --container-gutter-tablet: 24px;
  --container-gutter-mobile: 20px;

  /* Border & Radius */
  --radius-sm: 2px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1);

  /* Z-Index */
  --z-index-header: 1000;
  --z-index-dropdown: 1100;
  --z-index-modal: 1200;
}

/* APEX TYPOGRAPHY V1.1 — SITE-TYPOGRAPHY-SYSTEM-001-W0 BEGIN */
:root {
  /* Canonical family / supported loaded weights */
  --type-font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --type-weight-regular: 400;
  --type-weight-medium: 500;
  --type-weight-semibold: 600;
  --type-weight-bold: 700;
  --type-weight-extrabold: 800;

  /* Responsive tier values: W0 records the scale; W1 activates responsive consumption. */
  --type-home-display-size-d: 52px;
  --type-home-display-size-t: 44px;
  --type-home-display-size-m: 36px;

  --type-hero-size-d: 48px;
  --type-hero-size-t: 42px;
  --type-hero-size-m: 34px;

  --type-section-major-size-d: 36px;
  --type-section-major-size-t: 32px;
  --type-section-major-size-m: 28px;

  --type-section-standard-size-d: 32px;
  --type-section-standard-size-t: 29px;
  --type-section-standard-size-m: 26px;

  --type-section-compact-size-d: 28px;
  --type-section-compact-size-t: 26px;
  --type-section-compact-size-m: 24px;

  --type-feature-title-size-d: 22px;
  --type-feature-title-size-t: 21px;
  --type-feature-title-size-m: 20px;

  --type-module-title-size-d: 18px;
  --type-module-title-size-t: 18px;
  --type-module-title-size-m: 17px;

  --type-lead-size-d: 16px;
  --type-lead-size-t: 15.5px;
  --type-lead-size-m: 15px;
  --type-body-size-d: 15px;
  --type-body-size-t: 15px;
  --type-body-size-m: 15px;
  --type-support-size-d: 14px;
  --type-support-size-t: 14px;
  --type-support-size-m: 14px;
  --type-meta-size-d: 12px;
  --type-meta-size-t: 12px;
  --type-meta-size-m: 12px;
  --type-eyebrow-size-d: 12px;
  --type-eyebrow-size-t: 12px;
  --type-eyebrow-size-m: 11px;
  --type-subnav-size-d: 12px;
  --type-subnav-size-t: 12px;
  --type-subnav-size-m: 11px;
  --type-cta-size: 12px;

  /* Shared line-height / tracking contracts */
  --type-hero-line: 1.05;
  --type-section-major-line: 1.15;
  --type-section-standard-line: 1.15;
  --type-feature-line: 1.25;
  --type-module-line: 1.30;
  --type-lead-line: 1.60;
  --type-body-line: 1.55;
  --type-support-line: 1.55;
  --type-eyebrow-line: 18px;
  --type-hero-track: -0.02em;
  --type-section-track: -0.02em;
  --type-feature-track: -0.01em;
  --type-eyebrow-track: 0.08em;

  /* W0 compatibility aliases deliberately resolve to current desktop shared values. */
  --type-home-display-size: var(--type-home-display-size-d);
  --type-hero-size: var(--type-hero-size-d);
  --type-section-major-size: var(--type-section-major-size-d);
  --type-section-standard-size: var(--type-section-standard-size-d);
  --type-section-compact-size: var(--type-section-compact-size-d);
  --type-feature-title-size: var(--type-feature-title-size-d);
  --type-module-title-size: var(--type-module-title-size-d);
  --type-lead-size: var(--type-lead-size-d);
  --type-body-size: var(--type-body-size-d);
  --type-support-size: var(--type-support-size-d);
  --type-meta-size: var(--type-meta-size-d);
  --type-eyebrow-size: var(--type-eyebrow-size-d);
  --type-subnav-size: var(--type-subnav-size-d);
}
/* APEX TYPOGRAPHY V1.1 — SITE-TYPOGRAPHY-SYSTEM-001-W0 END */
/* SILCAP UNIFIED VISUAL THEME V1 — TOKEN FOUNDATION / VST-01B */
:root {
  /* Typography — canonical shared semantic roles */
  --theme-font-sans: var(--type-font-sans);
  --theme-weight-regular: 400;
  --theme-weight-medium: 500;
  --theme-weight-semibold: 600;
  --theme-weight-heading: var(--type-weight-bold);
  --theme-weight-display: 800;

  --theme-type-hero-internal-size: var(--type-hero-size);
  --theme-type-hero-internal-line: var(--type-hero-line);
  --theme-type-hero-mobile-size: 34px;
  --theme-type-hero-technical-size: 44px;
  --theme-type-hero-technical-mobile-size: 32px;

  --theme-type-section-major-size: var(--type-section-major-size);
  --theme-type-section-major-line: var(--type-section-major-line);
  --theme-type-section-standard-size: var(--type-section-standard-size);
  --theme-type-section-standard-line: var(--type-section-standard-line);

  --theme-type-feature-size: 22px;
  --theme-type-feature-line: var(--type-feature-line, 1.25);
  --theme-type-body-size: 15px;
  --theme-type-body-line: var(--type-body-line, 1.55);
  --theme-type-lead-size: 16px;
  --theme-type-lead-line: 1.55;
  --theme-type-eyebrow-size: 12px;
  --theme-type-eyebrow-line: var(--type-eyebrow-line, 1.5);

  /* Geometry */
  --theme-radius-control: 8px;
  --theme-radius-media: 12px;
  --theme-radius-card: 14px;
  --theme-radius-panel: 16px;

  /* Layout rhythm — candidates consumed only by later bounded waves */
  --theme-space-section-major: 88px;
  --theme-space-section-supporting: 64px;
  --theme-space-section-compact: 48px;
  --theme-space-section-major-mobile: 52px;
  --theme-space-section-compact-mobile: 40px;
  --theme-container-max: 1320px;
  --theme-gutter-desktop: 40px;
  --theme-gutter-compact: 24px;
  --theme-text-measure: 760px;

  /* Controlled SILCAP surfaces */
  --theme-colour-navy: #07172f;
  --theme-colour-ink: #0f172a;
  --theme-colour-text: #334155;
  --theme-colour-muted: #64748b;
  --theme-colour-surface: #ffffff;
  --theme-colour-surface-soft: #f8fafc;
  --theme-colour-border: #e2e8f0;
  --theme-colour-action: #0d63e5;
}


/* CPH-08B SHARED CARD TOKENS - BEGIN */
:root {
  --silcap-card-shell-radius-desktop: 20px;
  --silcap-card-shell-radius-mobile: 18px;
  --silcap-card-media-radius-desktop: 16px;
  --silcap-card-media-radius-mobile: 14px;
  --silcap-card-padding-desktop: 14px;
  --silcap-card-padding-mobile: 10px;
  --silcap-card-border: 1px solid rgba(22,31,43,.09);
  --silcap-card-shadow: 0 8px 26px rgba(20,28,38,.055);
  --silcap-card-surface: #fff;
  --silcap-card-media-ratio-desktop: 42 / 25;
  --silcap-card-media-ratio-mobile: 4 / 3;
}
/* CPH-08B SHARED CARD TOKENS - END */
