:root{
      --bg:#f6f7fb;
      --surface:#ffffff;
      --surface-2:#f0f4ff;
      --surface-3:#fff7ef;
      --line:#dde3f0;
      --text:#122033;
      --muted:#5f6b7d;
      --brand:#6b4dff;
      --brand-2:#18b6ff;
      --brand-3:#ff4f87;
      --accent:#ffb02e;
      --shadow:0 16px 40px rgba(26, 43, 85, .10);
      --shadow-soft:0 10px 26px rgba(26, 43, 85, .08);
      --radius:20px;
      --radius-sm:14px;
      --max: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(107,77,255,.12), transparent 24%),
        radial-gradient(circle at top right, rgba(24,182,255,.12), transparent 20%),
        linear-gradient(180deg,#fff 0%, #f7f9ff 38%, #f6f7fb 100%);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    .topbar{
      position:sticky; top:0; z-index:60;
      backdrop-filter: blur(14px);
      background:rgba(255,255,255,.82);
      border-bottom:1px solid rgba(221,227,240,.9);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:12px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
    .brand strong{display:block;font-size:16px;line-height:1.1}
    .brand span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
    .menu-btn{
      display:none;border:1px solid var(--line);background:#fff;border-radius:12px;
      padding:10px 12px;color:var(--text);font-weight:600
    }
    .navlinks{display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end}
    .navlinks a{
      padding:9px 11px; border-radius:999px; color:#334156; font-size:13px;
      background:rgba(255,255,255,.72); border:1px solid rgba(221,227,240,.8);
      transition:.25s ease;
    }
    .navlinks a:hover{transform:translateY(-1px); box-shadow:var(--shadow-soft); border-color:#cfd8ea}
    .navcta{
      background:linear-gradient(135deg,var(--brand),var(--brand-2)) !important;
      color:#fff !important; border:none !important;
    }
    .hero{padding:30px 0 10px}
    .hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:20px; align-items:stretch}
    .hero-main{
      background:
        linear-gradient(135deg, rgba(107,77,255,.98), rgba(24,182,255,.95));
      color:#fff; border-radius:28px; padding:30px; box-shadow:var(--shadow); position:relative; overflow:hidden;
    }
    .hero-main:before,.hero-main:after{
      content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.12); pointer-events:none
    }
    .hero-main:before{width:220px;height:220px; right:-60px; top:-60px}
    .hero-main:after{width:180px;height:180px; right:120px; bottom:-80px}
    .kicker{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); font-size:13px; letter-spacing:.02em}
    h1{margin:16px 0 12px; font-size:clamp(30px, 4vw, 52px); line-height:1.08}
    .lead{margin:0; max-width:58ch; color:rgba(255,255,255,.92); font-size:16px; line-height:1.85}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      padding:13px 18px; border-radius:14px; font-weight:700; border:1px solid transparent; transition:.25s ease;
      box-shadow:0 12px 24px rgba(0,0,0,.08)
    }
    .btn-primary{background:#fff;color:#18304f}
    .btn-secondary{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.2)}
    .btn:hover{transform:translateY(-2px)}
    .hero-aside{
      display:grid; gap:14px
    }
    .stat-card,.glass-card,.info-card,.panel,.form-card,.review-card,.case-card,.article-card,.faq-item,.compare-card{
      background:rgba(255,255,255,.88); border:1px solid rgba(221,227,240,.88); border-radius:var(--radius); box-shadow:var(--shadow-soft)
    }
    .stat-card{padding:18px}
    .stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
    .stat{padding:16px; border-radius:18px; background:linear-gradient(180deg,#fff, #f6f9ff); border:1px solid var(--line)}
    .stat b{display:block;font-size:24px; margin-bottom:6px}
    .stat span{color:var(--muted); font-size:13px; line-height:1.55}
    .section{padding:20px 0}
    .section-head{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px}
    .section-head h2{margin:0; font-size:clamp(24px, 3vw, 34px)}
    .section-head p{margin:0; color:var(--muted); line-height:1.7; max-width:70ch}
    .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .card{padding:18px}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag{padding:9px 12px; border-radius:999px; background:linear-gradient(135deg,#fff,#f3f6ff); border:1px solid var(--line); color:#31415b; font-size:13px}
    .service-card h3,.card h3,.panel h3,.review-card h3,.case-card h3,.article-card h3{margin:10px 0 8px; font-size:18px}
    .card p,.panel p,.review-card p,.case-card p,.article-card p{margin:0; color:var(--muted); line-height:1.75}
    .icon{
      width:46px;height:46px;border-radius:14px; display:grid; place-items:center; color:#fff; font-weight:800;
      background:linear-gradient(135deg,var(--brand),var(--brand-2))
    }
    .process{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .step{padding:18px; position:relative}
    .step .num{font-size:13px; font-weight:800; color:var(--brand); margin-bottom:10px}
    .compare-wrap{overflow:auto}
    table{width:100%; border-collapse:collapse; min-width:760px}
    th,td{padding:14px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#f4f7ff; color:#24334d; font-size:14px}
    td{color:#334156; font-size:14px; line-height:1.7}
    .badge{display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:#edf6ff; color:#0f5b8f; font-size:12px; font-weight:700}
    .split{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .quote{font-size:15px; line-height:1.8}
    .stars{color:#ff9f1a; letter-spacing:2px; font-size:16px}
    .faq-list{display:grid; gap:12px}
    .faq-item summary{
      cursor:pointer; list-style:none; padding:16px 18px; font-weight:700; display:flex; align-items:center; justify-content:space-between; gap:12px
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item .answer{padding:0 18px 16px; color:var(--muted); line-height:1.8}
    .news-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .article-card{padding:18px; display:flex; gap:14px}
    .mini{
      width:110px; min-width:110px; aspect-ratio:1/1; border-radius:16px; overflow:hidden; background:#eef3ff; border:1px solid var(--line)
    }
    .mini img{width:100%; height:100%; object-fit:cover}
    .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
    .field{display:flex; flex-direction:column; gap:8px}
    label{font-size:13px; color:#30415b; font-weight:700}
    input,select,textarea{
      width:100%; border:1px solid #d9e1ef; background:#fff; border-radius:14px; padding:12px 14px; color:var(--text);
      font:inherit; outline:none; transition:.2s ease
    }
    textarea{min-height:120px; resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:#8aa7ff; box-shadow:0 0 0 4px rgba(107,77,255,.10)}
    .form-actions{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:10px}
    .note{font-size:13px; color:var(--muted); line-height:1.7}
    .footer{
      margin-top:18px; padding:24px 0 28px; border-top:1px solid rgba(221,227,240,.95); background:#fff
    }
    .footer-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:16px}
    .footer a{color:#24406b}
    .float-tools{
      position:fixed; right:16px; bottom:16px; z-index:70; display:grid; gap:10px
    }
    .float-tools a,.float-tools button{
      border:none; border-radius:16px; padding:12px 14px; color:#fff; font-weight:700; box-shadow:var(--shadow); cursor:pointer
    }
    .float-tools .kefu{background:linear-gradient(135deg,#ff4f87,#ff8f52)}
    .float-tools .top{background:linear-gradient(135deg,#6b4dff,#18b6ff)}
    .reveal{opacity:0; transform:translateY(14px); transition:.65s ease}
    .reveal.show{opacity:1; transform:none}
    .contact-strip{
      display:grid; grid-template-columns:repeat(3,1fr); gap:14px
    }
    .panel{padding:18px}
    .panel strong{display:block; margin-bottom:8px}
    .img-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .img-grid img{width:100%; height:100%; object-fit:cover; border-radius:20px; border:1px solid var(--line); background:#fff}
    .service-map{display:grid; grid-template-columns:repeat(5,1fr); gap:10px}
    .service-map span{padding:12px 10px; background:#fff; border:1px solid var(--line); border-radius:14px; text-align:center; font-size:13px; color:#34435a}
    .menu-open .navlinks{display:flex}
    @media (max-width: 980px){
      .hero-grid,.grid-3,.grid-4,.process,.review-grid,.split,.footer-grid,.news-grid,.contact-strip,.service-map{grid-template-columns:1fr 1fr}
      .hero-grid{grid-template-columns:1fr}
    }
    @media (max-width: 720px){
      .menu-btn{display:inline-flex}
      .nav{flex-wrap:wrap}
      .navlinks{display:none; width:100%; justify-content:flex-start; padding-top:4px}
      .hero{padding-top:18px}
      .hero-main{padding:24px}
      .grid-3,.grid-4,.process,.review-grid,.split,.footer-grid,.news-grid,.contact-strip,.service-map,.form-grid{grid-template-columns:1fr}
      .article-card{flex-direction:column}
      .mini{width:100%; min-width:0}
      .stat-grid{grid-template-columns:1fr 1fr}
    }