:root {
  --ws-navy: #0F172A;
  --ws-yellow: #F5B400;
  --ws-orange: #FF8A00;
  --ws-offwhite: #F8FAFC;
  --ws-slate: #64748B;
  --ws-font-sans: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ws-radius-lg: 1rem;
  --ws-radius-xl: 1.75rem;
}

.ws-app {
  font-family: var(--ws-font-sans);
  color: var(--ws-navy);
  background-color: #fff;
}

.ws-navbar {
  background: #fff;
  border-color: rgba(15, 23, 42, .08) !important;
}

.ws-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.ws-brand__logo {
  width: 168px;
  height: auto;
}

.ws-navbar .nav-link {
  color: var(--ws-navy);
  font-weight: 600;
}

.ws-navbar .nav-link:hover,
.ws-navbar .nav-link:focus {
  color: var(--ws-orange);
}

.ws-hero-gradient {
  background: radial-gradient(circle at 20% 15%, rgba(245, 180, 0, .24), transparent 30%),
              radial-gradient(circle at 82% 30%, rgba(255, 138, 0, .14), transparent 34%),
              linear-gradient(135deg, #fff 0%, #f8fafc 46%, #eff6ff 100%);
}

.ws-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: var(--ws-radius-xl);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
  background: #fff;
}

.ws-panel {
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: var(--ws-radius-lg);
  background-color: #fff;
}

.ws-section-title {
  color: var(--ws-navy);
  letter-spacing: -.02em;
}

.ws-text-slate,
.ws-footer-copy {
  color: var(--ws-slate) !important;
}

.ws-btn-primary {
  background: var(--ws-navy);
  border-color: var(--ws-navy);
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
}

.ws-btn-primary:hover,
.ws-btn-primary:focus {
  background: #111c34;
  border-color: #111c34;
  color: #fff;
}

.ws-btn-secondary {
  border-radius: 999px;
  font-weight: 700;
  border-color: var(--ws-yellow);
  color: var(--ws-navy);
  background-color: #fff;
}

.ws-btn-secondary:hover,
.ws-btn-secondary:focus {
  border-color: var(--ws-orange);
  color: #fff;
  background-color: var(--ws-orange);
}

.ws-badge-soft {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .82rem;
  font-weight: 700;
  color: var(--ws-navy);
  background: rgba(245, 180, 0, .18);
  border-radius: 999px;
  padding: .35rem .75rem;
}

.ws-accent {
  color: var(--ws-yellow);
}

.ws-footer {
  background-color: var(--ws-offwhite);
}

.ws-footer a.link-secondary {
  color: var(--ws-slate) !important;
}

.ws-footer a.link-secondary:hover,
.ws-footer a.link-secondary:focus {
  color: var(--ws-navy) !important;
}

@media (max-width: 575.98px) {
  .ws-brand__logo {
    width: 148px;
  }
}
