:root{
      --bg0:#fffdf8;
      --bg1:#f6f7fb;
      --card:#ffffff;
      --text:#1f2937;
      --muted:#5b6475;
      --line:#e7e9f3;
      --shadow: 0 14px 40px rgba(17,24,39,.08);
      --shadow2: 0 10px 26px rgba(17,24,39,.10);
      --brand1:#3b82f6;
      --brand2:#a855f7;
      --brand3:#22c55e;
      --brand4:#f59e0b;
      --brand5:#ef4444;
      --accent:#0f172a;
      --chip:#f2f4ff;
      --btn:#111827;
      --btnText:#ffffff;
      --focus:#2563eb;
      --radius:18px;
      --radius2:24px;
      --container: 1160px;
      --padX: 20px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      background:
        radial-gradient(1100px 650px at 10% -10%, rgba(168,85,247,.14), transparent 55%),
        radial-gradient(900px 560px at 92% 0%, rgba(59,130,246,.15), transparent 52%),
        radial-gradient(900px 700px at 10% 90%, rgba(34,197,94,.10), transparent 55%),
        linear-gradient(180deg, var(--bg0), var(--bg1));
      overflow-x:hidden;
    }

    a{color:inherit; text-decoration:none}
    img{max-width:100%; height:auto; display:block}
    button, input, select, textarea{font:inherit}
    .container{
      width:100%;
      max-width:var(--container);
      margin:0 auto;
      padding:0 var(--padX);
    }

    .skip{
      position:absolute;
      left:-9999px;
      top:auto;
      width:1px;height:1px;
      overflow:hidden;
    }
    .skip:focus{
      left:16px; top:16px;
      width:auto;height:auto;
      background:#fff;
      padding:10px 12px;
      border:1px solid var(--line);
      border-radius:10px;
      z-index:9999;
      box-shadow: var(--shadow2);
    }

    header{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(255,253,248,.74);
      border-bottom:1px solid rgba(231,233,243,.75);
    }
    .navBar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:14px 0;
      gap:14px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 180px;
    }
    .brandLogo{
      width:44px; height:44px;
      border-radius:14px;
      background:
        radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.85), rgba(255,255,255,0) 60%),
        linear-gradient(135deg, rgba(59,130,246,.95), rgba(168,85,247,.95));
      box-shadow: 0 10px 24px rgba(59,130,246,.18);
      display:flex; align-items:center; justify-content:center;
      overflow:hidden;
    }
    .brandLogo img{width:36px;height:36px; object-fit:contain}
    .brandText{
      display:flex; flex-direction:column; line-height:1.15;
    }
    .brandText b{font-size:14px; letter-spacing:.2px}
    .brandText span{font-size:12px; color:var(--muted)}
    nav{
      display:flex;
      align-items:center;
      gap:14px;
      flex:1;
      justify-content:center;
    }

    .navLinks{
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      justify-content:center;
    }
    .navLinks a{
      font-size:13px;
      color:#2a3447;
      padding:8px 10px;
      border-radius:12px;
      transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
      border:1px solid transparent;
      white-space:nowrap;
    }
    .navLinks a:hover{
      background: rgba(99,102,241,.08);
      border-color: rgba(99,102,241,.18);
      transform: translateY(-1px);
    }

    .navRight{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:12px;
      min-width: 240px;
    }
    .ctaPrimary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:10px 14px;
      border-radius:14px;
      border:1px solid rgba(17,24,39,.12);
      background: linear-gradient(135deg, rgba(17,24,39,.97), rgba(31,41,55,.90));
      color:var(--btnText);
      box-shadow: 0 14px 30px rgba(17,24,39,.14);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
      font-size:13px;
      font-weight:650;
      white-space:nowrap;
    }
    .ctaPrimary:hover{
      transform: translateY(-1px);
      box-shadow: 0 18px 44px rgba(17,24,39,.18);
      filter:saturate(1.05);
    }
    .ctaPrimary:active{transform: translateY(0)}
    .ctaPrimary svg{width:16px; height:16px}

    .ctaGhost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(17,24,39,.12);
      background: rgba(255,255,255,.62);
      color:#111827;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      font-size:13px;
      font-weight:620;
      white-space:nowrap;
    }
    .ctaGhost:hover{
      transform: translateY(-1px);
      background: rgba(255,255,255,.84);
      border-color: rgba(37,99,235,.25);
    }
    .ctaGhost:active{transform: translateY(0)}
    .iconDot{
      width:10px;height:10px;border-radius:999px;
      background: conic-gradient(from 180deg, var(--brand1), var(--brand2), var(--brand3), var(--brand4), var(--brand5), var(--brand1));
      box-shadow: 0 0 0 4px rgba(99,102,241,.12);
    }

    .mobileToggle{
      display:none;
      align-items:center;
      justify-content:center;
      width:42px;
      height:42px;
      border-radius:14px;
      border:1px solid rgba(17,24,39,.12);
      background: rgba(255,255,255,.62);
      cursor:pointer;
      transition: transform .2s ease, background .2s ease;
    }
    .mobileToggle:hover{transform: translateY(-1px); background: rgba(255,255,255,.85)}
    .mobileToggle:active{transform: translateY(0)}
    .mobileToggle svg{width:18px;height:18px}
    .mobilePanel{
      display:none;
      padding: 0 0 14px;
    }
    .mobilePanelInner{
      border:1px solid rgba(231,233,243,.9);
      border-radius:18px;
      background: rgba(255,255,255,.72);
      box-shadow: 0 12px 30px rgba(17,24,39,.08);
      padding:12px;
    }
    .mobilePanel .navLinks{justify-content:flex-start}
    .mobilePanel .navLinks a{
      width:100%;
      padding:10px 12px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.7);
    }
    .mobilePanel .navLinks a:hover{transform:none; background: rgba(99,102,241,.08);}

    main{padding:26px 0 0}

    .hero{
      position:relative;
      overflow:hidden;
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background:
        radial-gradient(800px 420px at 15% 10%, rgba(59,130,246,.22), transparent 60%),
        radial-gradient(680px 520px at 95% 20%, rgba(168,85,247,.18), transparent 58%),
        radial-gradient(560px 420px at 60% 110%, rgba(34,197,94,.10), transparent 58%),
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.56));
      box-shadow: 0 22px 70px rgba(17,24,39,.12);
    }
    .heroInner{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:18px;
      align-items:stretch;
      padding:26px;
      min-height: 440px;
    }

    .heroBadgeRow{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:12px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.85);
      background: rgba(255,255,255,.66);
      font-size:12.5px;
      color:#2b3447;
      box-shadow: 0 10px 24px rgba(17,24,39,.06);
      user-select:none;
    }
    .badge .spark{
      width:12px;height:12px;border-radius:4px;
      background: linear-gradient(135deg, var(--brand1), var(--brand2));
      transform: rotate(12deg);
      box-shadow: 0 10px 20px rgba(59,130,246,.20);
    }

    .hero h1{
      margin:0;
      font-size:36px;
      letter-spacing: -0.6px;
      line-height:1.1;
      color:#0b1220;
    }
    .heroLead{
      margin:12px 0 18px;
      color: var(--muted);
      font-size:15.5px;
      line-height:1.7;
      max-width: 58ch;
    }
    .heroActions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
      margin-bottom:18px;
    }
    .heroActions .ctaPrimary{padding:12px 16px}
    .heroMeta{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      align-items:center;
      margin-top: 6px;
    }
    .metaItem{
      display:flex; flex-direction:column;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(231,233,243,.85);
      background: rgba(255,255,255,.62);
      min-width: 160px;
    }
    .metaItem b{
      font-size:16px;
      letter-spacing:-.2px;
    }
    .metaItem span{
      font-size:12.5px;
      color:var(--muted);
      margin-top:4px;
    }

    .heroRight{
      display:flex;
      flex-direction:column;
      gap:12px;
      align-self:stretch;
    }
    .floatArt{
      position:absolute;
      inset:-80px -80px auto -80px;
      height:300px;
      pointer-events:none;
      background:
        radial-gradient(60px 60px at 18% 58%, rgba(239,68,68,.18), transparent 60%),
        radial-gradient(64px 64px at 42% 32%, rgba(245,158,11,.22), transparent 64%),
        radial-gradient(74px 74px at 62% 62%, rgba(59,130,246,.22), transparent 62%),
        radial-gradient(62px 62px at 82% 44%, rgba(168,85,247,.20), transparent 62%);
      filter:saturate(1.1);
      opacity:.9;
      transform: translateZ(0);
      animation: drift 10s ease-in-out infinite;
    }
    @keyframes drift{
      0%,100%{transform: translate3d(0,0,0)}
      50%{transform: translate3d(18px,10px,0)}
    }

    .glassCard{
      position:relative;
      border-radius:20px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.62);
      box-shadow: 0 18px 52px rgba(17,24,39,.10);
      padding:14px;
      overflow:hidden;
    }
    .glassCard:before{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        radial-gradient(260px 160px at 20% 10%, rgba(59,130,246,.18), transparent 55%),
        radial-gradient(240px 180px at 90% 35%, rgba(168,85,247,.16), transparent 52%),
        radial-gradient(220px 160px at 60% 110%, rgba(34,197,94,.10), transparent 52%);
      opacity:.95;
      pointer-events:none;
    }
    .glassCard > *{position:relative; z-index:1}

    .quickScoreGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    .scoreTile{
      border-radius:18px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.72);
      padding:12px;
      transition: transform .22s ease, box-shadow .22s ease;
    }
    .scoreTile:hover{
      transform: translateY(-2px);
      box-shadow: 0 16px 44px rgba(17,24,39,.10);
    }
    .scoreTop{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-bottom:8px;
    }
    .meter{
      height:10px;
      width:100%;
      border-radius:999px;
      background: rgba(17,24,39,.08);
      overflow:hidden;
      border:1px solid rgba(231,233,243,.75);
    }
    .meter i{
      display:block; height:100%;
      width: 72%;
      background: linear-gradient(90deg, rgba(59,130,246,.95), rgba(168,85,247,.95));
      border-radius:999px;
      animation: fill 1.2s ease-out both;
    }
    @keyframes fill{from{width:20%} to{width:72%}}
    .scoreTile:nth-child(2) .meter i{width: 64%; background: linear-gradient(90deg, rgba(34,197,94,.95), rgba(59,130,246,.95));}
    .scoreTile:nth-child(3) .meter i{width: 58%; background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(168,85,247,.95));}
    .scoreTile:nth-child(4) .meter i{width: 79%; background: linear-gradient(90deg, rgba(239,68,68,.95), rgba(245,158,11,.95));}

    .tileLabel{
      font-size:12.5px; color:var(--muted);
      display:flex; align-items:center; gap:10px;
    }
    .tileLabel .miniIcon{
      width:28px; height:28px; border-radius:12px;
      background: linear-gradient(135deg, rgba(59,130,246,.14), rgba(168,85,247,.14));
      border:1px solid rgba(99,102,241,.18);
      display:flex; align-items:center; justify-content:center;
    }
    .tileLabel svg{width:16px;height:16px}
    .tileValue{
      font-size:18px;
      font-weight:780;
      letter-spacing:-.2px;
      margin-top:10px;
    }

    .heroRightBottom{
      display:flex;
      flex-direction:column;
      gap:10px;
      padding:14px;
      border-radius:20px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.62);
      box-shadow: 0 18px 52px rgba(17,24,39,.10);
      position:relative;
      overflow:hidden;
    }
    .heroRightBottom:after{
      content:"";
      position:absolute;
      top:-90px; right:-120px;
      width:260px; height:260px;
      border-radius:50%;
      background: conic-gradient(from 180deg, rgba(59,130,246,.35), rgba(168,85,247,.30), rgba(34,197,94,.26), rgba(245,158,11,.26), rgba(239,68,68,.24));
      filter: blur(18px);
      opacity:.65;
      pointer-events:none;
    }
    .heroRightBottom > *{position:relative; z-index:1}

    .tinyList{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .tinyItem{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:10px 10px;
      border-radius:16px;
      border:1px solid rgba(231,233,243,.85);
      background: rgba(255,255,255,.70);
      transition: transform .22s ease, border-color .22s ease;
    }
    .tinyItem:hover{
      transform: translateY(-2px);
      border-color: rgba(37,99,235,.25);
    }
    .tinyItem .mark{
      width:34px;height:34px;border-radius:14px;
      background: linear-gradient(135deg, rgba(34,197,94,.12), rgba(59,130,246,.12));
      border:1px solid rgba(34,197,94,.18);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .tinyItem .mark svg{width:18px;height:18px}
    .tinyItem b{font-size:13.5px}
    .tinyItem p{margin:4px 0 0; color:var(--muted); font-size:12.5px; line-height:1.55}

    .section{
      padding: 56px 0;
    }
    .sectionHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:20px;
    }
    .sectionHeader h2{
      margin:0;
      font-size:26px;
      letter-spacing:-.4px;
      line-height:1.2;
      color:#0b1220;
    }
    .sectionHeader p{
      margin:0;
      color:var(--muted);
      line-height:1.7;
      font-size:14.5px;
      max-width: 64ch;
    }

    .grid3{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .grid2{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:14px;
    }

    .card{
      background: var(--card);
      border:1px solid rgba(231,233,243,.9);
      border-radius: var(--radius);
      box-shadow: 0 16px 44px rgba(17,24,39,.06);
      padding:16px;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      position:relative;
      overflow:hidden;
    }
    .card:hover{
      transform: translateY(-3px);
      border-color: rgba(99,102,241,.20);
      box-shadow: 0 22px 70px rgba(17,24,39,.10);
    }
    .card .cardTop{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      margin-bottom:10px;
    }
    .card .cardIcon{
      width:44px;height:44px;border-radius:18px;
      border:1px solid rgba(231,233,243,.9);
      background:
        radial-gradient(18px 18px at 30% 20%, rgba(255,255,255,.75), rgba(255,255,255,0) 65%),
        linear-gradient(135deg, rgba(59,130,246,.14), rgba(168,85,247,.14));
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .card .cardIcon svg{width:20px;height:20px}
    .card h3{
      margin:0 0 8px 0;
      font-size:16px;
      letter-spacing:-.2px;
      line-height:1.35;
    }
    .card p{
      margin:0;
      color: var(--muted);
      line-height:1.7;
      font-size:13.5px;
    }

    .chips{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:14px;
    }
    .chip{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(242,244,255,.75);
      color:#273244;
      font-size:12.5px;
      user-select:none;
    }

    .timeline{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
    }
    .step{
      display:flex;
      gap:14px;
      align-items:flex-start;
      padding:14px;
      border-radius: var(--radius);
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.78);
      transition: transform .22s ease, border-color .22s ease;
    }
    .step:hover{transform: translateY(-2px); border-color: rgba(99,102,241,.22)}
    .stepNum{
      width:42px;height:42px;border-radius:16px;
      background: linear-gradient(135deg, rgba(59,130,246,.18), rgba(168,85,247,.18));
      border:1px solid rgba(99,102,241,.22);
      display:flex; align-items:center; justify-content:center;
      font-weight:850;
      letter-spacing:-.5px;
      color:#0f172a;
      flex:0 0 auto;
    }
    .stepBody b{font-size:14.5px}
    .stepBody p{margin:6px 0 0; color:var(--muted); font-size:13.5px; line-height:1.7}

    .compareWrap{
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.70);
      box-shadow: 0 18px 60px rgba(17,24,39,.08);
      overflow:hidden;
    }
    .compareHead{
      padding:16px 16px 12px;
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      background:
        radial-gradient(700px 260px at 18% 0%, rgba(59,130,246,.14), transparent 55%),
        radial-gradient(540px 260px at 90% 0%, rgba(168,85,247,.12), transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.60));
      border-bottom:1px solid rgba(231,233,243,.9);
    }
    .ratingBox{
      display:flex;
      gap:12px;
      align-items:center;
      padding:10px 12px;
      border-radius:18px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.78);
    }
    .stars{
      display:flex; gap:4px; align-items:center;
      color:#f59e0b;
    }
    .stars svg{width:18px;height:18px}
    .ratingText b{display:block; font-size:18px; letter-spacing:-.2px}
    .ratingText span{display:block; margin-top:4px; color:var(--muted); font-size:12.5px}

    .compareTable{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      font-size:13.5px;
    }
    .compareTable th, .compareTable td{
      padding:14px 14px;
      border-bottom:1px solid rgba(231,233,243,.9);
      vertical-align:top;
    }
    .compareTable th{
      text-align:left;
      font-weight:750;
      color:#111827;
      background: rgba(242,244,255,.72);
    }
    .compareTable td{
      color:#2a3447;
      background: rgba(255,255,255,.78);
    }
    .compareTable tr:last-child td{border-bottom:none}
    .pillGood{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(34,197,94,.22);
      background: rgba(34,197,94,.10);
      color:#0f5132;
      font-weight:700;
      font-size:12.5px;
      white-space:nowrap;
    }
    .pillNeutral{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(99,102,241,.20);
      background: rgba(99,102,241,.10);
      color:#1f2a55;
      font-weight:700;
      font-size:12.5px;
      white-space:nowrap;
    }
    .pillHot{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(245,158,11,.24);
      background: rgba(245,158,11,.12);
      color:#6d3c00;
      font-weight:700;
      font-size:12.5px;
      white-space:nowrap;
    }

    .twoCol{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      align-items:start;
    }

    .formCard{
      padding:18px;
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background:
        radial-gradient(780px 280px at 20% 0%, rgba(59,130,246,.14), transparent 55%),
        radial-gradient(580px 260px at 90% 15%, rgba(168,85,247,.12), transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.60));
      box-shadow: 0 18px 60px rgba(17,24,39,.08);
    }
    .formGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    .field{display:flex; flex-direction:column; gap:8px}
    .field label{
      font-size:12.5px;
      color:var(--muted);
      font-weight:650;
    }
    .control{
      width:100%;
      border-radius:14px;
      border:1px solid rgba(231,233,243,.95);
      padding:11px 12px;
      background: rgba(255,255,255,.78);
      outline:none;
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    .control:focus{
      border-color: rgba(37,99,235,.38);
      box-shadow: 0 0 0 4px rgba(37,99,235,.16);
    }
    textarea.control{min-height:120px; resize:vertical}
    .formBottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-top:12px;
      flex-wrap:wrap;
    }
    .consent{
      color:var(--muted);
      font-size:12.5px;
      line-height:1.6;
      max-width: 54ch;
    }

    .btnRow{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
    .btnSubmit{
      border:none;
      cursor:pointer;
      padding:12px 16px;
      border-radius:16px;
      font-weight:800;
      background: linear-gradient(135deg, rgba(17,24,39,.98), rgba(31,41,55,.90));
      color:#fff;
      box-shadow: 0 18px 44px rgba(17,24,39,.16);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
      display:inline-flex; align-items:center; gap:10px;
      white-space:nowrap;
    }
    .btnSubmit:hover{
      transform: translateY(-2px);
      box-shadow: 0 22px 62px rgba(17,24,39,.22);
      filter:saturate(1.05);
    }
    .btnSubmit:active{transform: translateY(0)}
    .btnSubmit svg{width:18px;height:18px}
    .btnSoft{
      border:1px solid rgba(17,24,39,.14);
      background: rgba(255,255,255,.78);
      color:#111827;
      padding:12px 14px;
      border-radius:16px;
      cursor:pointer;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      font-weight:760;
      display:inline-flex; align-items:center; gap:10px;
      white-space:nowrap;
    }
    .btnSoft:hover{transform: translateY(-2px); background: rgba(255,255,255,.92); border-color: rgba(37,99,235,.24)}
    .btnSoft:active{transform: translateY(0)}
    .btnSoft svg{width:18px;height:18px}

    .notice{
      margin-top:12px;
      padding:12px 12px;
      border-radius:16px;
      border:1px dashed rgba(99,102,241,.30);
      background: rgba(99,102,241,.08);
      color:#1f2a55;
      font-size:12.8px;
      line-height:1.65;
    }

    .faqWrap{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:14px;
      align-items:start;
    }
    details.faq{
      background: rgba(255,255,255,.76);
      border:1px solid rgba(231,233,243,.9);
      border-radius: var(--radius);
      padding:12px 14px;
      box-shadow: 0 14px 40px rgba(17,24,39,.06);
      transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    }
    details.faq[open]{
      border-color: rgba(37,99,235,.26);
      box-shadow: 0 22px 70px rgba(17,24,39,.10);
      transform: translateY(-2px);
    }
    details.faq summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      padding:4px 0;
      font-weight:800;
      font-size:14px;
      color:#0f172a;
    }
    details.faq summary::-webkit-details-marker{display:none}
    .faqIcon{
      width:34px; height:34px;
      border-radius:14px;
      border:1px solid rgba(231,233,243,.9);
      background: linear-gradient(135deg, rgba(59,130,246,.14), rgba(168,85,247,.14));
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
      margin-top:-2px;
    }
    .faqIcon svg{width:18px;height:18px}
    .faqAnswer{
      margin-top:10px;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.75;
      padding-right: 6px;
    }

    .asidePanel{
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background:
        radial-gradient(620px 280px at 15% 0%, rgba(245,158,11,.14), transparent 60%),
        radial-gradient(520px 260px at 95% 20%, rgba(239,68,68,.12), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.60));
      box-shadow: 0 18px 60px rgba(17,24,39,.08);
      padding:16px;
      position:sticky;
      top:88px;
    }
    .asidePanel h3{margin:0 0 10px; font-size:16px}
    .asidePanel p{margin:0; color:var(--muted); line-height:1.7; font-size:13.5px}
    .asideList{
      margin-top:12px;
      display:grid;
      gap:10px;
    }
    .asideItem{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.74);
    }
    .asideItem .tmark{
      width:34px;height:34px;border-radius:14px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(242,244,255,.80);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .asideItem .tmark svg{width:18px;height:18px}
    .asideItem b{font-size:13.5px}
    .asideItem span{display:block; margin-top:4px; color:var(--muted); font-size:12.5px; line-height:1.6}

    .listGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
    }

    .caseGrid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .caseCard{
      padding:14px;
      border-radius: var(--radius);
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.72);
      box-shadow: 0 16px 44px rgba(17,24,39,.06);
      display:flex;
      flex-direction:column;
      gap:12px;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-height: 206px;
    }
    .caseCard:hover{transform: translateY(-3px); box-shadow: 0 22px 70px rgba(17,24,39,.10); border-color: rgba(99,102,241,.20)}
    .caseTop{display:flex; gap:12px; align-items:flex-start}
    .caseTag{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(242,244,255,.78);
      font-size:12.5px;
      color:#2a3447;
      user-select:none;
    }
    .caseCard b{font-size:14.5px}
    .caseCard p{margin:0; color:var(--muted); line-height:1.7; font-size:13.5px}
    .caseFooter{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-top:auto;
    }
    .smallLink{
      font-weight:800;
      font-size:13px;
      color:#1d4ed8;
      display:inline-flex; align-items:center; gap:8px;
      padding:9px 10px;
      border-radius:14px;
      border:1px solid rgba(29,78,216,.18);
      background: rgba(29,78,216,.07);
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }
    .smallLink:hover{transform: translateY(-2px); background: rgba(29,78,216,.10); border-color: rgba(29,78,216,.26)}
    .smallLink svg{width:16px;height:16px}

    .articleGrid{
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap:14px;
    }
    .articleCard{
      border-radius: var(--radius);
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.72);
      padding:14px;
      box-shadow: 0 16px 44px rgba(17,24,39,.06);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      display:flex; flex-direction:column; gap:10px;
      min-height: 168px;
    }
    .articleCard:hover{transform: translateY(-3px); box-shadow: 0 22px 70px rgba(17,24,39,.10); border-color: rgba(99,102,241,.20)}
    .articleTop{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
    }
    .datePill{
      font-size:12.5px;
      color:var(--muted);
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(242,244,255,.78);
      user-select:none;
      white-space:nowrap;
    }
    .articleCard b{font-size:14.5px; line-height:1.45}
    .articleCard p{margin:0; color:var(--muted); line-height:1.7; font-size:13.5px}
    .articleBottom{margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px}
    .tagTiny{
      font-size:12.5px;
      color:#1f2a55;
      border:1px solid rgba(99,102,241,.20);
      background: rgba(99,102,241,.10);
      padding:7px 10px;
      border-radius:999px;
      user-select:none;
      white-space:nowrap;
    }

    .networkGrid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:14px;
      align-items:start;
    }
    .mapMock{
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background:
        radial-gradient(900px 420px at 30% 10%, rgba(59,130,246,.14), transparent 60%),
        radial-gradient(620px 360px at 92% 25%, rgba(168,85,247,.12), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.60));
      box-shadow: 0 18px 60px rgba(17,24,39,.08);
      padding:16px;
      position:relative;
      overflow:hidden;
      min-height: 260px;
    }
    .mapMock:before{
      content:"";
      position:absolute;
      left:-120px; bottom:-160px;
      width:520px; height:520px;
      border-radius:50%;
      background: radial-gradient(circle at 30% 30%, rgba(34,197,94,.18), transparent 60%);
      filter: blur(8px);
      opacity:.85;
      pointer-events:none;
    }
    .mapInner{
      position:relative; z-index:1;
      display:flex; flex-direction:column; gap:12px;
    }
    .mapRow{
      display:flex; gap:10px; flex-wrap:wrap;
    }
    .cityChip{
      padding:9px 11px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.75);
      font-size:12.8px;
      color:#2a3447;
      user-select:none;
      display:inline-flex; align-items:center; gap:8px;
    }
    .cityChip i{
      width:10px;height:10px;border-radius:999px;
      background: conic-gradient(from 180deg, var(--brand1), var(--brand2), var(--brand3), var(--brand4), var(--brand5), var(--brand1));
      box-shadow: 0 0 0 4px rgba(99,102,241,.12);
    }

    .metricList{
      display:grid;
      gap:12px;
    }
    .metricCard{
      padding:14px;
      border-radius: var(--radius2);
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.72);
      box-shadow: 0 16px 44px rgba(17,24,39,.06);
    }
    .metricCard b{font-size:15px}
    .metricCard p{margin:6px 0 0; color:var(--muted); font-size:13.5px; line-height:1.7}
    .barGrid{
      margin-top:12px;
      display:grid; gap:10px;
    }
    .barItem{
      display:grid;
      grid-template-columns: 120px 1fr;
      gap:10px;
      align-items:center;
    }
    .barItem span{font-size:12.8px; color:var(--muted); white-space:nowrap}
    .bar{
      height:10px;
      border-radius:999px;
      background: rgba(17,24,39,.08);
      border:1px solid rgba(231,233,243,.85);
      overflow:hidden;
    }
    .bar i{
      display:block; height:100%;
      border-radius:999px;
      width: 72%;
      background: linear-gradient(90deg, rgba(59,130,246,.95), rgba(168,85,247,.95));
      animation: barIn .9s ease-out both;
    }
    @keyframes barIn{from{transform: translateX(-12px); opacity:.7} to{transform: translateX(0); opacity:1}}
    .barItem:nth-child(2) .bar i{width: 64%; background: linear-gradient(90deg, rgba(34,197,94,.95), rgba(59,130,246,.95))}
    .barItem:nth-child(3) .bar i{width: 58%; background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(168,85,247,.95))}

    .tagsCloud{
      display:flex; flex-wrap:wrap; gap:10px;
    }
    .tagCloudItem{
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.75);
      padding:9px 11px;
      font-size:12.8px;
      color:#2a3447;
      user-select:none;
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .tagCloudItem:hover{
      transform: translateY(-2px);
      border-color: rgba(37,99,235,.22);
      background: rgba(99,102,241,.08);
    }

    footer{
      padding: 26px 0 30px;
      background: rgba(255,255,255,.52);
      border-top:1px solid rgba(231,233,243,.9);
      margin-top: 10px;
    }
    .footerInner{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .footerCol{
      min-width: 260px;
      max-width: 540px;
    }
    .footerBrand{
      display:flex; gap:12px; align-items:flex-start;
    }
    .footerLogo{
      width:44px;height:44px;border-radius:16px;
      background: linear-gradient(135deg, rgba(59,130,246,.18), rgba(168,85,247,.18));
      border:1px solid rgba(231,233,243,.9);
      display:flex; align-items:center; justify-content:center;
      overflow:hidden;
      flex:0 0 auto;
    }
    .footerLogo img{width:30px;height:30px; object-fit:contain}
    .footerBrand b{font-size:14.5px}
    .footerBrand p{margin:6px 0 0; color:var(--muted); font-size:13.2px; line-height:1.7}
    .footerLinks{
      display:flex; flex-direction:column; gap:10px;
    }
    .footerLinks b{font-size:14px}
    .friendRow{
      display:flex; flex-wrap:wrap; gap:10px;
      margin-top:10px;
    }
    .friendRow a{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.74);
      font-size:12.8px;
      color:#2a3447;
      transition: transform .2s ease, border-color .2s ease;
      white-space:nowrap;
    }
    .friendRow a:hover{transform: translateY(-2px); border-color: rgba(37,99,235,.25)}
    .copyRow{
      margin-top:14px;
      color:var(--muted);
      font-size:12.8px;
      line-height:1.6;
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }
    .copyDot{
      width:6px;height:6px;border-radius:999px;background: rgba(37,99,235,.35);
      display:inline-block;
    }

    .floatingContact{
      position:fixed;
      right:16px;
      bottom:16px;
      z-index:60;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
      pointer-events:none;
    }
    .floatBtn{
      pointer-events:auto;
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:11px 12px;
      border-radius:18px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.78);
      box-shadow: 0 18px 60px rgba(17,24,39,.14);
      cursor:pointer;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
      user-select:none;
    }
    .floatBtn:hover{
      transform: translateY(-3px);
      background: rgba(255,255,255,.92);
      box-shadow: 0 22px 70px rgba(17,24,39,.18);
    }
    .floatBtn:active{transform: translateY(0)}
    .floatBtn svg{width:18px;height:18px}
    .floatBtn b{font-size:13.2px}
    .wechatPanel{
      pointer-events:auto;
      width: 224px;
      border-radius: 20px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.86);
      box-shadow: 0 22px 70px rgba(17,24,39,.18);
      overflow:hidden;
      transform-origin: 90% 100%;
      animation: pop .18s ease-out both;
      display:none;
    }
    @keyframes pop{from{opacity:0; transform: scale(.96) translateY(6px)} to{opacity:1; transform: scale(1) translateY(0)}}
    .wechatPanel.active{display:block}
    .wechatTop{
      padding:12px 12px 10px;
      background:
        radial-gradient(280px 120px at 20% 0%, rgba(59,130,246,.14), transparent 62%),
        radial-gradient(220px 140px at 100% 10%, rgba(168,85,247,.12), transparent 58%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
      border-bottom:1px solid rgba(231,233,243,.9);
    }
    .wechatTop b{font-size:13.8px}
    .wechatTop span{display:block; margin-top:4px; color:var(--muted); font-size:12.6px; line-height:1.5}
    .wechatBody{padding:12px; display:flex; flex-direction:column; gap:10px}
    .wechatBody img{
      width:100%;
      border-radius:16px;
      border:1px solid rgba(231,233,243,.9);
      background:#fff;
    }
    .wechatBody .hint{
      color:var(--muted);
      font-size:12.5px;
      line-height:1.6;
    }

    .toTop{
      position:fixed;
      left:16px;
      bottom:16px;
      z-index:60;
      pointer-events:none;
    }
    .toTop button{
      pointer-events:auto;
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      width:46px; height:46px;
      border-radius:18px;
      border:1px solid rgba(231,233,243,.9);
      background: rgba(255,255,255,.78);
      box-shadow: 0 18px 60px rgba(17,24,39,.14);
      cursor:pointer;
      transition: transform .2s ease, background .2s ease;
      opacity:0;
      transform: translateY(12px);
    }
    .toTop button.show{
      opacity:1;
      transform: translateY(0);
    }
    .toTop button:hover{transform: translateY(-3px); background: rgba(255,255,255,.92)}
    .toTop svg{width:18px;height:18px}

    .reveal{
      opacity:0;
      transform: translateY(10px);
      transition: opacity .7s ease, transform .7s ease;
    }
    .reveal.in{
      opacity:1;
      transform: translateY(0);
    }

    @media (max-width: 980px){
      .heroInner{grid-template-columns: 1fr; min-height: unset}
      .heroRight{gap:12px}
      nav{display:none}
      .mobileToggle{display:inline-flex}
      .mobilePanel{display:block}
      .navRight{min-width:auto}
      .grid3{grid-template-columns: 1fr}
      .grid2{grid-template-columns: 1fr}
      .caseGrid{grid-template-columns: 1fr}
      .articleGrid{grid-template-columns: 1fr}
      .faqWrap{grid-template-columns: 1fr}
      .asidePanel{position:relative; top:auto}
      .networkGrid{grid-template-columns: 1fr}
      .listGrid{grid-template-columns: 1fr}
      .formGrid{grid-template-columns: 1fr}
      .metaItem{min-width: 0; flex:1}
      .heroMeta{gap:10px}
      .hero h1{font-size:30px}
    }