/* Public website design tokens — dark navy theme with blue / cyan / purple accents. */
:root {
  --pub-navy-950: #060E1C;
  --pub-navy-900: #0A1628;
  --pub-navy-800: #111D35;
  --pub-navy-700: #192A4A;
  --pub-navy-600: #1E3A5F;

  --pub-blue: #3B82F6;
  --pub-cyan: #06B6D4;
  --pub-purple: #8B5CF6;
  --pub-success: #22C55E;
  --pub-danger: #F87171;

  --pub-white: #FFFFFF;
  --pub-text: #E2E8F0;
  --pub-text-soft: #CBD5E1;
  --pub-text-muted: #94A3B8;
  --pub-text-faint: #64748B;

  --pub-border: rgba(148, 163, 184, 0.14);
  --pub-border-strong: var(--pub-navy-600);
  --pub-surface: rgba(17, 29, 53, 0.72);
  --pub-surface-solid: var(--pub-navy-800);
  --pub-surface-raised: var(--pub-navy-700);

  --pub-gradient: linear-gradient(135deg, var(--pub-blue), var(--pub-cyan), var(--pub-purple));
  --pub-gradient-button: linear-gradient(90deg, var(--pub-blue), var(--pub-purple));
  --pub-gradient-card: linear-gradient(145deg, var(--pub-navy-800), var(--pub-navy-700));
  --pub-gradient-section: linear-gradient(180deg, var(--pub-navy-900) 0%, var(--pub-navy-800) 100%);

  --pub-font-heading: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --pub-font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --pub-container: 1240px;
  --pub-gutter: clamp(16px, 4vw, 32px);
  --pub-header-height: 64px;
  --pub-section-y: clamp(64px, 9vw, 112px);

  --pub-radius-sm: 10px;
  --pub-radius-md: 16px;
  --pub-radius-lg: 20px;
  --pub-radius-xl: 28px;
  --pub-radius-pill: 999px;

  --pub-shadow-card: 0 18px 40px rgba(2, 8, 23, 0.45);
  --pub-shadow-glow: 0 10px 30px rgba(59, 130, 246, 0.28);
  --pub-shadow-glow-strong: 0 16px 44px rgba(59, 130, 246, 0.42);

  --pub-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --pub-transition: 0.3s var(--pub-ease);

  --pub-z-header: 1000;
  --pub-z-nav: 1010;
  --pub-z-toast: 1080;
}
