
    :root{
      --brand:#003A62;
      --brand2:#265779;
      --accent:#16B8D4;
      --ink:#102433;
      --muted:#5D6C79;
      --line:rgba(0,58,98,.14);
      --line2:rgba(0,58,98,.28);
      --soft:#F5F9FC;
      --white:#FFFFFF;
      --radius:16px;
      --shell:1180px;
      --shadow:0 18px 55px rgba(0,38,64,.075);
    }

    html{scroll-behavior:smooth}
    body.zj-faq-body{margin:0;background:#fff}
    .zj-faq-page,.zj-faq-page *,.zj-faq-page *::before,.zj-faq-page *::after{box-sizing:border-box}
    .zj-faq-page{
      position:relative;
      overflow:hidden;
      color:var(--ink);
      background:var(--white);
      font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      font-size:16px;
      line-height:1.7;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    .zj-faq-page a{color:inherit;text-decoration:none}
    .zj-faq-page h1,.zj-faq-page h2,.zj-faq-page p{margin:0}
    .zj-shell{position:relative;width:min(var(--shell),calc(100% - 40px));margin-inline:auto}

    .zj-faq-hero{
      position:relative;
      isolation:isolate;
      padding:92px 0 74px;
      overflow:hidden;
      background:
        radial-gradient(circle at 88% 4%,rgba(22,184,212,.075),transparent 27%),
        linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
      border-bottom:1px solid var(--line);
    }
    .zj-faq-hero::before{
      position:absolute;
      inset:0;
      z-index:-1;
      content:"";
      background-image:
        linear-gradient(rgba(0,58,98,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,58,98,.035) 1px,transparent 1px);
      background-size:52px 52px;
      -webkit-mask-image:linear-gradient(to bottom,#000,transparent 95%);
      mask-image:linear-gradient(to bottom,#000,transparent 95%);
    }
    .zj-faq-hero::after{
      position:absolute;
      right:-150px;
      bottom:-220px;
      z-index:-1;
      width:480px;
      height:480px;
      content:"";
      border:1px solid rgba(0,58,98,.08);
      border-radius:50%;
      box-shadow:0 0 0 58px rgba(0,58,98,.018),0 0 0 116px rgba(22,184,212,.012);
    }
    .zj-eyebrow{
      display:inline-flex;
      gap:10px;
      align-items:center;
      margin-bottom:18px;
      color:var(--brand);
      font-size:12px;
      font-weight:500;
      letter-spacing:.16em;
      text-transform:uppercase;
    }
    .zj-eyebrow::before{
      width:32px;
      height:2px;
      content:"";
      background:var(--accent);
      border-radius:999px;
    }
    .zj-faq-hero h1{
      max-width:850px;
      color:var(--brand);
      font-size:clamp(42px,6vw,72px);
      font-weight:600;
      line-height:1.05;
      letter-spacing:-.052em;
    }
    .zj-faq-intro{
      max-width:760px;
      margin-top:22px;
      color:var(--muted);
      font-size:clamp(16px,2vw,18px);
      line-height:1.75;
    }
    .zj-faq-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px 24px;
      align-items:center;
      margin-top:30px;
      color:var(--muted);
      font-size:13px;
    }
    .zj-faq-meta span{display:inline-flex;gap:8px;align-items:center}
    .zj-faq-meta span::before{
      width:6px;
      height:6px;
      content:"";
      background:var(--accent);
      border-radius:50%;
      box-shadow:0 0 0 5px rgba(22,184,212,.09);
    }

    .zj-faq-content{
      position:relative;
      padding:76px 0 96px;
      background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
    }
    .zj-faq-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .zj-faq-item{
      position:relative;
      display:grid;
      grid-template-columns:58px minmax(0,1fr) 44px;
      gap:22px;
      align-items:start;
      min-width:0;
      padding:28px 28px 28px 22px;
      overflow:hidden;
      background:rgba(255,255,255,.92);
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:0 8px 28px rgba(0,38,64,.035);
      transition:
        transform .28s cubic-bezier(.2,.7,.2,1),
        border-color .28s ease,
        box-shadow .28s ease,
        background-color .28s ease;
    }
    .zj-faq-item::before{
      position:absolute;
      top:0;
      bottom:0;
      left:0;
      width:3px;
      content:"";
      background:linear-gradient(180deg,var(--brand),var(--accent));
      transform:scaleY(0);
      transform-origin:top;
      transition:transform .34s cubic-bezier(.2,.7,.2,1);
    }
    .zj-faq-item::after{
      position:absolute;
      top:-90px;
      left:-140px;
      width:260px;
      height:260px;
      content:"";
      pointer-events:none;
      background:radial-gradient(circle,rgba(22,184,212,.09),transparent 67%);
      opacity:0;
      transform:translate3d(-18px,18px,0);
      transition:opacity .32s ease,transform .42s cubic-bezier(.2,.7,.2,1);
    }
    .zj-faq-item:hover{
      z-index:1;
      background:#fff;
      border-color:var(--line2);
      box-shadow:var(--shadow);
      transform:translateY(-5px);
    }
    .zj-faq-item:hover::before{transform:scaleY(1)}
    .zj-faq-item:hover::after{opacity:1;transform:translate3d(0,0,0)}

    .zj-faq-index{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:44px;
      height:44px;
      color:var(--brand);
      background:#fff;
      border:1px solid var(--line2);
      border-radius:12px;
      font-size:11px;
      font-weight:600;
      letter-spacing:.08em;
      transition:
        color .25s ease,
        background-color .25s ease,
        border-color .25s ease,
        transform .28s cubic-bezier(.2,.7,.2,1),
        box-shadow .28s ease;
    }
    .zj-faq-item:hover .zj-faq-index{
      color:#fff;
      background:var(--brand);
      border-color:var(--brand);
      box-shadow:0 10px 24px rgba(0,58,98,.18);
      transform:rotate(-3deg) scale(1.06);
    }

    .zj-faq-copy{position:relative;z-index:1;min-width:0}
    .zj-faq-copy h2{
      color:var(--brand);
      font-size:clamp(18px,2.1vw,22px);
      font-weight:600;
      line-height:1.38;
      letter-spacing:-.018em;
      transition:color .22s ease,transform .28s cubic-bezier(.2,.7,.2,1);
    }
    .zj-faq-item:hover .zj-faq-copy h2{
      color:var(--brand2);
      transform:translateX(3px);
    }
    .zj-faq-copy p{
      max-width:920px;
      margin-top:10px;
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    .zj-faq-copy a{color:var(--brand);border-bottom:1px solid rgba(0,58,98,.25)}
    .zj-faq-copy a:hover{color:var(--accent);border-color:var(--accent)}

    .zj-faq-arrow{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:36px;
      height:36px;
      margin-top:5px;
      color:var(--brand);
      border:1px solid var(--line);
      border-radius:50%;
      opacity:.52;
      transition:
        color .24s ease,
        border-color .24s ease,
        opacity .24s ease,
        transform .3s cubic-bezier(.2,.7,.2,1),
        background-color .24s ease;
    }
    .zj-faq-arrow::before{
      width:8px;
      height:8px;
      content:"";
      border-top:1.5px solid currentColor;
      border-right:1.5px solid currentColor;
      transform:rotate(45deg);
      transition:transform .28s ease;
    }
    .zj-faq-item:hover .zj-faq-arrow{
      color:#fff;
      background:var(--brand);
      border-color:var(--brand);
      opacity:1;
      transform:translateX(4px);
    }
    .zj-faq-item:hover .zj-faq-arrow::before{transform:rotate(45deg) translate(1px,-1px)}

    .zj-faq-help{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:28px;
      align-items:center;
      margin-top:48px;
      padding:28px 30px;
      overflow:hidden;
      background:linear-gradient(90deg,rgba(0,58,98,.035),rgba(22,184,212,.025)),#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
    }
    .zj-faq-help::before{
      position:absolute;
      top:0;
      bottom:0;
      left:0;
      width:3px;
      content:"";
      background:linear-gradient(180deg,var(--brand),var(--accent));
    }
    .zj-faq-help h2{
      color:var(--brand);
      font-size:clamp(22px,3vw,30px);
      font-weight:600;
      line-height:1.25;
      letter-spacing:-.028em;
    }
    .zj-faq-help p{margin-top:8px;color:var(--muted);font-size:14px}
    .zj-faq-button{
      display:inline-flex;
      gap:9px;
      align-items:center;
      justify-content:center;
      min-height:50px;
      padding:0 22px;
      color:#fff!important;
      background:var(--brand);
      border:1px solid var(--brand);
      border-radius:10px;
      font-size:14px;
      font-weight:500;
      white-space:nowrap;
      box-shadow:0 12px 28px rgba(0,58,98,.18);
      transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease;
    }
    .zj-faq-button:hover{
      background:var(--brand2);
      box-shadow:0 18px 38px rgba(0,58,98,.24);
      transform:translateY(-3px);
    }
    .zj-faq-button svg{
      width:17px;
      height:17px;
      transition:transform .22s ease;
    }
    .zj-faq-button:hover svg{transform:translateX(4px)}

    @media(max-width:760px){
      .zj-shell{width:min(var(--shell),calc(100% - 28px))}
      .zj-faq-hero{padding:68px 0 56px}
      .zj-faq-hero h1{font-size:clamp(38px,12vw,56px)}
      .zj-faq-content{padding:52px 0 72px}
      .zj-faq-item{
        grid-template-columns:44px minmax(0,1fr);
        gap:15px;
        padding:22px 18px 22px 16px;
      }
      .zj-faq-index{width:40px;height:40px;border-radius:10px}
      .zj-faq-arrow{
        position:absolute;
        top:18px;
        right:16px;
        width:32px;
        height:32px;
        margin:0;
      }
      .zj-faq-copy{padding-right:34px}
      .zj-faq-copy h2{font-size:17px}
      .zj-faq-copy p{font-size:14px}
      .zj-faq-help{grid-template-columns:1fr;padding:24px 20px}
      .zj-faq-button{width:100%}
    }

    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      .zj-faq-page *,
      .zj-faq-page *::before,
      .zj-faq-page *::after{
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
      }
    }
  