:root {
  --ce-color-primary: #0b1f33;
  --ce-color-accent: #4fa3d1;
  --ce-color-neutral: #6b7c8f;
  --ce-color-paper: #faf8f3;
  --ce-color-sand: #f1eadf;
  --ce-color-mist: #d8e7ef;
  --ce-color-forest: #304a43;
  --ce-color-white: #ffffff;

  --ce-font-display: "Cormorant Garamond", "Georgia", serif;
  --ce-font-body: "Source Sans 3", "Avenir Next", "Helvetica Neue", sans-serif;

  --ce-radius-sm: 10px;
  --ce-radius-md: 18px;
  --ce-radius-lg: 28px;

  --ce-space-xs: 0.5rem;
  --ce-space-sm: 0.875rem;
  --ce-space-md: 1.5rem;
  --ce-space-lg: 2.5rem;
  --ce-space-xl: 4rem;

  --ce-shadow-soft: 0 24px 70px rgba(11, 31, 51, 0.10);
  --ce-border-subtle: 1px solid rgba(11, 31, 51, 0.12);
}

.ce-display {
  color: var(--ce-color-primary);
  font-family: var(--ce-font-display);
  font-weight: 600;
  letter-spacing: -0.025em;
}

.ce-body {
  color: var(--ce-color-primary);
  font-family: var(--ce-font-body);
}

.ce-eyebrow {
  color: var(--ce-color-neutral);
  font-family: var(--ce-font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ce-button-primary {
  align-items: center;
  background: var(--ce-color-primary);
  border: 0;
  border-radius: 999px;
  color: var(--ce-color-white);
  display: inline-flex;
  font-family: var(--ce-font-body);
  font-weight: 700;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0 1.35rem;
  text-decoration: none;
}

.ce-button-secondary {
  align-items: center;
  background: transparent;
  border: var(--ce-border-subtle);
  border-radius: 999px;
  color: var(--ce-color-primary);
  display: inline-flex;
  font-family: var(--ce-font-body);
  font-weight: 700;
  min-height: 3rem;
  padding: 0 1.35rem;
  text-decoration: none;
}
