:root {
  /* Font families */
  --owc-font-primary: "Manrope", sans-serif;
  --owc-font-display: "Poppins", sans-serif;
  --owc-font-support: "DM Sans", sans-serif;

  /* Colors */
  --owc-color-brand-primary: #4169e1;
  --owc-color-brand-primary-dark: #24366c;
  --owc-color-brand-accent: #02b6a9;
  --owc-color-surface-base: #ffffff;
  --owc-color-surface-muted-bg: #f0f3fd; /*the background color of the website*/
  --owc-color-surface-soft-blue: #c6d4fd;
  --owc-color-text-primary: #24366c;
  --owc-color-text-on-dark: #ffffff;
  --owc-color-success: #34a853;
  --owc-color-success-soft: #9cf28e;
  --owc-color-warning: #fbbc04;
  --owc-color-error: #e04440;
  --owc-color-error-strong: #ff4d49;
  --owc-color-surface-dark: #0D112A;

  /* Spacing scale */
  --owc-space-0: 0px;
  --owc-space-2: 2px;
  --owc-space-4: 4px;
  --owc-space-8: 8px;
  --owc-space-10: 10px;
  --owc-space-12: 12px;
  --owc-space-16: 16px;
  --owc-space-24: 24px;
  --owc-space-32: 32px;
  --owc-space-64: 64px;

  /* Padding presets */
  --owc-padding-section-desktop: 64px 32px 24px;
  --owc-padding-card-desktop: 24px 32px;
  --owc-padding-button-desktop: 12px 24px;
  --owc-padding-stack-compact: 16px 0;
  --owc-padding-chip: 10px;
  --owc-padding-icon-offset-left: 0 0 0 8px;

  /* Effects Shadows */
  --owc-shadow-elevation-0: 4px 8px 20px 0px rgba(65, 105, 225, 0.3);
  --owc-shadow-elevation-1: 0px 20px 20px 0px rgba(65, 105, 225, 0.3);
  --owc-shadow-elevation-2: 0px 40px 40px 0px rgba(65, 105, 225, 0.4);
  --owc-shadow-elevation-3: 0px 40px 40px 0px rgba(36, 54, 108, 0.5);

  /* Layout widths */
  --owc-width-content-half: 657px;
  --owc-width-content-two-third-center: 888px;
  --owc-width-content-grid: 1340px;
  --owc-width-content-full: 1728px;
}

/* Desktop typography */
.owc-h-xl {
  font-family: var(--owc-font-primary);
  font-weight: 600;
  font-size: 64px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.owc-h-1 {
  font-family: var(--owc-font-primary);
  font-weight: 500;
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.owc-h-2 {
  font-family: var(--owc-font-primary);
  font-weight: 400;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.owc-h-m {
  font-family: var(--owc-font-primary);
  font-weight: 600;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.owc-h-s {
  font-family: var(--owc-font-primary);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.owc-text-xl {
  font-family: var(--owc-font-primary);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.owc-text-l {
  font-family: var(--owc-font-primary);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0;
}

.owc-text-s {
  font-family: var(--owc-font-primary);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Mobile typography overrides */
@media (max-width: 768px) {
  .owc-h-xl {
    font-size: 40px;
  }

  .owc-h-1 {
    font-weight: 500;
    font-size: 32px;
  }

  .owc-h-2 {
    font-weight: 400;
    font-size: 32px;
  }

  .owc-h-m {
    font-size: 24px;
  }

  .owc-h-s {
    font-size: 20px;
  }

  .owc-text-l {
    font-size: 16px;
  }
}

/* Container helpers */
.owc-container-half {
  width: min(100%, var(--owc-width-content-half));
  margin-left: auto;
  margin-right: auto;
}

.owc-container-two-third {
  width: min(100%, var(--owc-width-content-two-third-center));
  margin-left: auto;
  margin-right: auto;
}

.owc-container-grid {
  width: min(100%, var(--owc-width-content-grid));
  margin-left: auto;
  margin-right: auto;
}

.owc-container-full {
  width: min(100%, var(--owc-width-content-full));
  margin-left: auto;
  margin-right: auto;
}

/* Text color utilities */
.owc-text-brand-primary {
  color: var(--owc-color-brand-primary);
}

/* Section with page background color */
.owc-section-bg-muted {
  /* background-color: var(--owc-color-surface-muted-bg); */
  padding: 120px 0;
}

@media (max-width: 991px) {
  .owc-section-bg-muted {
    padding: 88px 0;
  }
}
