/* ==========================================================================
   Why a registry — two-column editorial essay (sticky masthead + prose).
   White band, a vertical gradient spine alongside the prose, blue key-phrase
   highlights. Blue primary only on accents. Site scroll-reveal motion.
   ========================================================================== */
.pg-cnreg { background-color:#fff; padding:104px 0; }
.pg-cnreg__inner {
  max-width:1280px; margin:0 auto; padding:0 80px;
  display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:80px; align-items:start;
}

.pg-cnreg__head { position:sticky; top:100px; }
.pg-cnreg__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-cnreg__title {
  font-family:"Cabin",sans-serif; font-weight:700; font-size:44px; line-height:1.22;
  color:#12140f; margin-top:18px; max-width:460px;
}

.pg-cnreg__body { position:relative; padding-left:40px; display:flex; flex-direction:column; gap:22px; }
.pg-cnreg__body::before {
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:2px; border-radius:2px;
  background:linear-gradient(180deg,#0036fa,#4e87fc); opacity:0.32;
}
.pg-cnreg__p {
  font-family:"Cabin",sans-serif; font-weight:400; font-size:16px; line-height:26px; color:#4d4d4d;
}
.pg-cnreg__hl { color:#0036fa; font-weight:600; }

/* --- scroll-reveal (site motion language) --- */
.pg-cnreg__head, .pg-cnreg__p {
  opacity:0; transform:translateY(16px);
  transition:opacity 0.6s ease, transform 0.6s ease;
}
.pg-cnreg__head.is-in, .pg-cnreg__p.is-in { opacity:1; transform:none; }
.pg-cnreg__p.is-in:nth-of-type(1) { transition-delay:0.06s; }
.pg-cnreg__p.is-in:nth-of-type(2) { transition-delay:0.16s; }
.pg-cnreg__p.is-in:nth-of-type(3) { transition-delay:0.26s; }

@media (prefers-reduced-motion: reduce) {
  .pg-cnreg__head, .pg-cnreg__p { opacity:1; transform:none; transition:none; }
}

@media (max-width:1040px) {
  .pg-cnreg { padding:80px 0; }
  .pg-cnreg__inner { grid-template-columns:1fr; gap:40px; padding:0 24px; }
  .pg-cnreg__head { position:static; }
  .pg-cnreg__title { font-size:34px; max-width:none; }
}
@media (max-width:600px) {
  .pg-cnreg__title { font-size:28px; }
  .pg-cnreg__body { padding-left:26px; }
}
