:root{
  --ink:#14181f; --ink2:#3d4654; --mut:#6b7686; --line:#e6e9ef;
  --brand:#185fa5; --brand2:#0f4a86; --brand-bg:#eef5fd;
  --red:#b42318; --red-bg:#fef3f2;
  --amber:#8a5300; --amber-bg:#fff7e6;
  --green:#116b3d; --green-bg:#eaf7ef;
  --bg:#ffffff; --soft:#f7f9fc;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:26px;height:62px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:16px;color:var(--ink)}
.logo i{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#2b7cc9,#0f4a86);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:14px;font-weight:700}
.nav nav{display:flex;gap:22px;margin-left:auto;flex-wrap:wrap}
.nav nav a{color:var(--ink2);font-size:14px}
.nav nav a:hover{color:var(--brand);text-decoration:none}

/* hero */
.hero{padding:64px 0 40px;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)}
.hero h1{font-size:34px;line-height:1.35;letter-spacing:-.5px;margin-bottom:16px}
.hero h1 b{color:var(--brand)}
.hero p.lead{font-size:16px;color:var(--ink2);max-width:720px;margin-bottom:26px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:10px;font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand2);text-decoration:none}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:#c9d3e0;text-decoration:none}
.hero .note{font-size:13px;color:var(--mut)}

/* sections */
section.block{padding:52px 0;border-top:1px solid var(--line)}
section.soft{background:var(--soft)}
h2{font-size:24px;letter-spacing:-.3px;margin-bottom:8px}
.sub{color:var(--mut);font-size:14px;margin-bottom:26px}

/* cards */
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}
.card h3{font-size:16px;margin-bottom:6px}
.card p{color:var(--ink2);font-size:14px}
.tag{display:inline-block;font-size:12px;padding:2px 9px;border-radius:999px;background:var(--brand-bg);color:var(--brand);margin-bottom:10px;font-weight:600}
.price{font-size:26px;font-weight:700;margin:8px 0 2px}
.price small{font-size:13px;font-weight:400;color:var(--mut)}

/* table */
table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:#f2f6fb;font-weight:600;color:var(--ink2);font-size:13px}
tr:last-child td{border-bottom:none}
td.num{font-variant-numeric:tabular-nums}

/* steps */
.steps{counter-reset:s;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.step{position:relative;padding-left:0}
.step b{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;align-items:center;justify-content:center;font-size:13px;margin-bottom:8px}
.step h4{font-size:15px;margin-bottom:4px}
.step p{font-size:13px;color:var(--ink2)}

/* notice */
.notice{border:1px solid #f3d9a4;background:var(--amber-bg);color:#5c3a00;border-radius:12px;padding:16px 18px;font-size:14px}
.notice b{color:#3f2800}
.okbox{border:1px solid #bfe3cd;background:var(--green-bg);color:#0f4d2c;border-radius:12px;padding:16px 18px;font-size:14px}

/* faq */
details{border:1px solid var(--line);border-radius:12px;padding:14px 18px;background:#fff;margin-bottom:10px}
details summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"＋";color:var(--brand);margin-right:8px;font-weight:700}
details[open] summary::before{content:"－"}
details p{margin-top:10px;color:var(--ink2);font-size:14px}

/* footer */
footer{border-top:1px solid var(--line);background:#fbfcfe;padding:34px 0 40px;font-size:13px;color:var(--mut)}
footer .cols{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:20px}
footer h5{font-size:13px;color:var(--ink);margin-bottom:8px}
footer a{color:var(--ink2);display:block;margin-bottom:6px;font-size:13px}
footer .legal{border-top:1px solid var(--line);padding-top:16px;line-height:1.9}
footer .legal span{display:inline-block;margin-right:16px}

/* doc pages */
.doc{padding:48px 0 60px}
.doc h1{font-size:26px;margin-bottom:6px}
.doc .meta{color:var(--mut);font-size:13px;margin-bottom:28px}
.doc h2{font-size:18px;margin:28px 0 10px}
.doc p,.doc li{color:var(--ink2);font-size:14.5px;margin-bottom:10px}
.doc ul,.doc ol{padding-left:22px;margin-bottom:12px}
.doc strong{color:var(--ink)}

@media (max-width:860px){
  .g3,.g4,.g2,.steps{grid-template-columns:1fr 1fr}
  .hero h1{font-size:26px}
}
@media (max-width:560px){
  .g3,.g4,.g2,.steps{grid-template-columns:1fr}
  .nav nav{display:none}
  .hero{padding:40px 0 26px}
}
