:root{
      --bg:#f6f2ff;
      --bg2:#ffffff;
      --card:#ffffff;
      --ink:#1f1830;
      --muted:#5f5b72;
      --line:#e8defd;
      --pri:#7a3cff;
      --pri2:#b24dff;
      --pri3:#5d27d9;
      --good:#15a66b;
      --warn:#d88a00;
      --shadow:0 18px 50px rgba(76, 32, 160, .12);
      --shadow2:0 10px 30px rgba(75, 31, 149, .10);
      --radius:22px;
      --radius2:16px;
      --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(--ink);
      background:
        radial-gradient(circle at 15% 10%, rgba(178,77,255,.14), transparent 24%),
        radial-gradient(circle at 85% 12%, rgba(122,60,255,.12), transparent 22%),
        linear-gradient(180deg, #fbf9ff 0%, #f8f3ff 38%, #f6f2ff 100%);
      line-height:1.65;
      overflow-x:hidden;
    }
    a{color:var(--pri); text-decoration:none}
    img{display:block; max-width:100%}
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    header{
      position:sticky;
      top:0;
      z-index:90;
      backdrop-filter: blur(14px);
      background:rgba(250,247,255,.84);
      border-bottom:1px solid rgba(120,74,221,.10);
    }
    .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:48px;
      height:48px;
      border-radius:14px;
      background:linear-gradient(135deg, rgba(122,60,255,.12), rgba(178,77,255,.08));
      border:1px solid rgba(122,60,255,.14);
      display:grid;
      place-items:center;
      overflow:hidden;
      flex:none;
      box-shadow:0 8px 22px rgba(122,60,255,.08);
    }
    .brand .txt{min-width:0}
    .brand strong{
      display:block;
      font-size:18px;
      line-height:1.15;
      letter-spacing:.2px;
    }
    .brand span{
      display:block;
      font-size:12px;
      color:var(--muted);
      margin-top:2px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .nav-toggle{
      display:none;
      border:1px solid rgba(122,60,255,.18);
      background:#fff;
      color:var(--ink);
      padding:10px 12px;
      border-radius:12px;
      cursor:pointer;
      box-shadow:var(--shadow2);
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .nav-links a{
      font-size:14px;
      color:#392d57;
      padding:7px 0;
      position:relative;
      white-space:nowrap;
    }
    .nav-links a::after{
      content:"";
      position:absolute;
      left:0;
      bottom:0;
      width:0;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, var(--pri), var(--pri2));
      transition:width .24s ease;
    }
    .nav-links a:hover::after{width:100%}
    .nav-cta{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border:none;
      cursor:pointer;
      padding:13px 18px;
      border-radius:999px;
      font-weight:700;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{
      color:#fff;
      background:linear-gradient(135deg, var(--pri) 0%, var(--pri2) 100%);
      box-shadow:0 14px 30px rgba(122,60,255,.26);
    }
    .btn-secondary{
      color:var(--pri3);
      background:#fff;
      border:1px solid rgba(122,60,255,.18);
      box-shadow:var(--shadow2);
    }
    .hero{
      padding:38px 0 24px;
      position:relative;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:24px;
      align-items:stretch;
    }
    .hero-panel{
      background:
        linear-gradient(135deg, rgba(122,60,255,.96) 0%, rgba(178,77,255,.94) 52%, rgba(93,39,217,.96) 100%);
      color:#fff;
      border-radius:28px;
      padding:34px;
      position:relative;
      overflow:hidden;
      box-shadow:0 24px 70px rgba(97,42,190,.22);
      isolation:isolate;
    }
    .hero-panel::before,
    .hero-panel::after{
      content:"";
      position:absolute;
      border-radius:50%;
      background:rgba(255,255,255,.14);
      filter:blur(2px);
      pointer-events:none;
    }
    .hero-panel::before{width:180px;height:180px;right:-40px;top:-30px}
    .hero-panel::after{width:260px;height:260px;left:-120px;bottom:-120px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      color:#f4ecff;
      font-size:13px;
      border:1px solid rgba(255,255,255,.16);
    }
    h1{
      margin:16px 0 12px;
      font-size:clamp(34px, 4vw, 56px);
      line-height:1.08;
      letter-spacing:-.5px;
    }
    .hero p{
      margin:0;
      font-size:16px;
      color:rgba(255,255,255,.88);
      max-width:56ch;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin:24px 0 18px;
    }
    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:14px;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.14);
      font-size:13px;
      color:#fff;
    }
    .hero-side{
      display:grid;
      gap:16px;
    }
    .card{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(122,60,255,.10);
      border-radius:22px;
      box-shadow:var(--shadow2);
    }
    .side-card{
      padding:20px;
    }
    .stats{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .stat{
      padding:18px 16px;
      border-radius:18px;
      background:linear-gradient(180deg, #fff 0%, #fbf8ff 100%);
      border:1px solid var(--line);
      box-shadow:0 8px 18px rgba(94,44,192,.06);
    }
    .stat strong{
      display:block;
      font-size:24px;
      line-height:1.1;
      color:var(--pri3);
    }
    .stat span{
      display:block;
      margin-top:6px;
      color:var(--muted);
      font-size:13px;
    }
    .section{
      padding:18px 0 10px;
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:end;
      margin-bottom:18px;
    }
    .section-head h2{
      margin:0;
      font-size:clamp(24px, 2.4vw, 34px);
      line-height:1.15;
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      max-width:60ch;
      font-size:14px;
    }
    .grid-3{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:16px;
    }
    .grid-4{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .feature, .service, .review, .article, .mini, .faq-item, .contact-box, .price-box, .step, .case{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(122,60,255,.10);
      border-radius:var(--radius);
      box-shadow:var(--shadow2);
    }
    .feature, .service, .review, .article, .mini, .step, .case, .contact-box, .price-box{padding:20px}
    .feature h3, .service h3, .mini h3, .step h3, .case h3, .contact-box h3, .price-box h3, .review h3{
      margin:0 0 10px;
      font-size:18px;
      line-height:1.3;
    }
    .feature p, .service p, .mini p, .step p, .case p, .contact-box p, .price-box p, .review p, .article p{
      margin:0;
      color:var(--muted);
      font-size:14px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 10px;
      border-radius:999px;
      font-size:12px;
      color:#5a2fd4;
      background:#f2ebff;
      margin-bottom:14px;
      border:1px solid rgba(122,60,255,.12);
    }
    .icon{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, rgba(122,60,255,.12), rgba(178,77,255,.06));
      color:var(--pri3);
      margin-bottom:12px;
      font-size:18px;
      font-weight:700;
    }
    .service ul, .mini ul{
      margin:12px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:8px;
    }
    .service li, .mini li{
      color:#43395d;
      font-size:14px;
      display:flex;
      gap:8px;
      align-items:flex-start;
    }
    .service li::before, .mini li::before{
      content:"•";
      color:var(--pri);
      font-weight:700;
      line-height:1.4;
    }
    .marquee-wrap{
      overflow:hidden;
      border-top:1px solid rgba(122,60,255,.08);
      border-bottom:1px solid rgba(122,60,255,.08);
      background:rgba(255,255,255,.6);
      margin:14px 0 8px;
    }
    .marquee{
      display:flex;
      gap:26px;
      padding:12px 0;
      white-space:nowrap;
      animation:run 24s linear infinite;
      color:#4d4070;
      font-size:14px;
    }
    @keyframes run{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }
    .flow{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .step{
      position:relative;
      overflow:hidden;
    }
    .step .num{
      font-size:12px;
      color:var(--pri);
      font-weight:700;
      margin-bottom:12px;
      letter-spacing:.6px;
      text-transform:uppercase;
    }
    .step::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:3px;
      background:linear-gradient(90deg, var(--pri), var(--pri2));
      opacity:.8;
    }
    .table-wrap{
      overflow:auto;
      background:rgba(255,255,255,.86);
      border-radius:var(--radius);
      border:1px solid rgba(122,60,255,.10);
      box-shadow:var(--shadow2);
    }
    table{
      width:100%;
      border-collapse:collapse;
      min-width:760px;
      background:#fff;
    }
    th, td{
      padding:14px 16px;
      border-bottom:1px solid #f0e7ff;
      text-align:left;
      font-size:14px;
      vertical-align:top;
    }
    th{
      background:#fbf8ff;
      color:#2b2140;
      font-weight:700;
    }
    td{color:#4b445d}
    .tag-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .tag{
      padding:9px 12px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(122,60,255,.12);
      color:#403459;
      font-size:13px;
      box-shadow:0 6px 14px rgba(85,38,182,.05);
    }
    .compare-card{
      display:grid;
      grid-template-columns: .95fr 1.05fr;
      gap:16px;
      align-items:stretch;
    }
    .rating-box{
      padding:22px;
      background:linear-gradient(160deg, #fff 0%, #f8f1ff 100%);
      border-radius:22px;
      border:1px solid rgba(122,60,255,.10);
      box-shadow:var(--shadow2);
    }
    .rating{
      display:flex;
      align-items:baseline;
      gap:10px;
      margin:6px 0 12px;
    }
    .rating strong{
      font-size:42px;
      line-height:1;
      color:var(--pri3);
    }
    .rating span{color:var(--muted)}
    .stars{
      color:#ffb400;
      letter-spacing:2px;
      font-size:18px;
      margin-bottom:12px;
    }
    .columns{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
    }
    .box{
      background:#fff;
      border:1px solid rgba(122,60,255,.10);
      border-radius:18px;
      padding:18px;
    }
    .faq-list{
      display:grid;
      gap:12px;
    }
    .faq-item{
      padding:0;
      overflow:hidden;
    }
    .faq-q{
      width:100%;
      border:none;
      background:transparent;
      color:var(--ink);
      font-weight:700;
      text-align:left;
      padding:18px 18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      cursor:pointer;
      font-size:15px;
    }
    .faq-a{
      max-height:0;
      overflow:hidden;
      transition:max-height .28s ease;
      border-top:1px solid #f0e7ff;
    }
    .faq-a p{
      margin:0;
      padding:16px 18px 18px;
      color:var(--muted);
      font-size:14px;
    }
    .faq-item.open .faq-a{max-height:180px}
    .faq-item.open .faq-q .plus{transform:rotate(45deg)}
    .plus{
      transition:transform .2s ease;
      color:var(--pri);
      font-size:20px;
      flex:none;
    }
    .reviews{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .review .meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:12px;
    }
    .review .meta strong{font-size:15px}
    .review .role{
      color:var(--pri3);
      font-size:12px;
      background:#f3ecff;
      padding:5px 8px;
      border-radius:999px;
      border:1px solid rgba(122,60,255,.10);
    }
    .articles{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }
    .article .date{
      font-size:12px;
      color:#7a6d95;
      margin-bottom:10px;
    }
    .article h3{margin:0 0 10px;font-size:17px}
    .article a.more{
      display:inline-flex;
      margin-top:12px;
      font-weight:700;
      color:var(--pri3);
    }
    .form-grid{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:16px;
      align-items:start;
    }
    form{
      display:grid;
      gap:12px;
    }
    .fields{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    label{display:block;font-size:13px;color:#4a4061;margin-bottom:6px}
    input, select, textarea{
      width:100%;
      border:1px solid #dcd0fb;
      background:#fff;
      color:var(--ink);
      border-radius:14px;
      padding:13px 14px;
      font:inherit;
      outline:none;
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    input:focus, select:focus, textarea:focus{
      border-color:rgba(122,60,255,.45);
      box-shadow:0 0 0 4px rgba(122,60,255,.12);
    }
    textarea{min-height:130px; resize:vertical}
    .submit{
      width:100%;
      border:none;
      padding:14px 16px;
      border-radius:16px;
      background:linear-gradient(135deg, var(--pri) 0%, var(--pri2) 100%);
      color:#fff;
      font-weight:800;
      cursor:pointer;
      box-shadow:0 14px 28px rgba(122,60,255,.24);
    }
    .submit:hover{transform:translateY(-1px)}
    .footer{
      margin-top:20px;
      padding:24px 0 18px;
      background:linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(249,244,255,.95) 100%);
      border-top:1px solid rgba(122,60,255,.10);
      color:#3b3150;
    }
    .footer a{color:var(--pri3)}
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr .9fr;
      gap:16px;
    }
    .footer small, .footer p, .footer li{color:#584f70}
    .footer ul{
      list-style:none;
      padding:0;
      margin:12px 0 0;
      display:grid;
      gap:8px;
    }
    .footer h3{margin:0 0 12px;font-size:17px}
    .footbar{
      margin-top:18px;
      padding-top:14px;
      border-top:1px solid rgba(122,60,255,.10);
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      color:#655b7a;
      font-size:13px;
    }
    .float-tools{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:95;
      display:grid;
      gap:10px;
    }
    .float-btn{
      width:52px;
      height:52px;
      border-radius:16px;
      background:linear-gradient(135deg, var(--pri) 0%, var(--pri2) 100%);
      color:#fff;
      display:grid;
      place-items:center;
      box-shadow:0 16px 34px rgba(122,60,255,.26);
      font-size:18px;
      border:none;
      cursor:pointer;
    }
    .float-btn.secondary{
      background:#fff;
      color:var(--pri3);
      border:1px solid rgba(122,60,255,.18);
    }
    .fade-up{
      opacity:0;
      transform:translateY(18px);
      transition:opacity .6s ease, transform .6s ease;
    }
    .fade-up.in-view{
      opacity:1;
      transform:translateY(0);
    }
    .home-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      color:#2a1f41;
      font-weight:700;
    }
    .home-link::before{
      content:"⌂";
      color:var(--pri);
      font-size:16px;
    }
    .muted{color:var(--muted)}
    .topline{
      margin-top:10px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .list-inline{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      padding:0;
      margin:0;
      list-style:none;
    }
    .list-inline li{
      background:#fff;
      border:1px solid rgba(122,60,255,.12);
      color:#4e4567;
      border-radius:999px;
      padding:7px 11px;
      font-size:12px;
    }
    @media (max-width: 1024px){
      .hero-grid, .compare-card, .form-grid, .footer-grid{grid-template-columns:1fr}
      .grid-4, .flow, .articles, .reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
      .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
      .nav-links{display:none}
      .nav-toggle{display:inline-flex}
      .nav-links.open{
        display:flex;
        position:absolute;
        left:16px;
        right:16px;
        top:74px;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
        background:#fff;
        border:1px solid rgba(122,60,255,.10);
        border-radius:18px;
        padding:16px;
        box-shadow:var(--shadow);
      }
      .nav-cta{display:none}
      header{position:sticky}
    }
    @media (max-width: 720px){
      .container{width:min(var(--container), calc(100% - 20px))}
      .hero-panel{padding:24px}
      .section{padding:14px 0 6px}
      .section-head{flex-direction:column; align-items:flex-start}
      .grid-3, .grid-4, .flow, .articles, .reviews, .columns, .fields, .stats{grid-template-columns:1fr}
      h1{font-size:30px}
      .hero p{font-size:15px}
      .hero-actions .btn{width:100%}
      .topline{align-items:flex-start}
      .float-tools{right:12px; bottom:12px}
    }