:root{
  --brand:#5b7cfa; --brand-2:#22c55e; --brand-3:#f97316; --brand-4:#06b6d4; --brand-5:#a855f7;
}
body { scroll-behavior: smooth; }
.object-cover { height: 420px; object-fit: cover; }

/* Topbar + Navbar decoration */
.topbar{ background: linear-gradient(90deg, var(--brand), var(--brand-5)); }
.border-brand-4{ border-color: var(--brand-4) !important; }

.logo-gradient{
  background: linear-gradient(90deg,var(--brand),var(--brand-5));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.nav-decorated .nav-link{
  position: relative; font-weight:600; color:#333;
}
.nav-decorated .nav-link:hover{ color: var(--brand-5); }
.nav-decorated .nav-link::after{
  content:''; position:absolute; left:0; right:0; bottom:-6px; height:3px;
  background: linear-gradient(90deg,var(--brand),var(--brand-5));
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
  border-radius: 999px;
}
.nav-decorated .nav-link:hover::after,
.nav-decorated .nav-link.active::after{ transform: scaleX(1); }

/* Buttons */
.btn-gradient{ background: linear-gradient(90deg,var(--brand),var(--brand-5)); border:none; color:#fff }
.btn-gradient:hover{ filter: brightness(1.05); }

/* Footer */
.footer-mega{ background:#0f172a; position: relative; }
.footer-gradient{
  position:absolute; inset:0 0 auto 0; height:4px;
  background: linear-gradient(90deg,var(--brand),var(--brand-5));
}
.footer-link{ text-decoration:none; color:rgba(255,255,255,.75); }
.footer-link:hover{ color:#fff; }

/* Contact page */
.hero-contact{
  background: radial-gradient(1200px 400px at 20% -10%, var(--brand) 0%, transparent 60%),
              radial-gradient(1000px 500px at 100% 0%, var(--brand-5) 0%, transparent 55%),
              linear-gradient(90deg,#1e293b,#0f172a);
}
.logo-gradient-text{
  background: linear-gradient(90deg,var(--brand),var(--brand-5));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.info-tile{ background: #f8fafc; border:1px solid #e2e8f0; }

/* Cards & pricing */
.card { border: none; box-shadow: 0 10px 20px rgba(0,0,0,.06); }
.card .card-title { font-weight: 700; }
.badge-pill { border-radius: 999px; padding:.45rem .8rem; font-weight:600 }
.section-title span { background: linear-gradient(90deg,var(--brand-5),var(--brand-3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pricing-card .price { font-size: 2.25rem; font-weight: 800; }
.pricing-card.popular { outline: 3px solid var(--brand-3); transform: translateY(-6px); }

/* Feature icon */
.feature-icon{
  width: 42px; height: 42px; display:flex; align-items:center; justify-content:center;
  border-radius: 12px; background:#eef2ff; font-size:20px;
}
