page {
  background: #f3f3f3;
}

.home {
  padding: 24rpx 24rpx calc(40rpx + env(safe-area-inset-bottom));
}

.welcomeCard {
  padding: 18rpx 0 6rpx;
  text-align: center;
}

.welcomeText {
  font-size: 28rpx;
  color: #222;
  font-weight: 600;
}

.bannerCard {
  background: #fff;
  border-radius: 16rpx;
  overflow: hidden;
  border: 2rpx solid #e7e7e7;
}

.bannerSwiper {
  height: 280rpx;
}

.bannerSlide {
  height: 280rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 24rpx;
}

.bannerSlide1 {
  background: linear-gradient(135deg, #c61b1b, #e43a3a);
}

.bannerSlide2 {
  background: linear-gradient(135deg, #b01414, #d63636);
}

.bannerLogo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180rpx;
  height: 64rpx;
  border-radius: 999rpx;
  background: rgba(255, 255, 255, 0.12);
  margin-bottom: 14rpx;
}

.bannerLogoText {
  color: #ffd34a;
  font-size: 34rpx;
  font-weight: 700;
  letter-spacing: 2rpx;
}

.bannerSlogan {
  color: #fff;
  font-size: 34rpx;
  font-weight: 700;
  text-align: center;
  padding: 0 20rpx;
  text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.15);
}

.actionCard {
  margin-top: 20rpx;
  background: #fff;
  border-radius: 16rpx;
  padding: 24rpx 10rpx 18rpx;
  position: relative;
}

.actionLine {
  position: absolute;
  left: 36rpx;
  right: 36rpx;
  top: 62rpx;
  height: 4rpx;
  background: #d6b25a;
  border-radius: 999rpx;
  opacity: 0.95;
}

.actionLineDot {
  position: absolute;
  left: 36rpx;
  top: 56rpx;
  width: 16rpx;
  height: 16rpx;
  border-radius: 50%;
  background: #d6b25a;
}

.actionRow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.actionItem {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.actionIcon {
  width: 112rpx;
  height: 112rpx;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.actionIconImg {
  width: 58rpx;
  height: 58rpx;
}

.actionLabel {
  margin-top: 8rpx;
  font-size: 28rpx;
  color: #222;
}

.sectionCard {
  margin-top: 22rpx;
  background: #fff;
  border-radius: 16rpx;
  padding: 18rpx 18rpx 22rpx;
}

.sectionHeader {
  display: flex;
  align-items: center;
}

.sectionAccent {
  width: 10rpx;
  height: 34rpx;
  border-radius: 999rpx;
  background: #b01f1f;
  margin-right: 14rpx;
}

.sectionTitle {
  font-size: 32rpx;
  font-weight: 700;
  color: #222;
}

.sectionMore {
  margin-left: auto;
  font-size: 26rpx;
  color: #9a9a9a;
}

.introBox {
  margin-top: 16rpx;
  background: #fdeeee;
  border-radius: 12rpx;
  padding: 20rpx;
}

.introText {
  font-size: 28rpx;
  color: #222;
  line-height: 1.6;
}

.ctaWrap {
  margin-top: 22rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ctaBtn {
  width: 100%;
  height: 96rpx;
  border-radius: 999rpx;
  background: linear-gradient(180deg, #ff1a1a, #b51616);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ctaBtnText {
  color: #fff;
  font-size: 36rpx;
  font-weight: 800;
  letter-spacing: 2rpx;
}

.ctaHint {
  margin-top: 16rpx;
  font-size: 26rpx;
  color: #222;
}

.faqList {
  margin-top: 10rpx;
}

.faqItem {
  display: flex;
  align-items: center;
  padding: 22rpx 6rpx;
  border-bottom: 2rpx solid #efefef;
}

.faqItemLast {
  border-bottom: 0;
}

.faqTitle {
  font-size: 30rpx;
  color: #222;
}

.faqDate {
  margin-left: auto;
  font-size: 26rpx;
  color: #bdbdbd;
}

.bottomSpacer {
  height: 24rpx;
}
