/* =========================================================
   FM Welcome Landing - Styles
   ========================================================= */

.fm-hero{
  background: radial-gradient(1200px circle at 20% 0%, rgba(13,110,253,.18), transparent 55%),
              radial-gradient(900px circle at 90% 20%, rgba(25,135,84,.16), transparent 55%),
              linear-gradient(180deg, rgba(248,249,250,1) 0%, rgba(255,255,255,1) 55%);
  border: 1px solid rgba(0,0,0,.06);
}

.fm-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.4rem .7rem;
  border-radius:999px;
  background: rgba(13,110,253,.08);
  border: 1px solid rgba(13,110,253,.18);
  font-weight:600;
}

.fm-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: rgba(13,110,253,.10);
  border: 1px solid rgba(13,110,253,.18);
  font-size:20px;
}

.fm-card{
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.fm-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.06);
}

.fm-cta{
  background: linear-gradient(135deg, rgba(13,110,253,.10), rgba(25,135,84,.08));
  border: 1px solid rgba(0,0,0,.06);
}

@media (hover: hover) and (pointer: fine) {
  .fm-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.06);
  }
}

/* Step number badge */
.fm-step {
  position: absolute;
  top: -12px;
  left: -12px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(13,110,253,.12);
  border: 1px solid rgba(13,110,253,.35);
  color: #0d6efd;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media (max-width: 575px) {
  .fm-step {
    top: -8px;
    left: -8px;
    width: 30px;
    height: 30px;
    font-size: 13px;
  }
}

#faq .accordion-item {
    border: none;
}

#faq .accordion-body {
    background-color: #f8f9fa;
    padding: 1rem 1.25rem;
}
