
/* ===================== JIACHENG FAQ — theme #05479A ===================== */
.jc-faq{
  --jc-blue:#05479A;
  --jc-blue-soft:rgba(5,71,154,.06);
  --jc-ink:#0E1B2E;
  --jc-muted:#5B6B80;
  --jc-line:#E4EAF2;
  --jc-ease:cubic-bezier(.22,.61,.36,1);
  background:#FFFFFF;
  padding:72px 20px 84px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.jc-faq *{box-sizing:border-box;}

.jc-faq__inner{max-width:960px;margin:0 auto;}

/* ---------- heading ---------- */
.jc-faq__eyebrow{
  margin:0 0 14px;
  font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--jc-blue);
}
.jc-faq__title{
  margin:0 0 14px;
  font-size:clamp(24px,3.2vw,34px);line-height:1.25;letter-spacing:-.01em;
  font-weight:700;color:var(--jc-ink);
}
.jc-faq__sub{
  margin:0;max-width:640px;
  font-size:15px;line-height:1.75;color:var(--jc-muted);
}

/* ---------- list ---------- */
.jc-faq__list{
  margin:40px 0 0;padding:0;list-style:none;
  border-top:1px solid var(--jc-line);
}
.jc-faq__item{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 16px;
  gap:0 22px;
  padding:26px 28px 26px 22px;
  border-bottom:1px solid var(--jc-line);
  /* hover tint is a narrow left-edge wash, never a full colour block */
  background-image:linear-gradient(90deg,var(--jc-blue-soft),rgba(5,71,154,0) 56%);
  background-repeat:no-repeat;
  background-size:0% 100%;
  background-position:left center;
  transition:background-size .5s var(--jc-ease);
}

/* left accent bar — grows upward on hover */
.jc-faq__item::before{
  content:"";
  position:absolute;left:0;top:16%;bottom:16%;width:2px;
  border-radius:2px;background:var(--jc-blue);
  transform:scaleY(0);transform-origin:bottom center;
  transition:transform .45s var(--jc-ease);
}

.jc-faq__item:hover,
.jc-faq__item:focus-within{background-size:100% 100%;}
.jc-faq__item:hover::before,
.jc-faq__item:focus-within::before{transform:scaleY(1);}

/* number */
.jc-faq__index{
  padding-top:5px;
  font-size:13px;font-weight:700;letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
  color:#B7C4D6;
  transition:color .35s ease,transform .45s var(--jc-ease);
}
.jc-faq__item:hover .jc-faq__index,
.jc-faq__item:focus-within .jc-faq__index{color:var(--jc-blue);transform:translateX(4px);}

/* text block */
.jc-faq__body{min-width:0;transition:transform .45s var(--jc-ease);}
.jc-faq__item:hover .jc-faq__body,
.jc-faq__item:focus-within .jc-faq__body{transform:translateX(4px);}

.jc-faq__q{
  margin:0 0 10px;
  font-size:17px;line-height:1.5;font-weight:600;color:var(--jc-ink);
  transition:color .3s ease;
}
.jc-faq__item:hover .jc-faq__q,
.jc-faq__item:focus-within .jc-faq__q{color:var(--jc-blue);}

.jc-faq__a{
  margin:0;max-width:740px;
  font-size:15px;line-height:1.8;color:var(--jc-muted);
}

/* diamond marker */
.jc-faq__mark{
  width:11px;height:11px;margin-top:10px;
  border:1.5px solid #C6D3E4;
  transform:rotate(45deg);
  transition:background-color .35s ease,border-color .35s ease,transform .45s var(--jc-ease),box-shadow .35s ease;
}
.jc-faq__item:hover .jc-faq__mark,
.jc-faq__item:focus-within .jc-faq__mark{
  background:var(--jc-blue);border-color:var(--jc-blue);
  transform:rotate(45deg) scale(1.35);
  box-shadow:0 0 0 4px rgba(5,71,154,.10);
}

/* ---------- closing CTA ---------- */
.jc-faq__cta{
  margin:32px 0 0;
  font-size:15px;line-height:1.7;color:var(--jc-muted);
}
.jc-faq__cta a{
  color:var(--jc-blue);font-weight:600;text-decoration:none;
  background-image:linear-gradient(var(--jc-blue),var(--jc-blue));
  background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;
  transition:background-size .35s var(--jc-ease);
}
.jc-faq__cta a:hover{background-size:100% 1px;}

/* ---------- responsive ---------- */
@media (max-width:640px){
  .jc-faq{padding:52px 16px 60px;}
  .jc-faq__list{margin-top:30px;}
  .jc-faq__item{
    grid-template-columns:40px minmax(0,1fr);
    gap:0 14px;padding:22px 14px 22px 14px;
  }
  .jc-faq__mark{display:none;}
  .jc-faq__q{font-size:16px;}
  .jc-faq__a{font-size:14.5px;line-height:1.75;}
  .jc-faq__item:hover .jc-faq__body,
  .jc-faq__item:focus-within .jc-faq__body{transform:translateX(2px);}
}

/* ---------- motion preference ---------- */
@media (prefers-reduced-motion:reduce){
  .jc-faq__item,.jc-faq__item::before,.jc-faq__index,.jc-faq__body,.jc-faq__q,.jc-faq__mark,.jc-faq__cta a{
    transition:none !important;
  }
  .jc-faq__item:hover .jc-faq__body,
  .jc-faq__item:focus-within .jc-faq__body,
  .jc-faq__item:hover .jc-faq__index,
  .jc-faq__item:focus-within .jc-faq__index{transform:none;}
}
