:root{
      --bg:#f6fbf8;
      --bg2:#eef7f1;
      --card:#ffffff;
      --card2:#f4fbf7;
      --line:#d7ebe0;
      --text:#163024;
      --muted:#557065;
      --brand:#39b37a;
      --brand2:#66d4a0;
      --brand3:#0f7b58;
      --accent:#f0fff7;
      --shadow:0 14px 34px rgba(25, 78, 55, .10);
      --shadow2:0 8px 20px rgba(25, 78, 55, .08);
      --radius:22px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(102,212,160,.16), transparent 30%),
        radial-gradient(circle at top right, rgba(57,179,122,.10), transparent 26%),
        linear-gradient(180deg, var(--bg) 0%, #fff 46%, #f7fcf9 100%);
      line-height:1.65;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    .topbar{
      background:rgba(255,255,255,.72);
      backdrop-filter:blur(10px);
      border-bottom:1px solid rgba(215,235,224,.75);
      position:sticky; top:0; z-index:40;
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:18px;
      padding:14px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand img{width:42px; height:42px; object-fit:contain; border-radius:12px; background:#fff; box-shadow:var(--shadow2)}
    .brand-text{min-width:0}
    .brand-text strong{display:block; font-size:1.02rem; letter-spacing:.5px}
    .brand-text span{display:block; color:var(--muted); font-size:.88rem}
    .nav-toggle{display:none; border:1px solid var(--line); background:#fff; color:var(--text); border-radius:12px; padding:10px 12px; font-size:.95rem}
    .nav-links{display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:flex-end}
    .nav-links a{font-size:.95rem; color:#274538; padding:8px 10px; border-radius:10px; transition:.2s ease}
    .nav-links a:hover,.nav-links a:focus{background:#eaf7f0; color:#0f7b58}
    .nav-cta{display:flex; gap:10px; align-items:center}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:none; border-radius:999px; padding:12px 18px;
      font-weight:700; cursor:pointer; transition:.22s ease;
      box-shadow:var(--shadow2);
    }
    .btn-primary{background:linear-gradient(135deg, var(--brand) 0%, var(--brand2) 100%); color:#fff}
    .btn-secondary{background:#fff; color:var(--brand3); border:1px solid var(--line)}
    .btn:hover{transform:translateY(-2px); box-shadow:var(--shadow)}
    .hero{padding:34px 0 18px}
    .hero-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:22px; align-items:stretch}
    .hero-panel{
      background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,255,247,.95));
      border:1px solid rgba(215,235,224,.9);
      border-radius:28px;
      padding:30px;
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .hero-panel::before,.hero-panel::after{
      content:""; position:absolute; border-radius:50%;
      background:radial-gradient(circle, rgba(102,212,160,.22), rgba(102,212,160,0) 70%);
      pointer-events:none;
    }
    .hero-panel::before{width:260px;height:260px;right:-90px;top:-90px}
    .hero-panel::after{width:180px;height:180px;left:-50px;bottom:-70px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(57,179,122,.10); color:#0f7b58;
      border:1px solid rgba(57,179,122,.20);
      padding:7px 12px; border-radius:999px; font-size:.9rem; font-weight:700
    }
    h1{margin:16px 0 12px; font-size:clamp(2rem, 4vw, 3.6rem); line-height:1.12}
    .hero p{margin:0 0 18px; color:var(--muted); font-size:1.04rem; max-width:62ch}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 18px}
    .hero-metrics{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
    .metric{
      background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:18px; padding:14px 14px 12px;
    }
    .metric strong{display:block; font-size:1.25rem}
    .metric span{display:block; color:var(--muted); font-size:.88rem}
    .hero-side{
      display:grid; gap:16px;
    }
    .side-card{
      background:linear-gradient(180deg, #fff 0%, #f3fbf6 100%);
      border:1px solid var(--line);
      border-radius:24px;
      padding:20px;
      box-shadow:var(--shadow2);
    }
    .side-card h2,.section-title h2{margin:0 0 10px; font-size:1.45rem}
    .side-list{margin:0; padding:0; list-style:none; display:grid; gap:10px}
    .side-list li{display:flex; gap:10px; align-items:flex-start; color:var(--muted)}
    .dot{width:10px;height:10px;border-radius:50%; background:linear-gradient(135deg,var(--brand),var(--brand2)); margin-top:.5em; flex:0 0 auto}
    .section{padding:18px 0}
    .section-title{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px}
    .section-title p{margin:0; color:var(--muted); max-width:70ch}
    .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:18px;
      box-shadow:var(--shadow2);
      transition:.22s ease;
    }
    .card:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
    .card h3{margin:10px 0 8px; font-size:1.08rem}
    .card p{margin:0; color:var(--muted)}
    .icon-badge{
      width:44px;height:44px;border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(57,179,122,.12), rgba(102,212,160,.22));
      color:var(--brand3); font-weight:800;
    }
    .tags{display:flex; flex-wrap:wrap; gap:10px}
    .tag{
      padding:9px 12px; border-radius:999px; background:#fff; border:1px solid var(--line);
      color:#2f5240; font-size:.92rem
    }
    .timeline{display:grid; gap:12px}
    .step{
      display:grid; grid-template-columns:52px 1fr; gap:14px; align-items:flex-start;
      background:linear-gradient(180deg,#fff, #f7fcf9); border:1px solid var(--line);
      border-radius:22px; padding:16px;
    }
    .step-num{
      width:52px;height:52px;border-radius:16px; display:grid; place-items:center;
      background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; font-weight:800
    }
    .table-wrap{overflow:auto; border-radius:22px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow2)}
    table{width:100%; border-collapse:collapse; min-width:920px}
    th,td{padding:14px 16px; border-bottom:1px solid #edf5ef; text-align:left; vertical-align:top}
    th{background:#f2fbf6; color:#244134; font-size:.95rem}
    td{color:#355143}
    .rating{
      display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center
    }
    .stars{color:#f0b400; font-size:1.2rem; letter-spacing:2px}
    .score{font-size:2rem; font-weight:800; color:var(--brand3)}
    .compare-note{color:var(--muted); margin-top:8px}
    .faq details{
      background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px 16px;
      box-shadow:var(--shadow2)
    }
    .faq{display:grid; gap:12px}
    .faq summary{cursor:pointer; list-style:none; font-weight:700; color:#214233}
    .faq summary::-webkit-details-marker{display:none}
    .faq p{margin:10px 0 0; color:var(--muted)}
    .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .quote{
      position:relative; padding-top:40px
    }
    .quote::before{
      content:"“"; position:absolute; left:18px; top:0; font-size:4rem; color:#bfe8d1; line-height:1
    }
    .quote strong{display:block; margin-top:12px}
    .quote span{display:block; color:var(--muted); font-size:.9rem}
    .articles{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .article-list{display:grid; gap:10px}
    .article-list a{
      display:flex; justify-content:space-between; gap:10px; padding:12px 0;
      border-bottom:1px dashed #e4efe8; color:#224334
    }
    .article-list a:last-child{border-bottom:none}
    .form-grid{
      display:grid; grid-template-columns:1fr 1fr; gap:14px
    }
    .field{display:grid; gap:8px}
    label{font-weight:700; font-size:.95rem}
    input,select,textarea{
      width:100%; border:1px solid var(--line); border-radius:14px; padding:12px 14px;
      font:inherit; background:#fff; color:var(--text); outline:none;
    }
    textarea{min-height:118px; resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:#87d7b1; box-shadow:0 0 0 4px rgba(102,212,160,.15)}
    .full{grid-column:1/-1}
    .footer{
      margin-top:18px;
      background:#edf8f2;
      border-top:1px solid #d7ebe0;
      color:#244134;
    }
    .footer-grid{
      display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px; padding:26px 0
    }
    .footer a{color:#1c5d44}
    .contact-list{display:grid; gap:10px; margin:0; padding:0; list-style:none}
    .contact-list li{color:#335747}
    .float-actions{
      position:fixed; right:16px; bottom:16px; z-index:60; display:grid; gap:10px
    }
    .float-btn{
      width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
      background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; box-shadow:var(--shadow);
      border:none; cursor:pointer
    }
    .scroll-top{display:none}
    .fade-up{opacity:0; transform:translateY(18px); transition:.55s ease}
    .fade-up.in-view{opacity:1; transform:translateY(0)}
    .partner-tags{display:grid; gap:14px}
    .mini-panel{
      background:linear-gradient(180deg,#fff,#f6fcf8); border:1px solid var(--line); border-radius:22px; padding:18px
    }
    .mobile-only{display:none}
    @media (max-width: 1024px){
      .hero-grid,.grid-4,.grid-3,.reviews,.articles,.footer-grid{grid-template-columns:1fr 1fr}
      .hero-side{grid-column:1/-1}
    }
    @media (max-width: 760px){
      .nav-toggle{display:inline-flex}
      .nav-links,.nav-cta{display:none}
      .nav-links.open,.nav-cta.open{display:flex}
      .nav{flex-wrap:wrap}
      .nav-links.open{
        width:100%; padding:10px 0 0; justify-content:flex-start
      }
      .nav-cta.open{width:100%; padding-bottom:8px}
      .hero-grid,.grid-4,.grid-3,.reviews,.articles,.footer-grid,.form-grid{grid-template-columns:1fr}
      .hero-panel{padding:22px}
      .hero-metrics{grid-template-columns:1fr}
      .section-title{flex-direction:column; align-items:flex-start}
      .mobile-only{display:block}
      table{min-width:760px}
    }