:root {
  --green-primary: #58c447;
  --blue-primary: #1e46c7;
  --orange-primary: #ff8a00;

  --color-bg: #f5f8ff;
  --color-surface: #ffffff;
  --color-surface-alt: #eff4ff;
  --color-text: #16213d;
  --color-text-muted: #4f5f7f;
  --color-border: #d7dff2;

  
  --text-inverse: #ffffff; 
  --text-nav: #35456f; 
  --text-support: #6074a9; 
  --text-disabled: #8190b0; 
  --text-muted-alt: #5f6e8f; 
  --text-accent-strong: #17449f; 
  --text-success-strong: #1f6734; 
  --text-footer: #eff3ff; 
  --text-footer-icon: #9fb6ff; 
  --text-footer-hover: #dce6ff; 
  --text-structure-caption: #f8faff; 

  
  --text-inverse-85: rgba(255, 255, 255, 0.85);
  --text-inverse-88: rgba(255, 255, 255, 0.88);
  --text-inverse-65: rgba(255, 255, 255, 0.65);
  --text-footer-soft: rgba(239, 243, 255, 0.78);
  --text-footer-strong: rgba(239, 243, 255, 0.9);

  
  --surface-footer: #0f1d44; 
  --surface-soft: #f8faff; 
  --surface-soft-alt: #f2f5ff; 
  --surface-soft-border: #d5def4; 
  --surface-header-glass: rgba(245, 248, 255, 0.68);
  --surface-header-border: rgba(215, 223, 242, 0.9);
  --surface-mobile-nav: rgba(255, 255, 255, 0.98);
  --surface-hero-info: rgba(15, 29, 68, 0.45);
  --surface-drawer: var(--surface-mobile-nav);

  
  --overlay-brand-35: rgba(30, 70, 199, 0.35);
  --overlay-brand-10: rgba(30, 70, 199, 0.1);
  --overlay-brand-09: rgba(30, 70, 199, 0.09);
  --overlay-brand-05: rgba(30, 70, 199, 0.05);
  --overlay-brand-08: rgba(30, 70, 199, 0.08);
  --overlay-brand-28: rgba(30, 70, 199, 0.28);
  --overlay-success-08: rgba(88, 196, 71, 0.18);
  --overlay-success-28: rgba(88, 196, 71, 0.28);
  --overlay-white-15: rgba(255, 255, 255, 0.15);
  --overlay-white-12: rgba(255, 255, 255, 0.12);
  --overlay-hero-55: rgba(15, 29, 68, 0.55);
  --overlay-hero-35: rgba(15, 29, 68, 0.35);
  --overlay-hero-08: rgba(15, 29, 68, 0.08);
  --overlay-caption-70: rgba(14, 25, 52, 0.7);
  --overlay-caption-0: rgba(14, 25, 52, 0);
  --overlay-backdrop: var(--overlay-hero-35);

  
  --scrollbar-size: 0.7rem;
  --scrollbar-radius: 999px;
  --scrollbar-track: var(--surface-soft-alt);
  --scrollbar-thumb: linear-gradient(180deg, #2d5ce0 0%, var(--green-primary) 100%);
  --scrollbar-thumb-hover: linear-gradient(180deg, var(--blue-primary) 0%, #4ab43a 100%);
  --scrollbar-thumb-solid: #2d5ce0;

  
  --overlay-organic-blue: rgba(30, 70, 199, 0.07);
  --overlay-organic-green: rgba(88, 196, 71, 0.06);
  --overlay-wave-blue: rgba(30, 70, 199, 0.06);
  --overlay-wave-green: rgba(88, 196, 71, 0.05);
  --blur-organic-soft: 80px;
  --size-organic-blob-lg: 45%;
  --size-organic-blob-md: 35%;
  --size-wave-height: clamp(120px, 18vw, 220px);
  --size-wave-offset: -90px;

  --gradient-brand: linear-gradient(135deg, #1e46c7 0%, #3e73f0 45%, #58c447 100%);
  --gradient-highlight: linear-gradient(140deg, #ff8a00 0%, #ffb45f 55%, #ffe6c8 100%);
  --gradient-soft: linear-gradient(160deg, #e8f0ff 0%, #f4f8ff 50%, #f8fff2 100%);
  --gradient-hero-overlay: linear-gradient(
    90deg,
    rgba(15, 29, 68, 0.78) 0%,
    rgba(15, 29, 68, 0.62) 38%,
    rgba(15, 29, 68, 0.32) 60%,
    rgba(15, 29, 68, 0.10) 75%,
    transparent 88%
  );
  --gradient-structure-caption: linear-gradient(
    180deg,
    var(--overlay-caption-0) 0%,
    var(--overlay-caption-70) 100%
  );
  --gradient-contact-surface: linear-gradient(170deg, var(--text-inverse) 0%, #f6f9ff 80%);

  --font-display: "Space Grotesk", "Segoe UI", sans-serif;
  --font-body: "Plus Jakarta Sans", "Segoe UI", sans-serif;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  
  --space-2xs: 0.2rem;
  --space-xs: 0.32rem;
  --space-sm-plus: 0.35rem;
  --space-md: 0.4rem;
  --space-md-plus: 0.55rem;
  --space-lg: 0.65rem;
  --space-lg-plus: 0.72rem;
  --space-xl: 0.8rem;
  --space-2xl: 0.85rem;
  --space-3xl: 1.1rem;
  --space-4xl: 1.6rem;

  --size-brand-mark: 2.45rem;
  --size-menu-toggle: 2.9rem;
  --size-card-icon: 2.7rem;
  --size-control-height: 3rem;
  --size-featured-copy-min: 3.25rem;
  --size-structure-photo-min: 220px;
  --size-map-min: 420px;
  --size-footer-brand-max: 340px;
  --size-section-wave: 88px;
  --size-section-heading-max: 680px;
  --size-hero-content-max: 600px;

  --radius-sm: 0.625rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-control: 0.85rem;
  --radius-toggle: 0.75rem;
  --radius-pill: 999px;

  --shadow-soft: 0 12px 35px rgba(16, 45, 125, 0.08);
  --shadow-medium: 0 18px 44px rgba(16, 45, 125, 0.12);
  --shadow-strong: 0 26px 64px rgba(13, 35, 95, 0.18);
  --shadow-drawer: var(--shadow-strong);
  --shadow-btn-primary: 0 12px 24px rgba(30, 70, 199, 0.2);
  --shadow-btn-primary-hover: 0 16px 30px rgba(30, 70, 199, 0.28);

  --container-max: 1180px;
  --header-height: 5rem;
  --drawer-width: clamp(17rem, 78vw, 24rem);
  --z-overlay: 120;
  --z-drawer: 130;

  --transition-fast: 180ms ease;
  --transition-base: 280ms ease;
  --transition-reveal: 720ms ease;
  --transition-reveal-delay: 160ms;
}
