.jcsv{
  --blue:#1457D9; --navy:#0B1220; --sky:#5E92E8; --mist:#B7CCEF;
  --panel:#F5F8FF; --body:#4A5A70; --muted:#6B7A90; --line:#E3E9F4;
  --bg:#fff; --radius:14px;}
.jcsv *{box-sizing:border-box}
.jcsv img{max-width:100%}
.jcsv a{color:inherit}
.jcsv .hero{max-width:1180px;margin:0 auto;padding:84px 28px 72px;
  display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.jcsv .hero .kicker{font-size:13px;color:var(--blue);font-weight:700;letter-spacing:.16em;margin-bottom:18px}
.jcsv .hero h1{font-size:52px;line-height:1.2;margin:0 0 20px;letter-spacing:-.025em}
.jcsv .hero h1 em{font-style:normal;color:var(--blue)}
.jcsv .hero p.lead{font-size:18px;color:var(--body);margin:0 0 30px;max-width:600px}
.jcsv .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.jcsv .btn{display:inline-block;border-radius:999px;padding:13px 28px;font-size:15px;
  text-decoration:none;font-weight:700;transition:.15s}
.jcsv .btn.primary{background:var(--blue);color:#fff}
.jcsv .btn.primary:hover{background:#0F46B8}
.jcsv .btn.ghost{border:1px solid var(--line);color:var(--navy);background:#fff}
.jcsv .btn.ghost:hover{border-color:var(--blue);color:var(--blue)}
.jcsv .hero-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px}
.jcsv .hero-card h3{margin:0 0 16px;font-size:14px;color:var(--muted);letter-spacing:.06em}
.jcsv .hero-card .row{display:flex;justify-content:space-between;align-items:baseline;
  padding:11px 0;border-bottom:1px solid #E9EFFA;font-size:14px;color:var(--body)}
.jcsv .hero-card .row:last-child{border-bottom:none}
.jcsv .hero-card .row b{font-size:22px;color:var(--blue);font-variant-numeric:tabular-nums}
.jcsv section.blk{max-width:1180px;margin:0 auto;padding:72px 28px}
.jcsv .blk-head{max-width:720px;margin-bottom:40px}
.jcsv .blk-head .tag{font-size:12.5px;color:var(--blue);font-weight:700;letter-spacing:.14em;margin-bottom:12px}
.jcsv .blk-head h2{font-size:34px;margin:0 0 14px;letter-spacing:-.02em}
.jcsv .blk-head p{margin:0;color:var(--body);font-size:16px}
.jcsv .picker{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jcsv .picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.jcsv .scene{border:1px solid var(--line);background:#fff;border-radius:var(--radius);
  padding:20px 22px;cursor:pointer;transition:.16s;text-align:left;font-family:inherit}
.jcsv .scene:hover{border-color:var(--sky);transform:translateY(-2px)}
.jcsv .scene.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(20,87,217,.12)}
.jcsv .scene .q{font-size:15.5px;font-weight:700;color:var(--navy);margin-bottom:8px}
.jcsv .scene .a{font-size:13px;color:var(--muted)}
.jcsv .scene .rec{margin-top:12px;font-size:12.5px;color:var(--blue);font-weight:700;display:none}
.jcsv .scene.on .rec{display:block}
.jcsv .picker-note{margin-top:18px;font-size:13.5px;color:var(--muted)}
.jcsv .packs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.jcsv .pack{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;
  transition:.18s}
.jcsv .pack:hover{border-color:var(--sky);box-shadow:0 10px 30px rgba(11,18,32,.06)}
.jcsv .pack.hit{border-color:var(--blue);box-shadow:0 0 0 2px rgba(20,87,217,.14)}
.jcsv .pack-top{padding:22px 24px 18px;display:flex;align-items:flex-start;gap:14px;cursor:pointer}
.jcsv .pack-no{flex:0 0 44px;height:44px;border-radius:11px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.jcsv .pack.hit .pack-no{background:var(--blue)}
.jcsv .pack-top h3{margin:0 0 4px;font-size:19px}
.jcsv .pack-top .purpose{font-size:13.5px;color:var(--body)}
.jcsv .pack-meta{display:flex;gap:20px;padding:0 24px 18px;font-size:13px;color:var(--muted)}
.jcsv .pack-meta b{color:var(--navy);font-weight:700}
.jcsv .pack-more{border-top:1px dashed var(--line);padding:0 24px;max-height:0;overflow:hidden;
  transition:max-height .28s ease}
.jcsv .pack.open .pack-more{max-height:420px}
.jcsv .pack-more ul{margin:16px 0;padding-left:18px;font-size:14px;color:var(--body)}
.jcsv .pack-more li{margin-bottom:7px}
.jcsv .pack-more .bound{font-size:13px;color:var(--muted);padding-bottom:18px}
.jcsv .pack-toggle{padding:0 24px 18px}
.jcsv .pack-toggle button{border:0;background:transparent;color:var(--blue);font-size:13.5px;
  font-weight:700;cursor:pointer;padding:0;font-family:inherit}
.jcsv .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.jcsv .tier{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}
.jcsv .tier.hi{background:var(--panel);border-color:var(--sky)}
.jcsv .tier h3{margin:0 0 6px;font-size:19px}
.jcsv .tier .who{font-size:13px;color:var(--muted);margin-bottom:16px}
.jcsv .tier dl{margin:0;font-size:14px}
.jcsv .tier dt{color:var(--muted);font-size:12.5px;margin-top:12px}
.jcsv .tier dd{margin:3px 0 0;color:var(--body)}
.jcsv .flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;counter-reset:s}
.jcsv .step{position:relative;border:1px solid var(--line);border-radius:12px;padding:18px 16px;background:#fff}
.jcsv .step:before{counter-increment:s;content:counter(s);position:absolute;top:-11px;left:16px;
  width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;
  display:flex;align-items:center;justify-content:center;font-weight:700}
.jcsv .step b{display:block;font-size:14.5px;margin:8px 0 6px}
.jcsv .step span{font-size:12.5px;color:var(--muted);line-height:1.6}
.jcsv .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.jcsv .card-box{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}
.jcsv .card-box h3{margin:0 0 16px;font-size:18px}
.jcsv .card-box ul{margin:0;padding-left:18px;font-size:14.5px;color:var(--body)}
.jcsv .card-box li{margin-bottom:9px}
.jcsv .card-box.warn{background:#FFFBF7;border-color:#F3DED0}
.jcsv .card-box.warn h3{color:#B45309}
.jcsv .faq{border-top:1px solid var(--line)}
.jcsv .faq details{border-bottom:1px solid var(--line);padding:18px 0}
.jcsv .faq summary{cursor:pointer;font-size:16px;font-weight:700;list-style:none;display:flex;
  justify-content:space-between;align-items:center;gap:16px}
.jcsv .faq summary::-webkit-details-marker{display:none}
.jcsv .faq summary:after{content:"+";color:var(--blue);font-size:20px;font-weight:400}
.jcsv .faq details[open] summary:after{content:"–"}
.jcsv .faq p{margin:12px 0 0;font-size:14.5px;color:var(--body);max-width:860px}
.jcsv .cta{background:var(--navy);color:#fff;text-align:center;padding:80px 28px}
.jcsv .cta h2{font-size:36px;margin:0 0 14px;letter-spacing:-.02em}
.jcsv .cta p{color:var(--mist);font-size:16px;margin:0 0 30px}
.jcsv .cta .btn.primary{background:var(--blue)}
.jcsv .cta .btn.ghost{background:transparent;border-color:#2A3A57;color:#fff}
.jcsv .pack-pick{display:flex;align-items:center;gap:9px;padding:0 24px 18px;font-size:13.5px;color:var(--body)}
.jcsv .pack-pick input{accent-color:var(--blue);width:16px;height:16px;cursor:pointer}
.jcsv .pack-pick label{cursor:pointer}
.jcsv .pack.picked{border-color:var(--blue);background:#FCFDFF}
.jcsv .pack.picked .pack-no{background:var(--blue)}
.jcsv #cart{position:fixed;left:50%;bottom:24px;z-index:60;background:var(--navy);color:#fff;
  border-radius:999px;padding:10px 12px 10px 22px;display:flex;align-items:center;gap:14px;
  box-shadow:0 12px 40px rgba(11,18,32,.28);transform:translateX(-50%) translateY(180%);
  transition:transform .25s}
.jcsv #cart.on{transform:translateX(-50%) translateY(0)}
.jcsv #cart b{font-size:14px;white-space:nowrap}
.jcsv #cart button{border:0;border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700;
  cursor:pointer;font-family:inherit}
.jcsv #cart .go{background:var(--blue);color:#fff}
.jcsv #cart .clear{background:transparent;color:var(--mist)}
.jcsv #modal{position:fixed;inset:0;background:rgba(11,18,32,.5);display:none;z-index:80;
  align-items:center;justify-content:center;padding:20px}
.jcsv #modal.on{display:flex}
.jcsv #modal .sheet{background:#fff;border-radius:16px;max-width:780px;width:100%;max-height:88vh;
  overflow:auto;padding:28px}
.jcsv #modal h3{margin:0 0 6px;font-size:22px}
.jcsv #modal .hint{font-size:13px;color:var(--muted);margin-bottom:18px}
.jcsv #modal .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.jcsv #modal label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px}
.jcsv #modal input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;
  font-size:14px;font-family:inherit;outline:none}
.jcsv #modal input:focus{border-color:var(--blue)}
.jcsv #modal textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:14px;
  font-size:13px;line-height:1.85;font-family:Consolas,"Microsoft YaHei",monospace;min-height:260px;
  background:var(--panel);outline:none}
.jcsv #modal .acts{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.jcsv #modal .acts button{border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:10px 20px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;color:var(--navy)}
.jcsv #modal .acts button.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.jcsv #agent{position:fixed;right:24px;bottom:24px;z-index:70}
.jcsv #agent .bubble{width:56px;height:56px;border-radius:50%;background:var(--blue);color:#fff;
  border:0;cursor:pointer;font-size:22px;box-shadow:0 10px 30px rgba(20,87,217,.35)}
.jcsv #agent .panel{position:absolute;right:0;bottom:70px;width:340px;background:#fff;border-radius:14px;
  border:1px solid var(--line);box-shadow:0 16px 44px rgba(11,18,32,.18);display:none}
.jcsv #agent.open .panel{display:block}
.jcsv #agent .panel header{background:var(--navy);color:#fff;padding:14px 16px;font-size:13.5px;
  border-radius:14px 14px 0 0}
.jcsv #agent .panel .body{padding:16px;font-size:13.5px;color:var(--body);line-height:1.85}
.jcsv #agent .panel .body a{color:var(--blue);text-decoration:none}
@media (max-width:960px){
  .jcsv .hero{grid-template-columns:1fr;padding-top:52px;gap:32px}
  .jcsv .hero h1{font-size:36px}
  .jcsv .packs, .jcsv .picker-grid, .jcsv .tiers, .jcsv .two{grid-template-columns:1fr}
  .jcsv .flow{grid-template-columns:repeat(2,1fr)}
}

/* 服务页补充样式：作用域内的排版基线、页内目录、焦点与动效降级。 */
.jcsv{
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
  color:var(--navy);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
.jcsv [id]{scroll-margin-top:96px}
.jcsv .anchorbar{max-width:1180px;margin:0 auto;padding:0 28px 12px;display:flex;gap:8px;flex-wrap:wrap}
.jcsv .anchorbar a{font-size:13.5px;color:var(--body);text-decoration:none;border:1px solid var(--line);
  border-radius:999px;padding:7px 14px;background:#fff;transition:.15s}
.jcsv .anchorbar a:hover,.jcsv .anchorbar a:focus-visible{color:var(--blue);border-color:var(--blue)}
.jcsv .scene:focus-visible,.jcsv .btn:focus-visible,.jcsv .pack-toggle button:focus-visible,
.jcsv #cart button:focus-visible,.jcsv #modal button:focus-visible,.jcsv #agentBtn:focus-visible,
.jcsv .anchorbar a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.jcsv .jcsv-note{max-width:1180px;margin:0 auto;padding:0 28px 56px;font-size:13px;color:var(--muted)}
/* 主题对 h1—h4 设了显式颜色，深色 CTA 需覆盖回来 */
.jcsv .cta h2{color:#fff}
.jcsv .cta p{color:var(--mist)}
.jcsv #faq summary{color:var(--navy)}
.jcsv-lock{overflow:hidden}
@media (prefers-reduced-motion: reduce){
  .jcsv *{transition:none !important;scroll-behavior:auto !important}
}
@media (max-width:960px){
  .jcsv .anchorbar{padding:0 20px 10px}
  .jcsv .jcsv-note{padding:0 20px 44px}
}
