:root{
      --bg0:#f6fbf8;
      --bg1:#eef7f1;
      --card:#ffffff;
      --text:#1f2a24;
      --muted:#53645b;
      --subtle:#6f8278;
      --line:rgba(17,24,39,.10);
      --line2:rgba(17,24,39,.14);
      --mint:#2fbf84;
      --mint2:#19a36e;
      --mint3:#8fe8c9;
      --leaf:#66d39f;
      --sea:#2a8f77;
      --btn:#0f7a5f;
      --btn2:#0b5e47;
      --focus: rgba(47,191,132,.24);
      --shadow: 0 14px 40px rgba(16, 185, 129, .12);
      --shadow2: 0 10px 28px rgba(17,24,39,.10);
      --radius:18px;
      --radius2:14px;
      --radius3:12px;
      --container: 1120px;
    }
    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC","Hiragino Sans GB","Microsoft YaHei", "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
      color:var(--text);
      background:
        radial-gradient(900px 440px at 12% 0%, rgba(47,191,132,.18), transparent 55%),
        radial-gradient(760px 360px at 92% 6%, rgba(143,232,201,.20), transparent 52%),
        linear-gradient(180deg, var(--bg0), #ffffff 55%, #f7fbfa 100%);
      overflow-x:hidden;
    }
    a{ color:inherit; text-decoration:none; }
    .container{
      width:100%;
      max-width: var(--container);
      margin:0 auto;
      padding:0 18px;
    }

    /* Top nav */
    .topbar{
      position: sticky;
      top:0;
      z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(246, 251, 248, .72);
      border-bottom: 1px solid rgba(17,24,39,.08);
    }
    .navwrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      min-width: 240px;
    }
    .brand img{
      width:36px;
      height:36px;
      object-fit:contain;
      border-radius:12px;
      background: rgba(47,191,132,.10);
      padding:6px;
      border:1px solid rgba(47,191,132,.18);
    }
    .brandtext{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brandtext .name{
      font-weight:800;
      letter-spacing:.2px;
      font-size:15px;
    }
    .brandtext .sub{
      font-size:12px;
      color:var(--muted);
      margin-top:4px;
      white-space:nowrap;
    }
    .navlinks{
      display:flex;
      align-items:center;
      gap:14px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .navlinks a{
      font-size:13px;
      color:rgba(31,42,36,.86);
      padding:8px 10px;
      border-radius:999px;
      border:1px solid transparent;
      transition: transform .15s ease, background .15s ease, border-color .15s ease;
      white-space:nowrap;
    }
    .navlinks a:hover{
      background: rgba(47,191,132,.08);
      border-color: rgba(47,191,132,.18);
      transform: translateY(-1px);
    }
    .navcta{
      display:flex;
      align-items:center;
      gap:10px;
      margin-left:10px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      border-radius:999px;
      padding:10px 14px;
      font-weight:700;
      font-size:14px;
      border:1px solid rgba(15,122,95,.22);
      background: rgba(47,191,132,.10);
      color: var(--btn);
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
      cursor:pointer;
      user-select:none;
    }
    .btn:hover{
      transform: translateY(-1px);
      box-shadow: 0 12px 30px rgba(15,122,95,.18);
      background: rgba(47,191,132,.14);
      border-color: rgba(15,122,95,.35);
    }
    .btn.primary{
      background: linear-gradient(135deg, var(--btn) 0%, var(--btn2) 100%);
      color:#fff;
      border-color: rgba(0,0,0,0);
      box-shadow: 0 16px 40px rgba(15,122,95,.24);
    }
    .btn.primary:hover{
      box-shadow: 0 18px 52px rgba(11,94,71,.28);
      background: linear-gradient(135deg, #0b7a5b 0%, var(--btn2) 100%);
    }
    .btn.ghost{
      background: rgba(255,255,255,.60);
      border-color: rgba(17,24,39,.12);
      color: var(--text);
    }
    .icon{
      width:18px;
      height:18px;
      display:inline-block;
    }

    .hamburger{
      display:none;
      width:44px;
      height:44px;
      border-radius:12px;
      background: rgba(255,255,255,.70);
      border:1px solid rgba(17,24,39,.10);
      cursor:pointer;
      align-items:center;
      justify-content:center;
      transition: transform .15s ease;
    }
    .hamburger:active{ transform: scale(.98); }
    .hamburger svg{ width:20px; height:20px; }
    .mobilepanel{
      display:none;
      padding: 0 0 14px 0;
    }
    .mobilemenu{
      margin-top:10px;
      background: rgba(255,255,255,.78);
      border:1px solid rgba(17,24,39,.10);
      border-radius: 16px;
      padding:12px;
    }
    .mobilemenu a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:12px 12px;
      border-radius: 14px;
      color: rgba(31,42,36,.92);
      border:1px solid transparent;
      transition: background .15s ease, border-color .15s ease, transform .15s ease;
      font-weight:650;
      font-size:14px;
    }
    .mobilemenu a:hover{
      background: rgba(47,191,132,.08);
      border-color: rgba(47,191,132,.18);
      transform: translateY(-1px);
    }
    .mobileactions{
      display:flex;
      gap:10px;
      margin-top:12px;
      flex-wrap:wrap;
    }

    /* Hero */
    .hero{
      padding:34px 0 10px;
      position:relative;
    }
    .heroGrid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:18px;
      align-items:stretch;
    }
    .herocard{
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
      border: 1px solid rgba(17,24,39,.10);
      border-radius: var(--radius);
      box-shadow: var(--shadow2);
      padding:22px;
      position:relative;
      overflow:hidden;
      min-height: 360px;
    }
    .herocard:before{
      content:"";
      position:absolute;
      inset:-60px -80px auto -100px;
      height:240px;
      background:
        radial-gradient(closest-side, rgba(47,191,132,.22), transparent 66%),
        radial-gradient(closest-side, rgba(143,232,201,.24), transparent 70%);
      transform: rotate(-6deg);
      pointer-events:none;
    }
    .heroKicker{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      position:relative;
      z-index:2;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius: 999px;
      border:1px solid rgba(47,191,132,.20);
      background: rgba(47,191,132,.10);
      color: rgba(15,122,95,.95);
      font-weight:800;
      font-size:13px;
      letter-spacing:.2px;
    }
    .pill .dot{
      width:8px; height:8px; border-radius:50%;
      background: var(--mint);
      box-shadow: 0 0 0 6px rgba(47,191,132,.14);
    }
    .heroTitle{
      margin:14px 0 0;
      font-size: 40px;
      line-height:1.10;
      letter-spacing:-.6px;
      font-weight:900;
      position:relative;
      z-index:2;
      color:#1a2a22;
    }
    .heroTitle em{
      font-style:normal;
      color: var(--btn);
      background: linear-gradient(90deg, rgba(47,191,132,.16), rgba(47,191,132,.00));
      padding:0 6px 3px;
      border-radius: 12px;
      border:1px solid rgba(47,191,132,.16);
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
    }
    .heroLead{
      margin:14px 0 0;
      color: var(--muted);
      font-size: 15px;
      line-height:1.8;
      max-width: 62ch;
      position:relative;
      z-index:2;
    }
    .heroActions{
      margin-top:18px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
      position:relative;
      z-index:2;
    }
    .fineprint{
      margin-top:14px;
      color: rgba(83,100,91,.95);
      font-size: 12.5px;
      line-height:1.6;
      position:relative;
      z-index:2;
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      align-items:center;
    }
    .fineprint span{
      display:inline-flex;
      gap:8px;
      align-items:center;
      padding:8px 10px;
      border-radius: 999px;
      border: 1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.55);
    }
    .spark{
      width:18px; height:18px;
    }

    .sidecard{
      background: rgba(255,255,255,.66);
      border:1px solid rgba(17,24,39,.10);
      border-radius: var(--radius);
      padding:18px;
      box-shadow: 0 10px 26px rgba(17,24,39,.08);
      overflow:hidden;
      min-height: 360px;
      position:relative;
    }
    .sidecard:after{
      content:"";
      position:absolute;
      right:-80px;
      top:-120px;
      width:240px; height:240px;
      background: radial-gradient(closest-side, rgba(47,191,132,.22), transparent 68%);
      pointer-events:none;
    }
    .sideHead{
      position:relative;
      z-index:2;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .sideHead h2{
      margin:0;
      font-size:16px;
      font-weight:900;
      color:#183028;
      letter-spacing:.2px;
    }
    .sideHead p{
      margin:6px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height:1.6;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius: 999px;
      background: rgba(47,191,132,.10);
      border: 1px solid rgba(47,191,132,.22);
      color: rgba(15,122,95,.98);
      font-weight:900;
      font-size: 12px;
      white-space:nowrap;
    }
    .stats{
      margin-top:14px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      position:relative;
      z-index:2;
    }
    .stat{
      border-radius: 16px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.64);
      padding:14px 14px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .stat:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 42px rgba(16,185,129,.10);
      border-color: rgba(47,191,132,.22);
    }
    .stat .num{
      font-size:22px;
      font-weight:1000;
      letter-spacing:-.3px;
      color:#153126;
    }
    .stat .lab{
      margin-top:6px;
      color: var(--muted);
      font-size: 13px;
      line-height:1.4;
      font-weight:650;
    }
    .miniList{
      margin-top:14px;
      padding-top:14px;
      border-top: 1px solid rgba(17,24,39,.08);
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .miniItem{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .miniIcon{
      width:34px; height:34px;
      border-radius: 12px;
      display:flex;
      align-items:center;
      justify-content:center;
      background: rgba(47,191,132,.10);
      border:1px solid rgba(47,191,132,.18);
      flex:0 0 auto;
    }
    .miniItem .t{
      font-weight:900;
      font-size:13.5px;
      letter-spacing:.1px;
      color:#173229;
      margin-top:2px;
    }
    .miniItem .d{
      margin-top:5px;
      color: var(--muted);
      font-size: 12.8px;
      line-height:1.55;
    }

    /* Section base */
    section{
      padding: 46px 0;
    }
    .sectionHead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
    }
    .sectionHead h2{
      margin:0;
      font-size: 26px;
      letter-spacing:-.4px;
      font-weight:1000;
      color:#162a22;
    }
    .sectionHead p{
      margin:0;
      color: var(--muted);
      line-height:1.8;
      font-size: 14px;
      max-width: 62ch;
    }
    .tagRow{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:10px;
    }
    .tag{
      padding:8px 12px;
      border-radius: 999px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.65);
      color: rgba(31,42,36,.9);
      font-size: 13px;
      font-weight:750;
      transition: transform .15s ease, border-color .15s ease;
    }
    .tag:hover{
      transform: translateY(-1px);
      border-color: rgba(47,191,132,.24);
    }

    .grid3{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .grid2{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:14px;
    }
    .card{
      background: rgba(255,255,255,.70);
      border:1px solid rgba(17,24,39,.10);
      border-radius: var(--radius2);
      padding:16px;
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .card:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 42px rgba(16,185,129,.10);
      border-color: rgba(47,191,132,.24);
    }
    .card h3{
      margin:0;
      font-size:16px;
      font-weight:950;
      color:#143024;
      letter-spacing:-.2px;
    }
    .card p{
      margin:10px 0 0;
      color: var(--muted);
      line-height:1.8;
      font-size: 13.5px;
    }
    .card .meta{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 10px;
      border-radius: 999px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.62);
      color: rgba(31,42,36,.92);
      font-weight:800;
      font-size: 12.5px;
    }
    .chip .c{
      width:8px; height:8px; border-radius:50%;
      background: rgba(47,191,132,.90);
      box-shadow: 0 0 0 6px rgba(47,191,132,.12);
    }

    /* Process */
    .steps{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:14px;
    }
    .step{
      position:relative;
      overflow:hidden;
    }
    .step:before{
      content:"";
      position:absolute;
      inset:-1px;
      background: linear-gradient(135deg, rgba(47,191,132,.16), rgba(255,255,255,0) 55%);
      opacity:.65;
      pointer-events:none;
    }
    .step .top{
      position:relative;
      z-index:2;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
    }
    .step .idx{
      font-weight:1000;
      font-size: 12.5px;
      color: rgba(15,122,95,.95);
      background: rgba(47,191,132,.10);
      border: 1px solid rgba(47,191,132,.22);
      border-radius: 999px;
      padding: 8px 10px;
      white-space:nowrap;
    }
    .step h3{ position:relative; z-index:2; }
    .step .desc{ position:relative; z-index:2; }

    /* Compare */
    .compareWrap{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:14px;
      align-items:start;
    }
    .tableWrap{
      overflow:auto;
      border-radius: 16px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
    }
    table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      min-width: 720px;
      font-size: 14px;
    }
    th, td{
      padding:14px 14px;
      border-bottom:1px solid rgba(17,24,39,.08);
      vertical-align:top;
    }
    th{
      background: rgba(47,191,132,.10);
      color:#123026;
      font-weight:1000;
      text-align:left;
      position:sticky;
      top:0;
      z-index:2;
      border-bottom:1px solid rgba(17,24,39,.10);
    }
    tr:last-child td{ border-bottom:none; }
    .scoreCell{
      display:flex;
      align-items:center;
      gap:12px;
    }
    .starRow{
      display:flex;
      gap:3px;
      align-items:center;
    }
    .star{
      width:16px; height:16px;
      fill: rgba(47,191,132,.95);
      filter: drop-shadow(0 6px 16px rgba(47,191,132,.18));
    }
    .scoreBig{
      font-weight:1100;
      font-size: 22px;
      letter-spacing:-.4px;
      color:#0f3a2e;
    }
    .rightPanel{
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .ratingCard{
      padding:18px;
      border-radius: var(--radius2);
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
      position:relative;
      overflow:hidden;
    }
    .ratingCard:before{
      content:"";
      position:absolute;
      inset:-60px -80px auto auto;
      width:240px; height:240px;
      background: radial-gradient(closest-side, rgba(47,191,132,.22), transparent 68%);
      pointer-events:none;
      transform: rotate(10deg);
    }
    .ratingCard .inner{
      position:relative;
      z-index:2;
    }
    .ratingCard .head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .ratingCard h3{
      margin:0;
      font-size:16px;
      font-weight:1000;
      letter-spacing:-.2px;
    }
    .ratingCard p{
      margin:10px 0 0;
      color: var(--muted);
      line-height:1.8;
      font-size: 13.5px;
    }
    .kpiRow{
      margin-top:14px;
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:12px;
    }
    .kpi{
      border-radius: 14px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.62);
      padding:12px;
    }
    .kpi .v{
      font-weight:1100;
      font-size: 16px;
      letter-spacing:-.2px;
      color:#123026;
    }
    .kpi .l{
      margin-top:6px;
      color: var(--muted);
      font-size: 12.8px;
      line-height:1.5;
      font-weight:700;
    }
    .actionCard{
      padding:18px;
      border-radius: var(--radius2);
      border:1px solid rgba(17,24,39,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.64));
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
      position:relative;
      overflow:hidden;
    }
    .actionCard:before{
      content:"";
      position:absolute;
      left:-120px; bottom:-140px;
      width:260px; height:260px;
      background: radial-gradient(closest-side, rgba(143,232,201,.30), transparent 70%);
      pointer-events:none;
    }
    .actionCard .in{
      position:relative;
      z-index:2;
    }
    .actionCard h3{
      margin:0;
      font-size:16px;
      font-weight:1000;
    }
    .actionCard p{
      margin:10px 0 0;
      color: var(--muted);
      line-height:1.8;
      font-size: 13.5px;
    }
    .actionCard .row{
      margin-top:14px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }

    /* Reviews */
    .reviewGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .quote{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .avatar{
      width:42px; height:42px;
      border-radius: 16px;
      background: rgba(47,191,132,.10);
      border: 1px solid rgba(47,191,132,.18);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      font-weight:1000;
      color: rgba(15,122,95,.98);
    }
    .quote h3{
      margin:0;
      font-size:15.5px;
      font-weight:950;
      letter-spacing:-.2px;
    }
    .quote p{
      margin:8px 0 0;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.85;
    }
    .reviewMeta{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .reviewMeta .chip{ background: rgba(255,255,255,.58); }

    /* Case */
    .caseGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .caseCard{
      padding:0;
      overflow:hidden;
    }
    .caseMedia{
      padding:14px;
      border-bottom: 1px solid rgba(17,24,39,.08);
      background:
        radial-gradient(480px 160px at 10% 0%, rgba(47,191,132,.18), transparent 60%),
        linear-gradient(180deg, rgba(47,191,132,.10), rgba(255,255,255,.55));
    }
    .caseMedia .imgBox{
      border-radius: 14px;
      overflow:hidden;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.7);
    }
    .caseMedia img{
      width:100%;
      height:auto;
      display:block;
      object-fit:cover;
    }
    .caseBody{
      padding:14px 16px 16px;
    }
    .caseBody h3{
      margin:0;
      font-size:16px;
      font-weight:1000;
      letter-spacing:-.2px;
    }
    .caseBody p{
      margin:10px 0 0;
      color: var(--muted);
      line-height:1.85;
      font-size: 13.5px;
    }
    .caseFoot{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }

    /* News + articles */
    .articleLayout{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:14px;
      align-items:start;
    }
    .articleList{
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .articleItem{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 14px;
      border-radius: 16px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.68);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .articleItem:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 42px rgba(16,185,129,.10);
      border-color: rgba(47,191,132,.24);
    }
    .articleItem .thumb{
      width:46px; height:46px;
      border-radius: 16px;
      background: rgba(47,191,132,.10);
      border:1px solid rgba(47,191,132,.18);
      flex:0 0 auto;
      display:flex;
      align-items:center;
      justify-content:center;
      color: rgba(15,122,95,.98);
      font-weight:1100;
      letter-spacing:-.3px;
    }
    .articleItem .content{
      flex:1 1 auto;
      min-width:0;
    }
    .articleItem .title{
      font-weight:1000;
      letter-spacing:-.2px;
      font-size:14.5px;
      margin:0;
      color:#143024;
      line-height:1.5;
    }
    .articleItem .desc{
      margin:7px 0 0;
      color: var(--muted);
      line-height:1.7;
      font-size: 13px;
    }
    .articleItem .arrow{
      width:28px; height:28px;
      border-radius: 12px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.55);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      margin-top:2px;
    }
    .sideInfo{
      padding:16px;
      border-radius: var(--radius2);
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
      position:relative;
      overflow:hidden;
    }
    .sideInfo:before{
      content:"";
      position:absolute;
      inset:-80px auto auto -100px;
      width:240px; height:240px;
      background: radial-gradient(closest-side, rgba(47,191,132,.18), transparent 68%);
      pointer-events:none;
      transform: rotate(-6deg);
    }
    .sideInfo .in{
      position:relative;
      z-index:2;
    }
    .sideInfo h3{
      margin:0;
      font-size:16px;
      font-weight:1000;
      letter-spacing:-.2px;
    }
    .sideInfo p{
      margin:10px 0 0;
      color: var(--muted);
      font-size:13.5px;
      line-height:1.85;
    }
    .linkList{
      margin-top:14px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .linkRow{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.62);
      transition: transform .18s ease, border-color .18s ease;
    }
    .linkRow:hover{
      transform: translateY(-2px);
      border-color: rgba(47,191,132,.24);
    }
    .linkRow span{
      color: rgba(31,42,36,.9);
      font-weight:900;
      font-size:13.5px;
    }
    .linkRow a{
      color: rgba(15,122,95,.98);
      font-weight:950;
      font-size:13.5px;
      white-space:nowrap;
    }

    /* Form */
    .formGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      margin-top:14px;
    }
    label{
      display:flex;
      flex-direction:column;
      gap:8px;
      font-weight:900;
      font-size: 13px;
      color:#1a2a22;
    }
    input, select, textarea{
      width:100%;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid rgba(17,24,39,.12);
      background: rgba(255,255,255,.78);
      color: var(--text);
      outline:none;
      transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
      font-size:14px;
    }
    textarea{ min-height: 120px; resize: vertical; }
    input:focus, select:focus, textarea:focus{
      border-color: rgba(47,191,132,.40);
      box-shadow: 0 0 0 4px var(--focus);
      background: rgba(255,255,255,.92);
    }
    .formRow{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
      margin-top:12px;
    }
    .formHint{
      color: var(--muted);
      font-size: 12.8px;
      line-height:1.6;
      margin:0;
    }

    /* FAQ */
    .faqWrap{
      border-radius: var(--radius);
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.68);
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
      overflow:hidden;
    }
    .faqItem{
      border-top:1px solid rgba(17,24,39,.08);
    }
    .faqItem:first-child{ border-top:none; }
    .faqBtn{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:16px 16px;
      background: transparent;
      border:none;
      cursor:pointer;
      text-align:left;
      color: var(--text);
      font-weight:950;
      letter-spacing:-.2px;
      font-size: 14.5px;
    }
    .faqBtn:focus{
      outline: none;
      box-shadow: inset 0 0 0 3px rgba(47,191,132,.24);
    }
    .faqBtn .q{
      flex:1 1 auto;
      min-width:0;
    }
    .chev{
      width:34px; height:34px;
      border-radius: 14px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.58);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
    }
    .faqBtn[aria-expanded="true"] .chev{
      transform: rotate(180deg);
      border-color: rgba(47,191,132,.24);
      background: rgba(47,191,132,.10);
    }
    .faqPanel{
      max-height:0;
      overflow:hidden;
      transition: max-height .25s ease;
    }
    .faqPanel .ans{
      padding: 0 16px 16px;
      color: var(--muted);
      line-height:1.85;
      font-size: 13.8px;
    }

    /* Timeline */
    .timeline{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
    }
    .timeItem{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 14px;
      border:1px solid rgba(17,24,39,.10);
      border-radius: 16px;
      background: rgba(255,255,255,.68);
    }
    .timeDot{
      width:38px; height:38px;
      border-radius: 16px;
      background: rgba(47,191,132,.10);
      border:1px solid rgba(47,191,132,.18);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      color: rgba(15,122,95,.98);
      font-weight:1100;
    }
    .timeItem h3{
      margin:0;
      font-size:14.5px;
      font-weight:1000;
      letter-spacing:-.2px;
      color:#143024;
    }
    .timeItem p{
      margin:7px 0 0;
      color: var(--muted);
      line-height:1.8;
      font-size: 13.4px;
    }

    /* Price cards */
    .priceGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .priceCard{
      padding:18px;
      position:relative;
      overflow:hidden;
    }
    .priceCard .head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
    }
    .priceCard h3{
      margin:0;
      font-size:16px;
      font-weight:1000;
      letter-spacing:-.2px;
    }
    .priceCard .sub{
      margin-top:8px;
      color: var(--muted);
      line-height:1.8;
      font-size: 13.5px;
    }
    .price{
      margin-top:14px;
      display:flex;
      align-items:baseline;
      gap:8px;
    }
    .price .big{
      font-size: 34px;
      font-weight:1150;
      letter-spacing:-.8px;
      color:#123026;
    }
    .price .unit{
      color: rgba(83,100,91,.95);
      font-weight:900;
    }
    .priceCard ul{
      margin:14px 0 0;
      padding:0;
      list-style:none;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .priceCard li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color: var(--muted);
      font-size: 13.5px;
      line-height:1.7;
      font-weight:650;
    }
    .check{
      width:18px; height:18px;
      border-radius: 8px;
      background: rgba(47,191,132,.10);
      border:1px solid rgba(47,191,132,.20);
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      margin-top:1px;
    }
    .check svg{ width:12px; height:12px; fill: rgba(15,122,95,.98); }
    .priceCard .ctaRow{
      margin-top:16px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    /* Tag cloud */
    .cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:10px 0 0;
    }
    .cloud a{
      padding:10px 12px;
      border-radius: 999px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.66);
      font-size: 13px;
      font-weight:850;
      color: rgba(31,42,36,.92);
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
      white-space:nowrap;
    }
    .cloud a:hover{
      transform: translateY(-2px);
      border-color: rgba(47,191,132,.24);
      background: rgba(47,191,132,.08);
    }

    /* Footer */
    footer{
      padding: 26px 0 28px;
      background: rgba(237, 247, 241, .75);
      border-top:1px solid rgba(17,24,39,.08);
      margin-top: 10px;
    }
    .footerGrid{
      display:grid;
      grid-template-columns: 1.2fr 1fr;
      gap:14px;
      align-items:start;
    }
    .footCard{
      padding:16px;
      border-radius: var(--radius2);
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.70);
      box-shadow: 0 10px 22px rgba(17,24,39,.06);
    }
    .footCard h3{
      margin:0;
      font-size:15.5px;
      font-weight:1000;
      letter-spacing:-.2px;
      color:#143024;
    }
    .footCard p{
      margin:10px 0 0;
      color: var(--muted);
      line-height:1.85;
      font-size: 13.6px;
    }
    .footLinks{
      margin-top:12px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .footLinks a{
      padding:10px 12px;
      border-radius: 999px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.66);
      font-size: 13px;
      font-weight:900;
      color: rgba(31,42,36,.92);
      transition: transform .18s ease, border-color .18s ease;
      white-space:nowrap;
    }
    .footLinks a:hover{
      transform: translateY(-2px);
      border-color: rgba(47,191,132,.24);
    }
    .copyright{
      margin-top:14px;
      color: rgba(83,100,91,.95);
      font-size: 12.5px;
      line-height:1.8;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      justify-content:space-between;
    }

    /* Float customer */
    .floatChat{
      position:fixed;
      right:16px;
      bottom:18px;
      z-index:70;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
    }
    .chatBtn{
      width:52px; height:52px;
      border-radius: 18px;
      border:1px solid rgba(17,24,39,.10);
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
      box-shadow: 0 16px 40px rgba(17,24,39,.14);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition: transform .18s ease;
    }
    .chatBtn:hover{ transform: translateY(-2px); }
    .chatBtn svg{ width:22px; height:22px; fill: rgba(15,122,95,.98); }
    .chatPanel{
      width: 280px;
      border-radius: 18px;
      background: rgba(255,255,255,.86);
      border:1px solid rgba(17,24,39,.10);
      box-shadow: 0 22px 60px rgba(17,24,39,.16);
      overflow:hidden;
      transform-origin: right bottom;
      animation: pop .18s ease both;
    }
    @keyframes pop{
      from{ transform: scale(.98); opacity:.0; }
      to{ transform: scale(1); opacity:1; }
    }
    .chatPanel .head{
      padding:12px 14px;
      border-bottom:1px solid rgba(17,24,39,.08);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      background: linear-gradient(180deg, rgba(47,191,132,.10), rgba(255,255,255,.0));
    }
    .chatPanel .head strong{
      font-weight:1100;
      font-size: 13.5px;
      letter-spacing:-.2px;
    }
    .closeBtn{
      width:32px; height:32px;
      border-radius: 12px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.60);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition: transform .15s ease;
      flex:0 0 auto;
    }
    .closeBtn:active{ transform: scale(.98); }
    .closeBtn svg{ width:14px; height:14px; fill: rgba(31,42,36,.8); }
    .chatPanel .body{
      padding:14px;
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .qrBox{
      width:96px; height:96px;
      border-radius: 16px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.7);
      overflow:hidden;
      flex:0 0 auto;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:6px;
    }
    .qrBox img{
      width:100%;
      height:auto;
      display:block;
      border-radius: 12px;
      object-fit:contain;
    }
    .chatPanel .body p{
      margin:0;
      color: var(--muted);
      line-height:1.7;
      font-size:13px;
      font-weight:650;
    }
    .chatPanel .foot{
      padding: 12px 14px 14px;
      border-top:1px solid rgba(17,24,39,.08);
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    /* Scroll reveal */
    .reveal{
      opacity:0;
      transform: translateY(10px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .reveal.show{
      opacity:1;
      transform: translateY(0);
    }

    /* Back to top */
    .toTop{
      position:fixed;
      left:16px;
      bottom:18px;
      z-index:69;
      width:44px;
      height:44px;
      border-radius: 16px;
      border:1px solid rgba(17,24,39,.10);
      background: rgba(255,255,255,.78);
      box-shadow: 0 16px 40px rgba(17,24,39,.14);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      opacity:0;
      pointer-events:none;
      transform: translateY(8px);
      transition: opacity .2s ease, transform .2s ease;
    }
    .toTop.show{
      opacity:1;
      pointer-events:auto;
      transform: translateY(0);
    }
    .toTop svg{ width:18px; height:18px; fill: rgba(15,122,95,.98); }

    /* Responsive */
    @media (max-width: 980px){
      .heroGrid{ grid-template-columns: 1fr; }
      .herocard, .sidecard{ min-height: unset; }
      .steps{ grid-template-columns: 1fr 1fr; }
      .grid3{ grid-template-columns: 1fr; }
      .grid2{ grid-template-columns: 1fr; }
      .compareWrap{ grid-template-columns: 1fr; }
      .reviewGrid{ grid-template-columns: 1fr; }
      .caseGrid{ grid-template-columns: 1fr; }
      .articleLayout{ grid-template-columns: 1fr; }
      .priceGrid{ grid-template-columns: 1fr; }
      .footerGrid{ grid-template-columns: 1fr; }
      table{ min-width: 620px; }
      .navlinks{ display:none; }
      .navcta{ display:none; }
      .hamburger{ display:flex; }
      .mobilepanel{ display:block; }
    }
    @media (prefers-reduced-motion: reduce){
      html{ scroll-behavior:auto; }
      .reveal{ transition:none; }
    }