:root {
  color-scheme: light;

  --pd-teal: #00b8a9;
  --pd-teal-bright: #00d1c1;
  --pd-orange: #ff8a00;
  --pd-navy: #0d1220;
  --pd-graphite: #6b7280;
  --pd-line: #d9e1e8;
  --pd-white: #ffffff;
  --pd-black: #000000;

  --pd-canvas: #eef2f1;
  --pd-surface: #ffffff;
  --pd-surface-muted: #dce7e4;
  --pd-surface-strong: #0d1220;
  --pd-text: #0d1220;
  --pd-text-muted: #46525e;
  --pd-text-inverse: #ffffff;
  --pd-border: #bcc9c6;
  --pd-border-strong: #879a95;
  --pd-action: #00b8a9;
  --pd-action-hover: #00d1c1;
  --pd-action-text: #071015;
  --pd-link: #006c65;
  --pd-warning: #ff8a00;
  --pd-warning-text: #884400;
  --pd-warning-soft: #ffedd6;
  --pd-success-soft: #d3eee8;
  --pd-danger: #d14343;
  --pd-danger-soft: #fde8e8;
  --pd-focus: #007f75;
  --pd-overlay: rgba(13, 18, 32, 0.72);
  --pd-map-canvas: #d7e4e1;
  --pd-map-control: #ffffff;
  --pd-map-control-text: #0d1220;
  --pd-map-control-border: #a9bab5;

  --pd-landing-header-surface: rgba(255, 255, 255, 0.99);
  --pd-landing-header-border: #a6b8b3;
  --pd-landing-header-shadow: 0 8px 24px rgba(13, 18, 32, 0.1);
  --pd-landing-hero-scrim-strong: rgba(13, 18, 32, 0.98);
  --pd-landing-hero-scrim-mid: rgba(13, 18, 32, 0.9);
  --pd-landing-hero-scrim-soft: rgba(13, 18, 32, 0.58);
  --pd-landing-hero-scrim-clear: rgba(13, 18, 32, 0.06);
  --pd-landing-band: #e3ece9;
  --pd-landing-band-surface: #ffffff;
  --pd-landing-band-border: #9fb3ae;

  --pd-font-display: "Segoe UI Variable Display", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --pd-font-text: "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, sans-serif;

  --pd-radius-sm: 6px;
  --pd-radius-md: 8px;
  --pd-radius-panel: 12px;
  --pd-radius-pill: 999px;

  --pd-shadow-soft: 0 12px 32px rgba(13, 18, 32, 0.12);
  --pd-shadow-panel: 0 22px 55px rgba(13, 18, 32, 0.2);

  --pd-speed-fast: 160ms;
  --pd-speed-base: 220ms;
  --pd-ease: cubic-bezier(0.2, 0.8, 0.2, 1);

  --pd-page-max: 1240px;
  --pd-header-height: 72px;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --pd-canvas: #090d17;
  --pd-surface: #121827;
  --pd-surface-muted: #172433;
  --pd-surface-strong: #050811;
  --pd-text: #f7fafc;
  --pd-text-muted: #aab4c0;
  --pd-text-inverse: #ffffff;
  --pd-border: #2d3748;
  --pd-border-strong: #465264;
  --pd-action: #00d1c1;
  --pd-action-hover: #33ded2;
  --pd-action-text: #071015;
  --pd-link: #33ded2;
  --pd-warning-text: #ffb04a;
  --pd-warning-soft: #3b2a13;
  --pd-success-soft: #12322f;
  --pd-danger: #ff7777;
  --pd-danger-soft: #3a1e24;
  --pd-focus: #70fff3;
  --pd-overlay: rgba(5, 8, 17, 0.78);
  --pd-map-canvas: #0e1724;
  --pd-map-control: #172334;
  --pd-map-control-text: #eaf4f7;
  --pd-map-control-border: #34445a;
  --pd-landing-header-surface: rgba(9, 13, 23, 0.94);
  --pd-landing-header-border: rgba(255, 255, 255, 0.16);
  --pd-landing-header-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  --pd-shadow-soft: 0 12px 32px rgba(0, 0, 0, 0.25);
  --pd-shadow-panel: 0 22px 55px rgba(0, 0, 0, 0.4);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
