:root{
      --bg:#f7f8fc;
      --bg2:#eef4ff;
      --card:#ffffff;
      --text:#182230;
      --muted:#5f6b7a;
      --line:#dbe4f1;
      --primary:#5b6cff;
      --primary2:#8b5cf6;
      --accent:#00c2ff;
      --accent2:#22c55e;
      --shadow:0 18px 50px rgba(34, 60, 120, .10);
      --shadow2:0 10px 24px rgba(68, 84, 164, .12);
      --radius:22px;
      --radius2:16px;
      --max:1200px;
    }
    *{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(91,108,255,.14), transparent 26%),
        radial-gradient(circle at 85% 12%, rgba(0,194,255,.12), transparent 22%),
        linear-gradient(180deg, #fbfcff 0%, #f6f8fd 100%);
      line-height:1.6;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    header{
      position:sticky; top:0; z-index:60;
      backdrop-filter: blur(16px);
      background: rgba(247,248,252,.82);
      border-bottom:1px solid rgba(219,228,241,.72);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      gap:16px; padding:14px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand .logo-wrap{
      width:44px; height:44px; border-radius:14px; padding:6px;
      background:linear-gradient(135deg, rgba(91,108,255,.12), rgba(0,194,255,.14));
      border:1px solid rgba(91,108,255,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
      flex:0 0 auto;
    }
    .brand strong{display:block; font-size:15px; letter-spacing:.5px}
    .brand span{display:block; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
    .menu-toggle{
      display:none; border:1px solid var(--line); background:#fff; color:var(--text);
      border-radius:12px; padding:10px 12px; box-shadow:var(--shadow2);
    }
    nav ul{
      display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:0; align-items:center; justify-content:flex-end;
    }
    nav a{
      font-size:13px; color:var(--muted); padding:8px 10px; border-radius:999px;
    }
    nav a:hover, nav a:focus-visible{color:var(--text); background:rgba(91,108,255,.08); outline:none}
    .home-btn{
      display:inline-flex; align-items:center; gap:8px;
      background:linear-gradient(135deg, var(--primary), var(--primary2));
      color:#fff; padding:11px 16px; border-radius:999px; box-shadow:0 10px 20px rgba(91,108,255,.28);
      font-weight:600;
    }
    .home-btn:hover{transform:translateY(-1px)}
    .hero{
      padding:34px 0 20px;
    }
    .hero-grid{
      display:grid; grid-template-columns:1.2fr .8fr; gap:22px; align-items:stretch;
    }
    .hero-main{
      position:relative; overflow:hidden;
      border:1px solid rgba(91,108,255,.14);
      background:
        radial-gradient(circle at 16% 18%, rgba(91,108,255,.16), transparent 24%),
        radial-gradient(circle at 82% 22%, rgba(0,194,255,.16), transparent 24%),
        linear-gradient(135deg, #ffffff 0%, #f7f9ff 100%);
      border-radius:28px; padding:30px; box-shadow:var(--shadow);
    }
    .hero-main::after{
      content:""; position:absolute; inset:auto -10% -28% auto; width:280px; height:280px; border-radius:50%;
      background:radial-gradient(circle, rgba(139,92,246,.18), rgba(91,108,255,.02) 66%, transparent 70%);
      pointer-events:none;
    }
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px; padding:7px 12px;
      background:rgba(91,108,255,.08); color:#334155; border:1px solid rgba(91,108,255,.12);
      border-radius:999px; font-size:13px; font-weight:600;
    }
    h1{font-size:clamp(32px, 4vw, 54px); line-height:1.08; margin:18px 0 14px}
    .lead{font-size:16px; color:var(--muted); max-width:60ch; margin:0 0 18px}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 18px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border-radius:14px; padding:12px 18px; font-weight:700; border:1px solid transparent;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    }
    .btn-primary{background:linear-gradient(135deg, var(--primary), var(--accent)); color:#fff; box-shadow:0 12px 24px rgba(91,108,255,.25)}
    .btn-secondary{background:#fff; color:var(--text); border-color:var(--line); box-shadow:0 8px 20px rgba(44,60,90,.08)}
    .btn:hover{transform:translateY(-2px)}
    .hero-points{
      display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:18px;
    }
    .point{
      background:rgba(255,255,255,.78); border:1px solid rgba(219,228,241,.82); border-radius:18px; padding:14px;
    }
    .point strong{display:block; font-size:18px}
    .point span{font-size:12px; color:var(--muted)}
    .hero-side{
      display:grid; gap:16px;
    }
    .side-card, .card, .panel, .quote, .faq-item, .form-card, .info-box, .table-card{
      background:rgba(255,255,255,.92); border:1px solid rgba(219,228,241,.9); border-radius:var(--radius); box-shadow:var(--shadow2);
    }
    .side-card{padding:20px}
    .side-card h2, .section-title h2{margin:0 0 10px; font-size:24px}
    .side-card p{margin:0; color:var(--muted)}
    .mini-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:16px}
    .mini{
      padding:14px; border-radius:18px; background:linear-gradient(180deg, #fff, #f8fbff); border:1px solid var(--line);
    }
    .mini b{display:block; font-size:18px}
    .mini small{color:var(--muted)}
    main{padding:10px 0 24px}
    section{padding:20px 0}
    .section-title{
      display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px;
    }
    .section-title p{margin:0; color:var(--muted); max-width:64ch}
    .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}
    .card{padding:18px}
    .card h3{margin:0 0 8px; font-size:18px}
    .card p{margin:0; color:var(--muted)}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag{
      padding:9px 12px; border-radius:999px; background:linear-gradient(180deg, #fff, #f6f9ff);
      border:1px solid var(--line); color:#334155; font-size:13px;
    }
    .timeline{display:grid; gap:12px}
    .step{
      display:flex; gap:14px; align-items:flex-start; padding:16px; border-radius:18px; background:#fff; border:1px solid var(--line);
    }
    .step i{
      width:34px; height:34px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
      background:linear-gradient(135deg, rgba(91,108,255,.12), rgba(0,194,255,.16)); color:#334155; font-style:normal; font-weight:800;
      flex:0 0 auto;
    }
    .step h3{margin:0 0 4px; font-size:16px}
    .step p{margin:0; color:var(--muted)}
    .table-card{padding:0; overflow:hidden}
    .table-wrap{overflow-x:auto}
    table{width:100%; border-collapse:collapse; min-width:760px; background:#fff}
    th, td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#f4f7ff; font-size:13px; color:#334155}
    td{color:#334155}
    .score{font-weight:800; color:#0f172a}
    .rating{
      display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px;
      color:#334155; font-weight:600;
    }
    .stars{color:#f59e0b; letter-spacing:2px}
    .info-box{padding:18px}
    .info-list{display:grid; gap:12px; margin:0; padding:0; list-style:none}
    .info-list li{padding:12px 14px; border-radius:14px; background:#f8fbff; border:1px solid var(--line)}
    .price-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
    .price-card{
      padding:20px; border-radius:22px; background:linear-gradient(180deg, #fff, #f6f9ff); border:1px solid var(--line);
    }
    .price-card .num{font-size:28px; font-weight:900; line-height:1}
    .price-card .sub{color:var(--muted); font-size:13px; margin-top:8px}
    .quote{
      padding:18px; display:flex; flex-direction:column; gap:12px;
    }
    .quote .meta{display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:13px}
    .faq-list{display:grid; gap:12px}
    .faq-item{overflow:hidden}
    .faq-q{
      width:100%; border:0; background:transparent; padding:18px; text-align:left; display:flex; justify-content:space-between; gap:12px;
      font-size:16px; font-weight:700; color:var(--text); cursor:pointer;
    }
    .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease; padding:0 18px}
    .faq-item.active .faq-a{padding-bottom:18px; max-height:200px}
    .faq-mark{color:var(--primary); font-size:22px; line-height:1}
    .articles{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
    .article{
      padding:18px; border-radius:20px; border:1px solid var(--line); background:#fff;
    }
    .article a{color:var(--primary); font-weight:700}
    .article p{color:var(--muted); margin:10px 0 0}
    .form-card{padding:18px}
    form{display:grid; gap:14px}
    .fields{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px}
    label{display:grid; gap:8px; font-weight:600; color:#334155; font-size:14px}
    input, select, textarea{
      width:100%; border:1px solid var(--line); background:#fbfdff; color:var(--text);
      border-radius:14px; padding:12px 14px; font:inherit; outline:none;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus, select:focus, textarea:focus{border-color:rgba(91,108,255,.55); box-shadow:0 0 0 4px rgba(91,108,255,.08)}
    .submit-row{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
    .fine{color:var(--muted); font-size:13px}
    .footer-links{display:flex; flex-wrap:wrap; gap:10px}
    .footer-links a{
      color:#334155; background:#f4f7ff; border:1px solid var(--line); padding:8px 12px; border-radius:999px;
    }
    footer{
      margin-top:10px;
      background:#0f172a;
      color:#e5eefc;
      padding:22px 0 26px;
    }
    footer .footer-grid{
      display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:start;
    }
    footer a{color:#d9e7ff}
    .footer-card{
      background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:18px;
    }
    .contact-grid{display:grid; grid-template-columns:1fr 180px; gap:16px; align-items:start}
    .qr{
      background:#fff; padding:10px; border-radius:18px; border:1px solid rgba(219,228,241,.9);
    }
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:80; display:grid; gap:10px;
    }
    .float-btn{
      width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff; box-shadow:0 12px 24px rgba(91,108,255,.25);
      border:none; cursor:pointer;
    }
    .float-link{
      width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:#fff; color:var(--text);
      border:1px solid var(--line); box-shadow:var(--shadow2);
    }
    .scroll-top{opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s ease}
    .scroll-top.show{opacity:1; pointer-events:auto; transform:translateY(0)}
    .reveal{opacity:0; transform:translateY(18px); transition:opacity .45s ease, transform .45s ease}
    .reveal.in{opacity:1; transform:none}
    .topline{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
    .pill{padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#334155; font-size:13px}
    .gallery{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
    .gallery .card img{border-radius:16px}
    .callout{
      padding:18px; border-radius:22px; background:linear-gradient(135deg, rgba(91,108,255,.08), rgba(0,194,255,.08));
      border:1px solid rgba(91,108,255,.14);
    }
    .callout strong{display:block; font-size:18px; margin-bottom:6px}
    .small-link{color:var(--primary); font-weight:700}
    .mobile-only{display:none}

    @media (max-width: 980px){
      .hero-grid,.grid-4,.grid-3,.price-grid,.gallery,footer .footer-grid,.contact-grid,.articles,.grid-2,.fields{grid-template-columns:1fr}
      nav{display:none}
      nav.open{display:block; width:100%}
      nav ul{justify-content:flex-start; padding-top:8px}
      .menu-toggle{display:inline-flex}
      .nav{flex-wrap:wrap}
      .hero-points{grid-template-columns:1fr}
      .section-title{align-items:flex-start; flex-direction:column}
      .mobile-only{display:block}
    }
    @media (max-width: 640px){
      .container{width:min(var(--max), calc(100% - 22px))}
      .hero-main{padding:22px; border-radius:24px}
      h1{font-size:30px}
      .lead{font-size:15px}
      .side-card,.card,.panel,.quote,.faq-item,.form-card,.info-box,.table-card{border-radius:20px}
      .hero-actions{flex-direction:column}
      .btn{width:100%}
      .topline{display:none}
      .mini-grid{grid-template-columns:1fr}
      .submit-row{flex-direction:column; align-items:stretch}
      .submit-row .btn{width:100%}
    }