:root {
  --primary-700: #5c2d6f;
  --primary-500: #7c4a8a;
  --secondary-600: #4f6fa4;
  --bg-soft: #f6f7fb;
}

* {
  box-sizing: border-box;
}

body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: var(--bg-soft);
  color: #1f1f2b;
  padding-top: 72px;
}

.bg-gradient-nav {
  background: linear-gradient(120deg, var(--primary-700), var(--secondary-600));
}

.hero-section {
  padding: 120px 0 80px;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 35%), linear-gradient(135deg, var(--primary-700), var(--secondary-600));
}

.bg-glass {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
}

.section-padding {
  padding: 80px 0;
}

.badge {
  letter-spacing: 0.4px;
}

.badge.bg-soft-primary {
  background: #ede5f4;
  color: var(--primary-700);
  border: 1px solid rgba(92, 45, 111, 0.18);
  box-shadow: 0 6px 18px rgba(92, 45, 111, 0.08);
  font-weight: 700;
}

.pill {
  background: rgba(92, 45, 111, 0.08);
  color: var(--primary-700);
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
}

.hero-section .badge {
  background: #ffffff;
  color: var(--primary-700);
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  font-weight: 700;
}

.icon-bullet {
  color: var(--primary-700);
  font-weight: 700;
}

.service-icon {
  font-size: 1.8rem;
}

.btn-primary-gradient {
  background: linear-gradient(120deg, var(--primary-700), var(--secondary-600));
  color: #fff;
  border: none;
}

.btn-primary-gradient:hover {
  color: #fff;
  filter: brightness(1.05);
}

.contact-card {
  overflow: hidden;
}

.contact-card__header {
  background: linear-gradient(120deg, var(--primary-700), var(--secondary-600));
  color: #fff;
  padding: 18px 20px;
}

.contact-card__header .badge {
  background: rgba(255, 255, 255, 0.95);
  color: var(--primary-700);
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
  font-weight: 700;
}

.cta-section {
  background: linear-gradient(135deg, var(--secondary-600), var(--primary-700));
}

.card {
  border-radius: 16px;
}

.card-img-top {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.hero-visual {
  max-width: 540px;
  margin-left: auto;
}

.hero-visual .card-img-top {
  max-height: 420px;
  object-fit: cover;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.nav-link {
  color: #f1f1f6 !important;
  opacity: 0.9;
}

.nav-link:hover {
  opacity: 1;
}

.btn-outline-primary {
  border-color: var(--primary-700);
  color: var(--primary-700);
}

.btn-outline-primary:hover {
  background: rgba(92, 45, 111, 0.08);
  border-color: var(--primary-700);
  color: var(--primary-700);
}

@media (max-width: 991px) {
  body {
    padding-top: 68px;
  }
  .hero-section {
    padding-top: 100px;
  }
}

