:root{
  --brand-900: #0f172a; /* deep navy */
  --brand-600: #6f4df5; /* purple */
  --accent: #06b6d4; /* teal */
  --muted: #6b7280;
}

/* Hero styles */
.hero {
  background: linear-gradient(180deg,#eef2ff 0%, #eef2ff 100%);
  border-radius: 1rem;
  padding: 3.5rem 0;
}

.hero .display-3 {
  color: var(--brand-900);
  font-weight: 700;
  letter-spacing: -0.5px;
}

.hero h4, .hero h3, .hero p {
  color: var(--brand-900);
}

/* Call to action: moved to css/custom.removed.css */

/* Call to action (restored) */
.btn-cta {
  background: linear-gradient(90deg,var(--brand-600), var(--accent));
  color: #fff;
  border: none;
  padding: 0.72rem 1.25rem;
  border-radius: 0.75rem;
  box-shadow: 0 10px 30px rgba(79,70,229,0.15);
}

.btn-ghost {
  background: transparent;
  border: 1px solid rgba(15,23,42,0.06);
  color: var(--brand-900);
  padding: 0.6rem 1rem;
  border-radius: 0.75rem;
}

/* Profile card tweaks */
.profile {
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(15,23,42,0.06);
  max-width: 600px;
}

.profile-img {
  /* keep native image size; don't force width so user's image stays unchanged */
  height: auto;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

/* spacing so text doesn't crowd the image on small screens */
.hero .text-block { padding: 0 1rem; }

/* Subtle utility tweaks */
.text-muted-custom { color: var(--muted); }

@media (max-width: 767.98px) {
  .hero { padding: 2rem 0; }
  .display-3 { font-size: 2rem; }
  .profile { max-width: 320px; }
}

/* Animated accent above the title */
.text-gradient {
  position: relative;
  display: inline-block;
  animation: revealUp 700ms ease both;
}

/* Add a soft fade-in specifically for the title text */
.text-gradient { animation-name: revealUp, fadeInText; animation-duration: 700ms, 900ms; animation-timing-function: ease, ease; animation-fill-mode: both, both; }

@keyframes fadeInText {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .text-gradient,
  .btn-cta,
  .btn-ghost {
    animation: none !important;
    transition: none !important;
  }
  .text-gradient::before,
  .btn-cta::before {
    animation: none !important;
    opacity: 0.9;
  }
}

.text-gradient::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.05rem;
  transform: translateX(-50%);
  width: 72px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(111,77,245,0.0), var(--brand-600), var(--accent), rgba(111,77,245,0.0));
  box-shadow: 0 8px 22px rgba(111,77,245,0.12);
  animation: shimmer 1.8s infinite ease-in-out;
  opacity: 0.95;
}

@keyframes shimmer {
  0% { transform: translateX(-140%) scaleX(0.6); opacity: 0; }
  10% { transform: translateX(-60%) scaleX(0.95); opacity: 1; }
  50% { transform: translateX(40%) scaleX(1.05); opacity: 1; }
  100% { transform: translateX(140%) scaleX(0.6); opacity: 0; }
}

@keyframes revealUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* CTA rules moved to css/custom.removed.css */

/* CTA button entrance + hover + shimmer (restored) */
.btn-cta, .btn-ghost {
  opacity: 0;
  transform: translateY(12px);
  animation: btnEntrance 600ms cubic-bezier(.2,.8,.2,1) both;
}

.text-block .btn-cta { animation-delay: 0.7s; }
.text-block .btn-ghost { animation-delay: 0.95s; }

@keyframes btnEntrance {
  from { opacity: 0; transform: translateY(12px) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.btn-cta { position: relative; overflow: hidden; }
.btn-cta::before {
  content: "";
  position: absolute;
  left: -120%;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0.0), rgba(255,255,255,0.25), rgba(255,255,255,0.0));
  transform: skewX(-20deg);
  filter: blur(6px);
  opacity: 0;
  animation: btnShine 1.6s ease-in-out 1.4s infinite;
}

@keyframes btnShine {
  0% { left: -120%; opacity: 0; }
  35% { left: -10%; opacity: 0.8; }
  65% { left: 60%; opacity: 0.8; }
  100% { left: 140%; opacity: 0; }
}

.btn-cta:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(111,77,245,0.18);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.btn-ghost:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(15,23,42,0.06);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

