/* ============================== FAQ accordion (Connectors) ================ */
.pg-cnfaq { background-color:#f4f7fd; padding:104px 0; }
.pg-cnfaq__inner { max-width:1280px; margin:0 auto; padding:0 80px; }
.pg-cnfaq__kicker {
  font-family:"Cabin",sans-serif; font-weight:600; font-size:14px; line-height:16px;
  letter-spacing:0.1em; text-transform:uppercase;
  background:linear-gradient(90deg,#0036fa,#4e87fc); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pg-cnfaq__title { font-family:"Cabin",sans-serif; font-weight:700; font-size:44px; line-height:1.22; color:#12140f; margin-top:18px; }
.pg-cnfaq__grid { margin-top:44px; display:grid; grid-template-columns:1fr 1fr; column-gap:72px; }
.pg-cnfaq__col { display:flex; flex-direction:column; }
.pg-cnfaq__item { position:relative; border-top:1px solid #dfe3ee; padding-left:18px; }
.pg-cnfaq__col:first-child .pg-cnfaq__item:first-child,
.pg-cnfaq__col:last-child .pg-cnfaq__item:first-child { border-top:none; }
.pg-cnfaq__item::before { content:""; position:absolute; left:0; top:26px; width:2px; height:0; border-radius:2px; background:linear-gradient(180deg,#0036fa,#4e87fc); transition:height 0.38s ease; }
.pg-cnfaq__item.is-open::before { height:calc(100% - 52px); }
.pg-cnfaq__q {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 0;
  background:none; border:none; cursor:pointer; text-align:left;
  font-family:"Cabin",sans-serif; font-weight:600; font-size:18px; line-height:25px; color:#12140f;
  transition:color 0.3s ease;
}
.pg-cnfaq__q:hover, .pg-cnfaq__item.is-open .pg-cnfaq__q { color:#0036fa; }
.pg-cnfaq__chev {
  flex-shrink:0; font-size:15px; line-height:1;
  background:linear-gradient(90deg,#0036fa,#4e87fc); -webkit-background-clip:text; background-clip:text; color:transparent;
  transform:rotate(0deg); transition:transform 0.35s cubic-bezier(0.34,1.4,0.64,1);
}
.pg-cnfaq__item.is-open .pg-cnfaq__chev { transform:rotate(180deg); }
.pg-cnfaq__answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.38s ease; }
.pg-cnfaq__answer > div { overflow:hidden; }
.pg-cnfaq__item.is-open .pg-cnfaq__answer { grid-template-rows:1fr; }
.pg-cnfaq__a { font-family:"Cabin",sans-serif; font-weight:400; font-size:15px; line-height:24px; color:#4d4d4d; padding:0 30px 24px 0; }
.pg-cnfaq__a a { color:#0036fa; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(0,54,250,0.3); }
.pg-cnfaq__a a:hover { border-bottom-color:#0036fa; }
.pg-cnfaq__head, .pg-cnfaq__item { opacity:0; transform:translateY(16px); transition:opacity 0.6s ease, transform 0.6s ease; }
.pg-cnfaq__head.is-in, .pg-cnfaq__item.is-in { opacity:1; transform:none; }
.pg-cnfaq__item.is-in:nth-child(1) { transition-delay:0.05s; }
.pg-cnfaq__item.is-in:nth-child(2) { transition-delay:0.12s; }
.pg-cnfaq__item.is-in:nth-child(3) { transition-delay:0.19s; }
.pg-cnfaq__item.is-in:nth-child(4) { transition-delay:0.26s; }
@media (prefers-reduced-motion: reduce) {
  .pg-cnfaq__head, .pg-cnfaq__item { opacity:1; transform:none; transition:none; }
}

/* ============================ keep-reading strip =========================== */
.pg-cnfoot { background-color:#fff; padding:46px 0 54px; border-top:1px solid #eee; }
.pg-cnfoot__inner { max-width:1280px; margin:0 auto; padding:0 80px; }
.pg-cnfoot__reading { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.pg-cnfoot__label { font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:#9aa2b4; }
.pg-cnfoot__chips { display:flex; gap:12px; flex-wrap:wrap; }
.pg-cnfoot__chip {
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid #cfd6e6; border-radius:999px;
  font-family:"Cabin",sans-serif; font-weight:600; font-size:14px; color:#12140f; text-decoration:none;
  transition:border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}
.pg-cnfoot__chip span { color:#0036fa; transition:transform 0.3s ease; }
.pg-cnfoot__chip:hover { border-color:#0036fa; color:#0036fa; background-color:#f4f7fd; transform:translateY(-1px); }
.pg-cnfoot__chip:hover span { transform:translateX(3px); }
.pg-cnfoot__note { margin-top:28px; font-family:"Cabin",sans-serif; font-weight:400; font-size:13px; line-height:21px; color:#9aa2b4; max-width:900px; }

@media (max-width:1040px) {
  .pg-cnfaq { padding:80px 0; }
  .pg-cnfaq__inner, .pg-cnfoot__inner { padding:0 24px; }
  .pg-cnfaq__title { font-size:34px; }
  .pg-cnfaq__grid { grid-template-columns:1fr; column-gap:0; }
  .pg-cnfaq__col:last-child .pg-cnfaq__item:first-child { border-top:1px solid #dfe3ee; }
}
@media (max-width:600px) { .pg-cnfaq__title { font-size:28px; } }
