:root{
  --brand-from:#2563eb;
  --brand-to:#0284c7;
}

*{scroll-behavior:smooth;}

body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:#f8fafc;
}

.gradient-text{
  background:linear-gradient(120deg,var(--brand-from),var(--brand-to));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}

.bg-grid{
  background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);
  background-size:42px 42px;
}

.nav-blur{
  background:rgba(255,255,255,.84)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 6px 24px rgba(2,6,23,.08);
}

.card-hover{
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease;
}

.card-hover:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 48px -18px rgba(2,132,199,.28);
  border-color:rgba(2,132,199,.35);
}

.btn-glow{
  box-shadow:0 10px 26px -8px rgba(2,132,199,.55);
  transition:transform .3s ease,box-shadow .3s ease;
}

.btn-glow:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px -10px rgba(2,132,199,.7);
}

.fade-in{
  animation:fadeIn .7s ease both;
}

@keyframes fadeIn{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:none;}
}

.faq-item{
  border:1px solid #e2e8f0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  transition:box-shadow .3s ease;
}

.faq-item.open{
  box-shadow:0 14px 30px -14px rgba(2,132,199,.25);
}

.faq-question{
  cursor:pointer;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-weight:600;
  color:#0f172a;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
  padding:0 20px;
  color:#475569;
  line-height:1.8;
}

.faq-item.open .faq-answer{
  max-height:300px;
  padding-bottom:20px;
}

.faq-icon{
  transition:transform .35s ease;
  color:#0284c7;
  flex-shrink:0;
}

.faq-item.open .faq-icon{
  transform:rotate(135deg);
}
