:root{
      --bg0:#f6fbf7;
      --bg1:#ffffff;
      --ink:#0f2a1e;
      --muted:#4a6155;
      --line:rgba(15,42,30,.12);
      --card:#ffffff;
      --card2:#fbfffc;
      --mint:#20b67a;
      --mint2:#9be9c6;
      --teal:#1d8f6a;
      --sky:#2fb9a7;
      --accent:#2f8b72;
      --warn:#9a6a00;
      --shadow: 0 10px 30px rgba(12, 40, 26, .08);
      --shadow2: 0 6px 18px rgba(12, 40, 26, .10);
      --radius:18px;
      --radius2:14px;
      --focus: 0 0 0 4px rgba(32,182,122,.18);
      --container: 1120px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
      color:var(--ink);
      background:
        radial-gradient(1000px 500px at 18% -10%, rgba(32,182,122,.18), transparent 55%),
        radial-gradient(900px 450px at 82% 10%, rgba(47,185,167,.18), transparent 55%),
        linear-gradient(180deg, var(--bg0), #ffffff 38%, #ffffff);
      min-height:100vh;
    }
    a{color:inherit}
    .container{
      width:100%;
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }

    /* Header */
    header{
      position:sticky; top:0; z-index:50;
      background: rgba(246,251,247,.72);
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(15,42,30,.08);
    }
    .nav-wrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 0;
    }
    .brand{
      display:flex; align-items:center; gap:10px; min-width:220px;
    }
    .brand img{
      width:46px; height:46px; object-fit:contain;
      border-radius:14px;
      background: rgba(255,255,255,.7);
      border:1px solid rgba(15,42,30,.10);
      box-shadow: 0 10px 25px rgba(32,182,122,.12);
    }
    .brand-title{
      display:flex; flex-direction:column; line-height:1.1;
    }
    .brand-title strong{font-size:14px; letter-spacing:.2px}
    .brand-title span{font-size:12px; color:var(--muted); margin-top:4px}

    nav{
      display:flex; align-items:center; gap:10px;
    }
    .menu{
      display:flex; align-items:center; gap:6px; flex-wrap:wrap;
    }
    .menu a{
      text-decoration:none;
      font-size:13px;
      padding:10px 10px;
      border-radius:999px;
      color:rgba(15,42,30,.86);
      border:1px solid transparent;
      transition: background .2s ease, border-color .2s ease, transform .2s ease;
      white-space:nowrap;
    }
    .menu a:hover{
      background: rgba(32,182,122,.10);
      border-color: rgba(32,182,122,.18);
      transform: translateY(-1px);
    }
    .nav-actions{
      display:flex; align-items:center; gap:10px;
      min-width:240px; justify-content:flex-end;
    }
    .btn{
      appearance:none;
      border:none;
      background: transparent;
      color:inherit;
      cursor:pointer;
      font:inherit;
    }
    .btn-primary{
      background: linear-gradient(135deg, var(--mint), #36c08f);
      color:#062214;
      padding:10px 14px;
      border-radius:999px;
      border:1px solid rgba(5,34,20,.18);
      box-shadow: 0 12px 28px rgba(32,182,122,.22);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
      font-weight:700;
      white-space:nowrap;
    }
    .btn-primary:hover{transform: translateY(-1px); box-shadow: 0 16px 35px rgba(32,182,122,.28); filter:saturate(1.05)}
    .btn-outline{
      border:1px solid rgba(15,42,30,.18);
      padding:10px 12px;
      border-radius:999px;
      color:rgba(15,42,30,.9);
      background: rgba(255,255,255,.6);
      backdrop-filter: blur(6px);
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      white-space:nowrap;
      font-weight:650;
      font-size:13px;
    }
    .btn-outline:hover{
      transform: translateY(-1px);
      background: rgba(255,255,255,.9);
      border-color: rgba(32,182,122,.26);
    }
    .icon{
      width:18px; height:18px; display:inline-block; vertical-align:-3px;
    }
    .hamburger{
      display:none;
      width:42px; height:42px;
      border-radius:12px;
      border:1px solid rgba(15,42,30,.16);
      background: rgba(255,255,255,.65);
      align-items:center; justify-content:center;
      cursor:pointer;
      transition: transform .2s ease, border-color .2s ease;
    }
    .hamburger:hover{transform: translateY(-1px); border-color: rgba(32,182,122,.25)}
    .hamburger .bars{
      width:18px; height:12px; position:relative;
    }
    .hamburger .bars span{
      position:absolute; left:0; right:0;
      height:2px; background: rgba(15,42,30,.75);
      border-radius:999px;
      transition: transform .2s ease, top .2s ease, opacity .2s ease;
    }
    .hamburger .bars span:nth-child(1){top:0}
    .hamburger .bars span:nth-child(2){top:5px}
    .hamburger .bars span:nth-child(3){top:10px}
    .hamburger[aria-expanded="true"] .bars span:nth-child(1){top:5px; transform: rotate(45deg)}
    .hamburger[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
    .hamburger[aria-expanded="true"] .bars span:nth-child(3){top:5px; transform: rotate(-45deg)}

    .mobile-panel{
      display:none;
      padding:0 0 12px;
    }
    .mobile-panel .panel-inner{
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.75);
      border-radius: 16px;
      padding:12px;
      box-shadow: 0 14px 34px rgba(12,40,26,.10);
    }
    .mobile-links{
      display:flex; flex-direction:column; gap:6px;
    }
    .mobile-links a{
      text-decoration:none;
      padding:12px 12px;
      border-radius:12px;
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.6);
      color: rgba(15,42,30,.9);
      font-weight:650;
      font-size:13px;
    }
    .mobile-links a:focus-visible{outline:none; box-shadow: var(--focus)}
    .mobile-actions{
      display:flex; gap:10px; margin-top:12px; flex-wrap:wrap;
    }
    .mobile-actions .btn-primary, .mobile-actions .btn-outline{flex:1; min-width:160px}

    /* Sections */
    main{padding-bottom:34px}
    .hero{
      padding:26px 0 12px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:18px;
      align-items:stretch;
    }
    .hero-card{
      background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.62));
      border:1px solid rgba(15,42,30,.10);
      border-radius: calc(var(--radius) + 6px);
      padding:22px;
      box-shadow: var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .hero-card:before{
      content:"";
      position:absolute; inset:-2px;
      background:
        radial-gradient(420px 220px at 25% 15%, rgba(32,182,122,.25), transparent 60%),
        radial-gradient(520px 260px at 80% 35%, rgba(47,185,167,.18), transparent 62%),
        linear-gradient(135deg, rgba(155,233,198,.28), rgba(255,255,255,0));
      pointer-events:none;
      filter:saturate(1.02);
    }
    .hero-card > *{position:relative}
    .kicker{
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
      color: rgba(15,42,30,.9);
      font-weight:750;
      font-size:13px;
    }
    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(32,182,122,.22);
      background: rgba(255,255,255,.62);
      backdrop-filter: blur(6px);
    }
    .dot{
      width:9px; height:9px; border-radius:50%;
      background: radial-gradient(circle at 30% 30%, #9cffd1, var(--mint));
      box-shadow: 0 0 0 6px rgba(32,182,122,.12);
    }
    .hero h1{
      margin:14px 0 10px;
      font-size:34px;
      letter-spacing: -0.6px;
      line-height:1.15;
    }
    .lead{
      color: rgba(15,42,30,.74);
      margin:0 0 16px;
      font-size:15px;
      line-height:1.7;
      max-width:58ch;
    }
    .hero-actions{
      display:flex; gap:12px; flex-wrap:wrap; align-items:center;
      margin-top:14px;
    }
    .hero-secondary{
      display:flex; gap:10px; align-items:center;
      color: rgba(15,42,30,.72);
      font-size:13px;
    }
    .hero-secondary .check{
      width:18px; height:18px;
      border-radius:6px;
      background: rgba(32,182,122,.14);
      border:1px solid rgba(32,182,122,.26);
      display:flex; align-items:center; justify-content:center;
      color: rgba(15,42,30,.9);
      flex:0 0 auto;
    }
    .hero-secondary span{white-space:nowrap}
    .hero-meta{
      margin-top:16px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:12px;
    }
    .meta-card{
      background: rgba(255,255,255,.62);
      border:1px solid rgba(15,42,30,.10);
      border-radius: 14px;
      padding:12px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .meta-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(12,40,26,.10);
      border-color: rgba(32,182,122,.22);
    }
    .meta-top{
      display:flex; align-items:center; gap:10px;
      margin-bottom:8px;
    }
    .badge-icon{
      width:34px; height:34px; border-radius:12px;
      background: linear-gradient(180deg, rgba(32,182,122,.20), rgba(47,185,167,.10));
      border:1px solid rgba(32,182,122,.22);
      display:flex; align-items:center; justify-content:center;
      color: rgba(15,42,30,.92);
      flex:0 0 auto;
    }
    .meta-card strong{
      display:block;
      font-size:15px;
      letter-spacing:.1px;
    }
    .meta-card span{
      color: rgba(15,42,30,.68);
      font-size:12.8px;
      line-height:1.4;
      display:block;
    }

    .hero-side{
      display:flex; flex-direction:column; gap:12px;
    }
    .side-card{
      background: rgba(255,255,255,.70);
      border:1px solid rgba(15,42,30,.10);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: 0 14px 34px rgba(12,40,26,.08);
      overflow:hidden;
      position:relative;
    }
    .side-card:after{
      content:"";
      position:absolute;
      width:240px; height:240px;
      right:-110px; top:-120px;
      background: radial-gradient(circle at 30% 30%, rgba(32,182,122,.22), transparent 60%);
      pointer-events:none;
    }
    .side-card > *{position:relative}
    .side-title{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-bottom:10px;
    }
    .side-title h2{margin:0; font-size:15px; letter-spacing:.2px}
    .spark{
      width:36px; height:36px; border-radius:14px;
      background: rgba(32,182,122,.12);
      border:1px solid rgba(32,182,122,.22);
      display:flex; align-items:center; justify-content:center;
      color: rgba(15,42,30,.92);
    }
    .token-list{
      display:grid; gap:10px;
      margin-top:8px;
    }
    .token-row{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      padding:10px 10px;
      border-radius:14px;
      background: rgba(251,255,252,.8);
      border:1px solid rgba(15,42,30,.08);
    }
    .token-row .left{
      display:flex; align-items:center; gap:10px;
      min-width:0;
    }
    .chip{
      width:34px; height:34px;
      border-radius:14px;
      border:1px solid rgba(32,182,122,.22);
      background: linear-gradient(180deg, rgba(155,233,198,.28), rgba(255,255,255,.55));
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .token-row strong{
      font-size:13.5px;
      display:block;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:150px;
    }
    .token-row span{
      color: rgba(15,42,30,.68);
      font-size:12.2px;
    }
    .token-row .cost{
      text-align:right;
      font-weight:800;
      letter-spacing:.2px;
      color: rgba(15,42,30,.92);
      font-size:14px;
    }
    .cost small{
      display:block;
      color: rgba(15,42,30,.62);
      font-weight:650;
      font-size:11.2px;
      margin-top:3px;
    }
    .progress{
      margin-top:10px;
      background: rgba(15,42,30,.06);
      border:1px solid rgba(15,42,30,.10);
      border-radius:999px;
      padding:3px;
    }
    .progress > i{
      display:block;
      height:8px;
      width:72%;
      border-radius:999px;
      background: linear-gradient(90deg, rgba(32,182,122,.92), rgba(47,185,167,.75));
      box-shadow: 0 10px 20px rgba(32,182,122,.18);
      animation: fillIn .9s ease both;
    }
    @keyframes fillIn{
      from{width:18%}
      to{width:72%}
    }
    .side-foot{
      margin-top:10px;
      display:flex; gap:10px; align-items:center; justify-content:space-between;
      color: rgba(15,42,30,.66);
      font-size:12.6px;
    }
    .side-foot a{
      text-decoration:none;
      font-weight:750;
      color: rgba(15,42,30,.92);
      border-bottom:1px dashed rgba(32,182,122,.4);
    }
    .side-foot a:hover{color:var(--accent)}

    /* Section base */
    section{
      padding:24px 0;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
      margin-bottom:14px;
      flex-wrap:wrap;
    }
    .section-title{
      display:flex; flex-direction:column; gap:8px;
    }
    .section-title h2{
      margin:0;
      font-size:22px;
      letter-spacing:-.2px;
    }
    .section-title p{
      margin:0;
      color: rgba(15,42,30,.70);
      line-height:1.7;
      font-size:13.8px;
      max-width:70ch;
    }
    .section-tag{
      display:flex; gap:10px; align-items:center; flex-wrap:wrap;
    }
    .tag{
      padding:8px 10px;
      border-radius:999px;
      background: rgba(32,182,122,.10);
      border:1px solid rgba(32,182,122,.20);
      color: rgba(15,42,30,.88);
      font-weight:750;
      font-size:12.5px;
      white-space:nowrap;
    }

    .grid-3{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .grid-2{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .card{
      background: rgba(255,255,255,.72);
      border:1px solid rgba(15,42,30,.10);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .card:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 44px rgba(12,40,26,.10);
      border-color: rgba(32,182,122,.22);
    }
    .card h3{margin:12px 0 8px; font-size:15.5px}
    .card p{margin:0; color: rgba(15,42,30,.70); line-height:1.75; font-size:13.4px}
    .card .toprow{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }
    .mini-ico{
      width:42px; height:42px;
      border-radius:16px;
      border:1px solid rgba(32,182,122,.22);
      background: linear-gradient(180deg, rgba(155,233,198,.32), rgba(255,255,255,.6));
      display:flex; align-items:center; justify-content:center;
      color: rgba(15,42,30,.92);
      flex:0 0 auto;
    }
    .card .meta{
      margin-top:12px;
      display:flex; flex-wrap:wrap; gap:8px;
    }
    .chip2{
      font-size:12.2px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(15,42,30,.12);
      background: rgba(251,255,252,.75);
      color: rgba(15,42,30,.80);
      font-weight:700;
    }

    /* Steps */
    .steps{
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap:14px;
    }
    .step{
      position:relative;
      overflow:hidden;
      padding:16px;
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .step:hover{transform: translateY(-2px); border-color: rgba(32,182,122,.22); box-shadow: 0 18px 44px rgba(12,40,26,.10)}
    .step .num{
      font-weight:900;
      font-size:13px;
      letter-spacing:.6px;
      color: rgba(15,42,30,.78);
      display:inline-flex; align-items:center; gap:8px;
    }
    .step .num i{
      width:26px; height:26px; border-radius:10px;
      background: rgba(32,182,122,.14);
      border:1px solid rgba(32,182,122,.22);
      display:inline-flex; align-items:center; justify-content:center;
      font-style:normal;
      color: rgba(15,42,30,.92);
    }
    .step h3{margin:10px 0 8px; font-size:15.5px}
    .step p{margin:0; color: rgba(15,42,30,.70); line-height:1.75; font-size:13.4px}
    .step:before{
      content:"";
      position:absolute; inset:auto -30% -40% auto;
      width:180px; height:180px;
      background: radial-gradient(circle at 30% 30%, rgba(32,182,122,.22), transparent 62%);
      transform: rotate(-12deg);
      pointer-events:none;
    }

    /* Compare table */
    .table-wrap{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      overflow:hidden;
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
    }
    .table-top{
      padding:14px 16px;
      border-bottom:1px solid rgba(15,42,30,.08);
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    }
    .scorebox{
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    }
    .stars{
      display:flex; gap:4px; align-items:center;
      padding:8px 10px;
      border-radius:999px;
      background: rgba(32,182,122,.10);
      border:1px solid rgba(32,182,122,.22);
      font-weight:900;
      letter-spacing:.2px;
    }
    .stars svg{width:16px; height:16px; color: rgba(32,182,122,.95)}
    .scorebox .num{
      font-size:14px;
      color: rgba(15,42,30,.78);
      font-weight:750;
    }
    table{
      width:100%;
      border-collapse:collapse;
      font-size:13.4px;
      color: rgba(15,42,30,.86);
      min-width: 720px;
    }
    th, td{
      border-bottom:1px solid rgba(15,42,30,.08);
      padding:12px 12px;
      text-align:left;
      vertical-align:top;
    }
    th{
      background: rgba(251,255,252,.9);
      color: rgba(15,42,30,.92);
      font-weight:900;
    }
    tr:last-child td{border-bottom:none}
    .good{
      display:inline-flex; align-items:center; gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background: rgba(32,182,122,.10);
      border:1px solid rgba(32,182,122,.22);
      font-weight:800;
      white-space:nowrap;
    }
    .neutral{
      display:inline-flex; align-items:center; gap:8px;
      padding:7px 10px;
      border-radius:999px;
      background: rgba(15,42,30,.05);
      border:1px solid rgba(15,42,30,.12);
      font-weight:800;
      white-space:nowrap;
      color: rgba(15,42,30,.78);
    }
    .hint{
      color: rgba(15,42,30,.68);
      font-size:12.2px;
      line-height:1.6;
      margin-top:10px;
      padding:0 6px 12px;
    }
    .table-scroll{overflow:auto}

    /* FAQ */
    .faq-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      align-items:start;
    }
    .faq-card{
      background: rgba(255,255,255,.72);
      border:1px solid rgba(15,42,30,.10);
      border-radius: var(--radius);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      overflow:hidden;
    }
    details{
      border-bottom:1px solid rgba(15,42,30,.08);
      padding:0;
    }
    details:last-child{border-bottom:none}
    summary{
      list-style:none;
      cursor:pointer;
      padding:14px 16px;
      display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
      font-weight:900;
      color: rgba(15,42,30,.92);
    }
    summary::-webkit-details-marker{display:none}
    .sum-right{
      display:flex; align-items:center; gap:10px;
      color: rgba(15,42,30,.62);
      font-weight:800;
      font-size:12.5px;
      padding-top:2px;
      flex:0 0 auto;
    }
    .chev{
      width:28px; height:28px;
      border-radius:12px;
      background: rgba(32,182,122,.10);
      border:1px solid rgba(32,182,122,.20);
      display:flex; align-items:center; justify-content:center;
      transition: transform .2s ease;
    }
    details[open] .chev{transform: rotate(180deg)}
    .faq-answer{
      padding:0 16px 14px;
      color: rgba(15,42,30,.70);
      line-height:1.75;
      font-size:13.4px;
    }
    .faq-answer p{margin:0}
    .faq-cta{
      margin-top:14px;
      display:flex; gap:12px; flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
    }
    .faq-cta .left{
      display:flex; flex-direction:column; gap:6px;
    }
    .faq-cta strong{font-size:15px}
    .faq-cta span{color: rgba(15,42,30,.70); font-size:13.2px; line-height:1.6}
    .faq-cta .right{display:flex; gap:10px; flex-wrap:wrap}

    /* Comments */
    .comment-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .comment{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:16px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .comment:hover{transform: translateY(-2px); border-color: rgba(32,182,122,.22); box-shadow: 0 18px 44px rgba(12,40,26,.10)}
    .comment .who{
      display:flex; align-items:center; gap:10px; justify-content:space-between;
      margin-bottom:10px;
    }
    .avatar{
      width:40px; height:40px; border-radius:16px;
      border:1px solid rgba(32,182,122,.22);
      background: linear-gradient(180deg, rgba(155,233,198,.34), rgba(255,255,255,.65));
      display:flex; align-items:center; justify-content:center;
      color: rgba(15,42,30,.92);
      font-weight:950;
      letter-spacing:.4px;
      flex:0 0 auto;
    }
    .role{
      display:flex; flex-direction:column; gap:4px;
      min-width:0;
      flex:1 1 auto;
    }
    .role strong{font-size:14px}
    .role span{font-size:12.4px; color: rgba(15,42,30,.66); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
    .rate{
      display:flex; gap:3px; align-items:center;
      color: rgba(32,182,122,.95);
      font-weight:900;
      white-space:nowrap;
    }
    .quote{
      margin:0;
      color: rgba(15,42,30,.72);
      line-height:1.75;
      font-size:13.4px;
    }

    /* Case + articles + timeline */
    .case-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:14px;
    }
    .case{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      overflow:hidden;
      display:flex; flex-direction:column;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .case:hover{transform: translateY(-2px); border-color: rgba(32,182,122,.22); box-shadow: 0 18px 44px rgba(12,40,26,.10)}
    .case-media{
      padding:14px 14px 0;
    }
    .media-box{
      border-radius: 16px;
      border:1px solid rgba(15,42,30,.08);
      background: linear-gradient(180deg, rgba(251,255,252,.9), rgba(255,255,255,.7));
      aspect-ratio: 4/3;
      display:flex; align-items:center; justify-content:center;
      overflow:hidden;
      position:relative;
    }
    .media-box img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:saturate(1.02);
      transform: scale(1.01);
    }
    .media-box:after{
      content:"";
      position:absolute; inset:0;
      background: radial-gradient(260px 140px at 20% 10%, rgba(32,182,122,.18), transparent 55%);
      pointer-events:none;
    }
    .case-body{
      padding:14px 14px 16px;
      display:flex; flex-direction:column; gap:10px;
      flex:1 1 auto;
    }
    .case-title{
      display:flex; gap:10px; align-items:flex-start; justify-content:space-between;
    }
    .case-body h3{margin:0; font-size:15.6px}
    .case-body p{margin:0; color: rgba(15,42,30,.70); line-height:1.75; font-size:13.4px}
    .case-tags{
      display:flex; flex-wrap:wrap; gap:8px;
      margin-top:auto;
    }
    .case-tags .chip2{background: rgba(32,182,122,.08); border-color: rgba(32,182,122,.18)}
    .link-row{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      margin-top:10px;
    }
    .small-link{
      text-decoration:none;
      font-weight:850;
      font-size:13px;
      color: rgba(15,42,30,.92);
      border-bottom: 1px dashed rgba(32,182,122,.45);
      padding-bottom:2px;
    }
    .small-link:hover{color: var(--accent)}
    .meta-small{
      color: rgba(15,42,30,.64);
      font-size:12.3px;
      white-space:nowrap;
    }

    .article-list{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
    }
    .article{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:14px 14px 16px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
      display:flex; flex-direction:column; gap:10px;
    }
    .article:hover{transform: translateY(-2px); border-color: rgba(32,182,122,.22); box-shadow: 0 18px 44px rgba(12,40,26,.10)}
    .article .row{
      display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
    }
    .article h3{margin:0; font-size:15.3px; line-height:1.35}
    .article p{margin:0; color: rgba(15,42,30,.70); line-height:1.7; font-size:13.2px}
    .article .foot{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-top:auto;
    }
    .date{
      color: rgba(15,42,30,.62);
      font-size:12.2px;
      font-weight:700;
    }

    .network-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:14px;
      align-items:start;
    }
    .map-card{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:16px;
      overflow:hidden;
      position:relative;
    }
    .map-card:before{
      content:"";
      position:absolute; inset:-40px -80px auto auto;
      width:320px; height:220px;
      background: radial-gradient(circle at 30% 30%, rgba(32,182,122,.22), transparent 62%);
      pointer-events:none;
    }
    .map-card > *{position:relative}
    .map-title{
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    }
    .map-title h3{margin:0; font-size:15.7px}
    .map-title span{color: rgba(15,42,30,.66); font-size:12.9px; font-weight:750}
    .network-stats{
      margin-top:12px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:10px;
    }
    .stat{
      border-radius: 16px;
      border:1px solid rgba(15,42,30,.10);
      background: rgba(251,255,252,.9);
      padding:12px;
    }
    .stat strong{display:block; font-size:16px}
    .stat span{display:block; color: rgba(15,42,30,.66); font-size:12.4px; margin-top:4px; line-height:1.4}
    .route{
      margin-top:14px;
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .route-step{
      display:flex; gap:10px; align-items:flex-start;
      padding:12px;
      border-radius: 16px;
      border:1px solid rgba(15,42,30,.08);
      background: rgba(255,255,255,.6);
    }
    .route-step .mark{
      width:34px; height:34px; border-radius:14px;
      background: rgba(32,182,122,.12);
      border:1px solid rgba(32,182,122,.22);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .route-step strong{display:block; font-size:13.8px}
    .route-step span{display:block; color: rgba(15,42,30,.66); font-size:12.7px; line-height:1.6; margin-top:4px}

    .timeline{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:16px;
      overflow:hidden;
    }
    .timeline h3{margin:0 0 12px; font-size:15.7px}
    .timeline-list{
      display:grid; gap:10px;
    }
    .titem{
      display:flex; gap:12px; align-items:flex-start;
      padding:12px;
      border-radius: 16px;
      border:1px solid rgba(15,42,30,.08);
      background: rgba(251,255,252,.9);
    }
    .titem .tbullet{
      width:34px; height:34px; border-radius:14px;
      background: rgba(32,182,122,.14);
      border:1px solid rgba(32,182,122,.24);
      display:flex; align-items:center; justify-content:center;
      font-weight:950;
      flex:0 0 auto;
    }
    .titem strong{display:block; font-size:13.8px}
    .titem span{display:block; color: rgba(15,42,30,.66); font-size:12.7px; line-height:1.6; margin-top:4px}

    /* Form */
    .form-wrap{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:16px;
      overflow:hidden;
      position:relative;
    }
    .form-wrap:before{
      content:"";
      position:absolute; inset:-2px auto auto -2px;
      width:260px; height:160px;
      background: radial-gradient(circle at 30% 30%, rgba(32,182,122,.18), transparent 60%);
      pointer-events:none;
    }
    .form-wrap > *{position:relative}
    .form-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:12px;
      margin-top:12px;
    }
    label{display:flex; flex-direction:column; gap:7px; font-weight:850; font-size:12.8px; color: rgba(15,42,30,.86)}
    input, select, textarea{
      width:100%;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid rgba(15,42,30,.14);
      background: rgba(255,255,255,.85);
      color: rgba(15,42,30,.92);
      font-size:14px;
      outline:none;
      transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
    }
    textarea{min-height:110px; resize:vertical}
    input:focus, select:focus, textarea:focus{
      border-color: rgba(32,182,122,.42);
      box-shadow: var(--focus);
      background: rgba(255,255,255,1);
    }
    .form-foot{
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
      margin-top:12px;
    }
    .form-note{
      color: rgba(15,42,30,.66);
      font-size:12.6px;
      line-height:1.6;
      max-width:52ch;
    }

    /* Footer */
    footer{
      margin-top:10px;
      background: linear-gradient(180deg, rgba(246,251,247,.92), rgba(255,255,255,1));
      border-top:1px solid rgba(15,42,30,.10);
      padding:18px 0 24px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:14px;
      align-items:start;
    }
    .foot-card{
      border-radius: var(--radius);
      border:1px solid rgba(15,42,30,.10);
      background: rgba(255,255,255,.72);
      box-shadow: 0 14px 34px rgba(12,40,26,.06);
      padding:16px;
    }
    .foot-title{
      display:flex; align-items:center; gap:10px;
      margin-bottom:10px;
    }
    .foot-title strong{font-size:15.6px}
    .foot-title span{color: rgba(15,42,30,.64); font-size:12.7px; font-weight:750}
    .foot-links{
      display:flex; flex-wrap:wrap; gap:10px; margin-top:10px;
    }
    .foot-links a{
      text-decoration:none;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(15,42,30,.12);
      background: rgba(251,255,252,.9);
      color: rgba(15,42,30,.86);
      font-weight:800;
      font-size:12.6px;
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
      white-space:nowrap;
    }
    .foot-links a:hover{transform: translateY(-1px); border-color: rgba(32,182,122,.25); background: rgba(255,255,255,.95)}
    .copyright{
      margin-top:12px;
      color: rgba(15,42,30,.62);
      font-size:12.6px;
      line-height:1.7;
      display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between;
    }

    /* Floating客服 */
    .float-cta{
      position:fixed;
      right:14px;
      bottom:16px;
      z-index:60;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
      pointer-events:none;
    }
    .float-cta .bubble{
      pointer-events:auto;
      display:flex; align-items:center; gap:10px;
      padding:12px 12px;
      border-radius: 18px;
      border:1px solid rgba(15,42,30,.12);
      background: rgba(255,255,255,.82);
      box-shadow: 0 18px 50px rgba(12,40,26,.16);
      backdrop-filter: blur(10px);
      max-width: 280px;
      opacity:0;
      transform: translateY(10px);
      animation: floatIn .7s ease .25s forwards;
    }
    @keyframes floatIn{
      to{opacity:1; transform: translateY(0)}
    }
    .bubble .qrcode{
      width:42px; height:42px;
      border-radius:16px;
      background: rgba(32,182,122,.12);
      border:1px solid rgba(32,182,122,.22);
      display:flex; align-items:center; justify-content:center;
      flex:0 0 auto;
    }
    .bubble .text{
      display:flex; flex-direction:column; gap:4px;
      min-width:0;
    }
    .bubble .text strong{font-size:13.8px}
    .bubble .text span{font-size:12.5px; color: rgba(15,42,30,.66); line-height:1.35}
    .bubble .actions{
      display:flex; gap:10px; align-items:center; margin-left:auto;
    }
    .bubble a{
      text-decoration:none;
      font-weight:900;
      font-size:12.8px;
      padding:10px 12px;
      border-radius: 14px;
      border:1px solid rgba(32,182,122,.22);
      background: rgba(32,182,122,.10);
      color: rgba(15,42,30,.92);
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
      white-space:nowrap;
    }
    .bubble a:hover{transform: translateY(-1px); background: rgba(32,182,122,.14); border-color: rgba(32,182,122,.30)}
    .to-top{
      pointer-events:auto;
      width:46px; height:46px;
      border-radius: 18px;
      border:1px solid rgba(15,42,30,.12);
      background: rgba(255,255,255,.82);
      box-shadow: 0 18px 50px rgba(12,40,26,.12);
      backdrop-filter: blur(10px);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer;
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .to-top:hover{transform: translateY(-2px); border-color: rgba(32,182,122,.25); background: rgba(255,255,255,.95)}
    .to-top svg{width:18px; height:18px; color: rgba(15,42,30,.9)}

    /* Reveal */
    [data-reveal]{opacity:0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease}
    [data-reveal].in{opacity:1; transform: translateY(0)}
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      [data-reveal]{transition:none; opacity:1; transform:none}
      .progress > i{animation:none}
      .float-cta .bubble{animation:none; opacity:1; transform:none}
    }

    /* Responsive */
    @media (max-width: 980px){
      .hero-grid{grid-template-columns: 1fr; }
      .nav-actions{min-width:auto}
      .steps{grid-template-columns: repeat(2, minmax(0,1fr))}
      .grid-3{grid-template-columns: repeat(2, minmax(0,1fr))}
      .comment-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
      .case-grid{grid-template-columns: repeat(2, minmax(0,1fr))}
      .faq-grid{grid-template-columns: 1fr}
      .network-grid{grid-template-columns: 1fr}
      .article-list{grid-template-columns: 1fr}
      table{min-width: 640px}
    }
    @media (max-width: 760px){
      .menu{display:none}
      .nav-actions .btn-outline{display:none}
      .hamburger{display:flex}
      .mobile-panel{display:block}
      .hero h1{font-size:28px}
      .hero-meta{grid-template-columns: 1fr; }
      .grid-3{grid-template-columns: 1fr}
      .steps{grid-template-columns: 1fr}
      .comment-grid{grid-template-columns: 1fr}
      .case-grid{grid-template-columns: 1fr}
      .form-grid{grid-template-columns: 1fr}
      .float-cta{right:10px; bottom:12px}
      .float-cta .bubble{max-width:240px}
      .footer-grid{grid-template-columns: 1fr}
      .nav-wrap{padding:10px 0}
    }