@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");

:root{
  --bg:#ffffff;
  --bg2:#f5f8ff;
  --ink:#101828;
  --muted:#5c6b82;
  --line:#e7edf5;
  --card:#ffffff;
  --pri:#1a6dff;
  --pri2:#00c2ff;
  --acc:#12c98a;
  --shadow:0 16px 36px rgba(16,40,80,.12);
  --radius:18px;
  --max:1200px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(900px 500px at 10% -20%, rgba(26,109,255,.08), transparent 60%),
    radial-gradient(900px 520px at 110% 10%, rgba(0,194,255,.08), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  font-family:"Space Grotesk","Manrope","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}
.wrap{max-width:var(--max); margin:0 auto; padding:0 18px}

.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92); backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
}
.header .row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0}
.brand{display:flex; align-items:center; gap:12px}
.brand img{width:36px; height:36px; border-radius:10px; box-shadow:var(--shadow)}
.brand .txt strong{display:block; font-size:15px}
.brand .txt span{display:block; font-size:12px; color:var(--muted)}
.menu-btn{width:42px; height:38px; border-radius:12px; border:1px solid var(--line); background:#fff; display:grid; place-items:center}
.menu-btn i{width:18px; height:2px; background:var(--ink); position:relative}
.menu-btn i:before,.menu-btn i:after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink)}
.menu-btn i:before{top:-6px}
.menu-btn i:after{top:6px}
#navSwitch{display:none}
.nav{display:none; flex-direction:column; gap:8px; padding:10px 0 14px}
.nav a{padding:10px 12px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--muted); font-size:13px}
#navSwitch:checked ~ .nav{display:flex}
@media (min-width:980px){
  .menu-btn{display:none}
  .nav{display:flex; flex-direction:row; padding:0; gap:14px}
  .nav a{border-color:transparent; background:transparent}
  .nav a:hover{background:#fff; border-color:var(--line); color:var(--ink)}
}

.section{padding:64px 0}
.section.alt{background:#f3f8ff; border:1px solid var(--line); border-radius:22px; padding:54px 22px; box-shadow:var(--shadow)}
.section-title{display:grid; gap:8px; margin-bottom:18px}
.section-title h2{margin:0; font-size:22px}
.section-title p{margin:0; color:var(--muted); max-width:760px}
.section-title h2:after{
  content:""; display:block; width:56px; height:3px; margin-top:8px;
  background:linear-gradient(90deg, var(--pri), var(--pri2));
  border-radius:999px;
}
.section-title{display:grid; gap:8px; margin-bottom:16px}
.section-title h2{margin:0; font-size:22px}
.section-title p{margin:0; color:var(--muted)}
.grid{display:grid; grid-template-columns:1fr; gap:18px}
@media (min-width:980px){.grid.two{grid-template-columns:1.1fr .9fr} .grid.three{grid-template-columns:repeat(3,1fr)}}

.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-3px); box-shadow:0 22px 52px rgba(16,40,80,.18)}
.card.pad{padding:22px}
.hero{display:grid; grid-template-columns:1fr; gap:18px}
@media (min-width:980px){.hero{grid-template-columns:1.2fr .8fr; align-items:stretch}}
.hero h1{margin:10px 0; font-size:34px; line-height:1.2}
.hero p{color:var(--muted); line-height:1.8}
.badge{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:#fff; padding:6px 10px; border-radius:999px; font-size:12px; color:var(--muted)}
.badge b{width:8px; height:8px; border-radius:999px; background:var(--pri); box-shadow:0 0 0 4px rgba(26,109,255,.15)}

.btns{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:13px; transition:transform .2s ease}
.btn.primary{border:none; color:#fff; background:linear-gradient(90deg, var(--pri), var(--pri2)); box-shadow:0 16px 34px rgba(26,109,255,.28)}
.btn:hover{transform:translateY(-2px)}

.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.chip{padding:6px 10px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--muted); font-size:12px}

.block h3{margin:10px 0 6px}
.block p{margin:0; color:var(--muted); line-height:1.7}

.compare{display:grid; gap:8px}
.compare-row{display:grid; grid-template-columns:1.1fr 1.3fr 1.3fr; gap:10px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff}
.compare-row.head{background:#f2f7ff; font-weight:600}
.compare-row:hover{border-color:#d9e6fb}

.chain-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
@media (min-width:980px){.chain-grid{grid-template-columns:repeat(5,1fr)}}
.chain-item{display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:10px 12px; transition:transform .2s ease, border-color .2s ease}
.chain-item img{width:24px; height:24px; object-fit:contain}
.chain-item span{color:var(--muted); font-size:12px}
.chain-item:hover{border-color:#d9e6fb; transform:translateY(-2px)}

.partner-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
@media (min-width:980px){.partner-grid{grid-template-columns:repeat(5,1fr)}}
.partner{border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px; display:grid; place-items:center; gap:8px; transition:transform .2s ease, border-color .2s ease}
.partner img{height:28px; object-fit:contain}
.partner span{font-size:12px; color:var(--muted)}
.partner:hover{border-color:#d9e6fb; transform:translateY(-2px)}

.timeline{display:grid; gap:10px}
.timeline-item{display:grid; grid-template-columns:90px 1fr; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff}
.timeline-item strong{font-size:14px}
.timeline-item span{color:var(--muted)}
.timeline-item:hover{border-color:#d9e6fb}

.media-grid{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:980px){.media-grid{grid-template-columns:repeat(3,1fr)}}

.steps{display:grid; grid-template-columns:1fr; gap:12px}
@media (min-width:980px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px}
.step strong{display:block; font-size:16px}
.step span{display:block; font-weight:600; margin-top:6px}
.step p{margin:6px 0 0; color:var(--muted)}
.step:hover{border-color:#d9e6fb; transform:translateY(-2px)}

.review-grid{display:grid; grid-template-columns:1fr; gap:12px}
@media (min-width:980px){.review-grid{grid-template-columns:repeat(3,1fr)}}
.review{border:1px solid var(--line); border-radius:12px; background:#fff; padding:14px; position:relative}
.review:before{content:"“"; position:absolute; top:8px; right:12px; color:#d7e4f7; font-size:26px}
.review p{margin:0 0 8px}
.review span{color:var(--muted); font-size:12px}
.review:hover{border-color:#d9e6fb; transform:translateY(-2px)}

.value-grid{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:980px){.value-grid{grid-template-columns:repeat(3,1fr)}}

.compare{display:grid; gap:8px}
.compare-row{display:grid; grid-template-columns:1.1fr 1.3fr 1.3fr; gap:10px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff}
.compare-row.head{background:#f6f9ff; font-weight:600}

.chain-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
@media (min-width:980px){.chain-grid{grid-template-columns:repeat(5,1fr)}}
.chain-grid span{padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; text-align:center; color:var(--muted)}

.partner-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
@media (min-width:980px){.partner-grid{grid-template-columns:repeat(5,1fr)}}
.partner{border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px; display:grid; place-items:center; gap:8px}
.partner img{height:28px; object-fit:contain}
.partner span{font-size:12px; color:var(--muted)}

.timeline{display:grid; gap:10px}
.timeline-item{display:grid; grid-template-columns:80px 1fr; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff}
.timeline-item strong{font-size:14px}
.timeline-item span{color:var(--muted)}

.media-grid{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:980px){.media-grid{grid-template-columns:repeat(3,1fr)}}

.steps{display:grid; grid-template-columns:1fr; gap:12px}
@media (min-width:980px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px}
.step strong{display:block; font-size:16px}
.step span{display:block; font-weight:600; margin-top:6px}
.step p{margin:6px 0 0; color:var(--muted)}

.review-grid{display:grid; grid-template-columns:1fr; gap:12px}
@media (min-width:980px){.review-grid{grid-template-columns:repeat(3,1fr)}}
.review{border:1px solid var(--line); border-radius:12px; background:#fff; padding:14px}
.review p{margin:0 0 8px}
.review span{color:var(--muted); font-size:12px}

.value-grid{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:980px){.value-grid{grid-template-columns:repeat(3,1fr)}}

.faq details{border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#fff}
.faq summary{cursor:pointer; font-weight:600}
.faq p{margin:8px 0 0; color:var(--muted)}

.footer{padding:32px 0 24px; border-top:1px solid var(--line); margin-top:20px}
.footer-grid{display:grid; gap:14px}
.footer-brand{display:flex; align-items:center; gap:12px}
.footer-brand img{width:36px; height:36px; border-radius:10px}
.footer-links{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
.footer-links a{color:var(--muted); font-size:13px}
.footer-cta{display:flex; gap:10px; flex-wrap:wrap}
.footer-meta{margin-top:10px; color:var(--muted); font-size:12px}
@media (min-width:980px){
  .footer-grid{grid-template-columns:1fr 2fr 1fr; align-items:center}
  .footer-links{grid-template-columns:repeat(4,minmax(0,1fr))}
}

.reveal{opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease}
.reveal.show{opacity:1; transform:translateY(0)}
