:root{
      --bg:#f5f8ff;
      --bg2:#eef4ff;
      --card:#ffffff;
      --line:#dbe6ff;
      --text:#152238;
      --muted:#52627d;
      --primary:#145cff;
      --primary2:#0b2f77;
      --accent:#2ad1ff;
      --gold:#ffb84d;
      --shadow:0 18px 40px rgba(16, 54, 140, .12);
      --radius:20px;
      --radius-sm:14px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(20,92,255,.12), transparent 30%),
        radial-gradient(circle at 90% 10%, rgba(42,209,255,.11), transparent 24%),
        linear-gradient(180deg, #f8fbff 0%, #f4f8ff 42%, #f7faff 100%);
      line-height:1.65;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    .topbar{
      position:sticky; top:0; z-index:40;
      backdrop-filter:saturate(180%) blur(16px);
      background:rgba(247,250,255,.88);
      border-bottom:1px solid rgba(219,230,255,.78);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      min-height:74px;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand .logo{
      width:42px; height:42px; object-fit:contain; border-radius:12px;
      background:#fff; box-shadow:0 8px 20px rgba(20,92,255,.12);
      padding:4px;
    }
    .brand h2{margin:0; font-size:18px; letter-spacing:.5px}
    .brand p{margin:0; font-size:12px; color:var(--muted)}
    .menu{display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end}
    .menu a{font-size:14px; color:#27415f; padding:8px 10px; border-radius:10px}
    .menu a:hover,.menu a:focus{background:#e9f1ff; color:var(--primary)}
    .nav-actions{display:flex; align-items:center; gap:10px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:1px solid transparent; border-radius:999px;
      padding:12px 18px; font-weight:700; font-size:14px;
      cursor:pointer; transition:.25s ease; white-space:nowrap;
    }
    .btn-primary{background:linear-gradient(135deg, var(--primary), #4b7dff); color:#fff; box-shadow:0 14px 28px rgba(20,92,255,.24)}
    .btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 34px rgba(20,92,255,.28)}
    .btn-ghost{background:#fff; color:var(--primary2); border-color:#cfe0ff}
    .btn-ghost:hover{transform:translateY(-2px); border-color:var(--primary); color:var(--primary)}
    .menu-toggle{
      display:none; border:1px solid #cfe0ff; background:#fff; color:var(--primary2);
      width:44px; height:44px; border-radius:14px; font-size:20px;
    }
    .hero{
      position:relative; overflow:hidden;
      padding:54px 0 28px;
    }
    .hero::before,.hero::after{
      content:""; position:absolute; inset:auto; border-radius:50%;
      pointer-events:none;
    }
    .hero::before{width:320px;height:320px; background:radial-gradient(circle, rgba(20,92,255,.14), transparent 62%); top:-80px; right:-120px}
    .hero::after{width:260px;height:260px; background:radial-gradient(circle, rgba(42,209,255,.11), transparent 62%); bottom:10px; left:-100px}
    .hero-grid{
      display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:stretch;
    }
    .hero-main,.hero-side,.section-card,.info-card,.faq-item,.review-card,.blog-card,.case-card,.timeline-card,.form-card,.network-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(219,230,255,.9);
      box-shadow:var(--shadow);
      border-radius:var(--radius);
    }
    .hero-main{padding:34px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 12px; border-radius:999px;
      background:linear-gradient(135deg, rgba(20,92,255,.11), rgba(42,209,255,.12));
      color:var(--primary2); font-weight:700; font-size:13px;
    }
    h1{margin:16px 0 12px; font-size:clamp(32px, 5vw, 54px); line-height:1.05; letter-spacing:-.03em}
    .lead{margin:0; color:var(--muted); font-size:16px; max-width:54ch}
    .hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 18px}
    .hero-points{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:18px}
    .point{
      padding:14px 14px 13px; border-radius:16px; background:linear-gradient(180deg, #fff, #f7faff);
      border:1px solid #e4ecff;
    }
    .point strong{display:block; font-size:18px; color:var(--primary2)}
    .point span{font-size:13px; color:var(--muted)}
    .hero-side{padding:20px; display:grid; gap:14px}
    .mini-banner{
      border-radius:18px; padding:18px; color:#fff;
      background:linear-gradient(135deg, #0f3db0 0%, #145cff 44%, #2a96ff 100%);
      position:relative; overflow:hidden;
    }
    .mini-banner::after{
      content:""; position:absolute; inset:auto -24px -34px auto; width:160px; height:160px;
      background:radial-gradient(circle, rgba(255,255,255,.28), transparent 64%);
    }
    .mini-banner h3{margin:0 0 8px; font-size:20px}
    .mini-banner p{margin:0; color:rgba(255,255,255,.9); font-size:14px}
    .mini-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
    .mini{
      background:#fff; border:1px solid #e2ebff; border-radius:16px; padding:14px;
    }
    .mini b{display:block; font-size:16px; color:var(--primary2); margin-bottom:4px}
    .mini small{color:var(--muted)}
    section{padding:18px 0}
    .section-head{display:flex; justify-content:space-between; gap:14px; align-items:end; margin-bottom:14px}
    .section-head h2{margin:0; font-size:28px}
    .section-head p{margin:0; color:var(--muted)}
    .grid-4{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px}
    .grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
    .grid-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
    .info-card,.service-card,.case-card,.review-card,.blog-card,.faq-item,.timeline-card,.network-card,.form-card{padding:20px}
    .icon-pill{
      width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(20,92,255,.12), rgba(42,209,255,.12));
      color:var(--primary); font-size:22px; margin-bottom:12px;
    }
    .info-card h3,.service-card h3,.case-card h3,.review-card h3,.blog-card h3{margin:0 0 8px; font-size:18px}
    .info-card p,.service-card p,.case-card p,.review-card p,.blog-card p,.timeline-card p,.network-card p{margin:0; color:var(--muted)}
    .stats{
      display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
    }
    .stat{
      background:linear-gradient(180deg, #fff, #f8fbff);
      border:1px solid #e1eaff; border-radius:18px; padding:18px;
    }
    .stat strong{display:block; font-size:28px; color:var(--primary2); line-height:1}
    .stat span{font-size:13px; color:var(--muted)}
    .services .service-card{min-height:180px; transition:.25s ease}
    .services .service-card:hover,.case-card:hover,.review-card:hover,.blog-card:hover,.info-card:hover,.faq-item:hover,.timeline-card:hover,.network-card:hover{
      transform:translateY(-3px); box-shadow:0 20px 46px rgba(16,54,140,.14)
    }
    .chips{display:flex; flex-wrap:wrap; gap:10px}
    .chip{
      padding:8px 12px; border-radius:999px; border:1px solid #dbe6ff; background:#fff;
      color:#22405f; font-size:13px;
    }
    .flow{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .step{
      padding:18px; border-radius:18px; background:#fff; border:1px solid #e1eaff; position:relative;
    }
    .step b{display:inline-flex; width:30px; height:30px; border-radius:50%; align-items:center; justify-content:center; background:#eaf1ff; color:var(--primary); margin-bottom:10px}
    .compare-wrap{overflow:auto; border-radius:20px; border:1px solid #dbe6ff; background:#fff; box-shadow:var(--shadow)}
    table{width:100%; border-collapse:collapse; min-width:840px; background:#fff}
    th,td{padding:16px 14px; border-bottom:1px solid #e8efff; text-align:left; vertical-align:top}
    th{background:#f4f8ff; color:var(--primary2); font-size:14px}
    td{color:#304861; font-size:14px}
    .rating{
      display:flex; align-items:center; gap:8px; flex-wrap:wrap
    }
    .stars{color:#ffb84d; letter-spacing:1px; font-size:18px}
    .faq-list{display:grid; gap:12px}
    .faq-item{padding:0; overflow:hidden}
    .faq-q{
      width:100%; border:none; background:transparent; color:var(--text);
      font:inherit; padding:18px 20px; text-align:left; display:flex; justify-content:space-between; gap:12px; cursor:pointer;
    }
    .faq-a{max-height:0; overflow:hidden; transition:max-height .28s ease; padding:0 20px}
    .faq-item.open .faq-a{max-height:220px; padding-bottom:18px}
    .faq-q span:last-child{color:var(--primary); font-size:20px}
    .reviews .review-card{display:grid; gap:12px}
    .avatar{
      width:46px; height:46px; border-radius:50%;
      background:linear-gradient(135deg, #0f3db0, #2a96ff); color:#fff; display:grid; place-items:center; font-weight:800;
    }
    .review-top{display:flex; align-items:center; gap:12px}
    .review-top strong{display:block}
    .review-top small{color:var(--muted)}
    .blog-list{display:grid; gap:12px}
    .blog-item{
      display:flex; justify-content:space-between; gap:14px; align-items:center;
      padding:14px 0; border-bottom:1px dashed #dbe6ff;
    }
    .blog-item:last-child{border-bottom:none; padding-bottom:0}
    .blog-item a{color:var(--primary2); font-weight:700}
    .blog-item span{color:var(--muted); font-size:13px; white-space:nowrap}
    .form-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px}
    .field{display:grid; gap:8px}
    label{font-size:14px; color:#2b415c; font-weight:700}
    input,select,textarea{
      width:100%; border:1px solid #d8e3ff; background:#fff; color:var(--text);
      border-radius:14px; padding:13px 14px; font:inherit; outline:none;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:var(--primary); box-shadow:0 0 0 4px rgba(20,92,255,.08)}
    .full{grid-column:1/-1}
    .footer{
      margin-top:18px;
      padding:24px 0 28px;
      background:linear-gradient(180deg, #eef4ff 0%, #eaf1ff 100%);
      border-top:1px solid #dbe6ff;
      color:#20324c;
    }
    .footer-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:18px}
    .footer a{color:#113fbb}
    .footer .small{color:#4e6380; font-size:13px}
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:50; display:grid; gap:10px;
    }
    .float-btn{
      width:52px; height:52px; border-radius:16px; background:#fff; border:1px solid #dbe6ff;
      box-shadow:var(--shadow); display:grid; place-items:center; color:var(--primary); font-size:20px;
    }
    .float-panel{
      position:fixed; right:16px; bottom:82px; z-index:49; width:min(320px, calc(100vw - 32px));
      background:#fff; border:1px solid #dbe6ff; border-radius:20px; box-shadow:var(--shadow); padding:16px;
      display:none;
    }
    .float-panel.open{display:block}
    .float-panel h4{margin:0 0 10px}
    .float-panel .qrcode{width:100%; border-radius:16px; border:1px solid #e5edff; margin:10px 0}
    .backtop{position:fixed; right:16px; bottom:132px; z-index:48; display:none}
    .backtop.show{display:grid}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag-cloud .chip{background:linear-gradient(180deg,#fff,#f7faff)}
    .network-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .timeline{display:grid; gap:14px}
    .timeline-item{
      display:grid; grid-template-columns:32px 1fr; gap:14px; align-items:start;
      padding:16px; border-radius:18px; background:#fff; border:1px solid #e1eaff;
    }
    .dot{width:12px;height:12px;border-radius:50%; background:var(--primary); box-shadow:0 0 0 6px rgba(20,92,255,.1); margin-top:6px}
    .subtle{color:var(--muted)}
    .scroll-x{overflow:auto}
    .anchor-spacer{scroll-margin-top:92px}
    .fade-in{opacity:0; transform:translateY(12px); transition:.6s ease}
    .fade-in.visible{opacity:1; transform:translateY(0)}
    @media (max-width: 1024px){
      .hero-grid,.grid-4,.stats,.flow,.grid-3,.grid-2,.network-grid,.footer-grid{grid-template-columns:1fr 1fr}
      .hero-points{grid-template-columns:1fr}
      .menu{display:none}
      .menu-toggle{display:inline-grid; place-items:center}
      .menu.open{display:flex; position:absolute; left:16px; right:16px; top:76px; background:#fff; border:1px solid #dbe6ff; border-radius:18px; padding:12px; box-shadow:var(--shadow)}
      .nav{position:relative}
    }
    @media (max-width: 720px){
      .hero{padding-top:24px}
      .hero-main,.hero-side,.info-card,.service-card,.case-card,.review-card,.blog-card,.faq-item,.timeline-card,.network-card,.form-card{padding:18px}
      .hero-grid,.grid-4,.stats,.flow,.grid-3,.grid-2,.network-grid,.footer-grid,.form-grid{grid-template-columns:1fr}
      .section-head{flex-direction:column; align-items:flex-start}
      h1{font-size:clamp(30px, 9vw, 42px)}
      .nav-actions .btn-ghost{display:none}
      .floating{right:12px; bottom:12px}
      .backtop{right:12px; bottom:132px}
      .float-panel{right:12px; width:calc(100vw - 24px)}
    }