:root{
      --bg:#f5fbf5;
      --bg2:#ffffff;
      --card:#ffffff;
      --text:#17301f;
      --muted:#5c6e62;
      --line:#dfe9e1;
      --green:#16a34a;
      --green2:#22c55e;
      --green3:#c9f7d4;
      --accent:#0f766e;
      --shadow:0 16px 40px rgba(18, 83, 40, .10);
      --shadow2:0 10px 24px rgba(14, 71, 34, .08);
      --radius:20px;
      --radius2:16px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(34,197,94,.12), transparent 34%),
        radial-gradient(circle at 90% 10%, rgba(22,163,74,.10), transparent 28%),
        linear-gradient(180deg, #effaf0 0%, #f8fcf8 22%, #f7fbf7 100%);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    header, main, footer{position:relative; z-index:1}
    .topbar{
      position:sticky; top:0; z-index:20;
      backdrop-filter:blur(14px);
      background:rgba(247,251,247,.82);
      border-bottom:1px solid rgba(223,233,225,.9);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      min-height:72px;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand .ai-page-logo{width:42px; height:42px; object-fit:contain; flex:none}
    .brand-text{min-width:0}
    .brand-text strong{display:block; font-size:18px; letter-spacing:.5px}
    .brand-text span{display:block; font-size:12px; color:var(--muted); margin-top:2px}
    .nav-toggle{display:none; border:1px solid var(--line); background:#fff; color:var(--text); border-radius:12px; padding:10px 12px; font-size:14px}
    .nav-links{display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end}
    .nav-links a{font-size:14px; color:#355145; padding:8px 10px; border-radius:999px; transition:.2s}
    .nav-links a:hover{background:#e8f7ec; color:#0f7a36}
    .nav-cta{
      display:inline-flex; align-items:center; justify-content:center;
      padding:11px 16px; border-radius:999px;
      background:linear-gradient(135deg,var(--green),var(--green2));
      color:#fff; font-weight:700; box-shadow:0 10px 20px rgba(22,163,74,.25);
      transition:.2s;
    }
    .nav-cta:hover{transform:translateY(-1px)}
    .hero{padding:34px 0 18px}
    .hero-grid{
      display:grid; grid-template-columns:1.15fr .85fr; gap:22px; align-items:stretch;
    }
    .hero-main, .hero-side, .panel, .card, .faq-item, .review, .timeline li, .compare, .form-wrap, .article, .price-box{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(223,233,225,.96);
      border-radius:var(--radius);
      box-shadow:var(--shadow2);
    }
    .hero-main{padding:30px; overflow:hidden; position:relative}
    .hero-main:before{
      content:""; position:absolute; inset:auto -90px -120px auto; width:260px; height:260px;
      background:radial-gradient(circle, rgba(34,197,94,.22), transparent 70%);
      pointer-events:none;
    }
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px;
      background:#e8f8ec; color:#0f7a36;
      border:1px solid #ccefd5; border-radius:999px;
      padding:8px 12px; font-size:13px; font-weight:700;
    }
    h1{font-size:clamp(30px, 5vw, 54px); line-height:1.08; margin:16px 0 12px}
    .lead{font-size:16px; line-height:1.75; color:var(--muted); margin:0; max-width:62ch}
    .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      padding:13px 18px; border-radius:14px; border:1px solid transparent;
      font-weight:700; transition:.22s; cursor:pointer;
    }
    .btn-primary{background:linear-gradient(135deg,var(--green),#10b981); color:#fff; box-shadow:0 14px 28px rgba(22,163,74,.22)}
    .btn-primary:hover,.btn-secondary:hover,.btn-outline:hover{transform:translateY(-2px)}
    .btn-secondary{background:#0f172a; color:#fff}
    .btn-outline{background:#fff; color:#134e2d; border-color:#cfe7d6}
    .hero-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
    .tag{padding:9px 12px; background:#f2fbf4; border:1px solid #d8f0de; border-radius:999px; font-size:13px; color:#24543a}
    .hero-side{padding:22px}
    .stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
    .stat{padding:16px; border-radius:18px; background:linear-gradient(180deg,#ffffff,#f6fbf7); border:1px solid var(--line)}
    .stat b{display:block; font-size:24px; margin-bottom:6px}
    .stat span{font-size:13px; color:var(--muted); line-height:1.5}
    .side-note{margin-top:14px; padding:14px 16px; border-radius:18px; background:#f1fbf3; border:1px solid #d9f2df; color:#23513c; line-height:1.7; font-size:14px}
    section{padding:18px 0}
    .section-head{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px}
    .section-head h2{margin:0; font-size:clamp(22px, 3vw, 32px)}
    .section-head p{margin:0; color:var(--muted); line-height:1.7; max-width:68ch}
    .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .card{padding:20px}
    .card h3{margin:0 0 10px; font-size:18px}
    .card p{margin:0; color:var(--muted); line-height:1.75}
    .icon{
      width:44px; height:44px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg,#e8fbef,#d7f7df); color:#12803d; font-weight:800; margin-bottom:12px
    }
    .workflow{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .step{padding:20px; position:relative}
    .step-num{
      width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
      background:#0f7a36; color:#fff; font-weight:800; margin-bottom:12px
    }
    .compare{overflow:auto}
    table{width:100%; border-collapse:collapse; min-width:780px}
    th,td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#f3fbf5; font-size:14px}
    td{font-size:14px; color:#355145; line-height:1.7}
    .rating{color:#0f7a36; font-weight:800}
    .table-wrap{overflow-x:auto}
    .panel{padding:20px}
    .pill-list{display:flex; flex-wrap:wrap; gap:10px}
    .pill{padding:9px 12px; border:1px solid #d8eadc; background:#f7fcf8; border-radius:999px; font-size:13px; color:#2f5942}
    .timeline{list-style:none; padding:0; margin:0; display:grid; gap:12px}
    .timeline li{padding:18px; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start}
    .timeline .mark{width:12px; height:12px; margin-top:7px; border-radius:50%; background:linear-gradient(135deg,var(--green),#34d399); box-shadow:0 0 0 6px #e5f7ea}
    .timeline b{display:block; margin-bottom:6px}
    .case-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:14px}
    .case-large{padding:22px}
    .case-large h3{margin-top:0}
    .mini-list{display:grid; gap:10px; margin-top:14px}
    .mini-item{padding:12px 14px; border-radius:14px; background:#f7fcf8; border:1px solid #dfece2; color:#355145}
    .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .review{padding:18px}
    .review .role{color:#0f7a36; font-weight:700; font-size:13px; margin-bottom:8px}
    .review p{margin:0; color:#355145; line-height:1.8}
    .news-list{display:grid; gap:12px}
    .news-item{display:flex; justify-content:space-between; gap:12px; padding:16px 18px; border-radius:16px; background:#fff; border:1px solid var(--line)}
    .news-item span{color:var(--muted); font-size:13px}
    .faq-list{display:grid; gap:12px}
    .faq-item{overflow:hidden}
    .faq-q{
      width:100%; padding:18px 20px; display:flex; justify-content:space-between; align-items:center;
      background:transparent; border:0; color:var(--text); font:inherit; text-align:left; cursor:pointer
    }
    .faq-q strong{font-size:16px}
    .faq-a{max-height:0; overflow:hidden; transition:max-height .28s ease; border-top:1px solid transparent}
    .faq-a div{padding:0 20px 18px; color:var(--muted); line-height:1.8}
    .faq-item.open .faq-a{max-height:220px; border-top-color:var(--line)}
    .faq-item.open .chev{transform:rotate(180deg)}
    .chev{transition:.25s}
    .form-wrap{padding:22px}
    form{display:grid; gap:12px}
    .form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
    label{display:grid; gap:8px; font-size:14px; color:#244232}
    input,select,textarea{
      width:100%; border:1px solid #d7e6da; border-radius:14px; background:#fff;
      padding:13px 14px; font:inherit; color:var(--text); outline:none;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:#7ddca0; box-shadow:0 0 0 4px rgba(34,197,94,.12)}
    .submit-row{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
    .submit-row small{color:var(--muted)}
    .footer{
      margin-top:16px; padding:24px 0 30px; background:#f2faf3; border-top:1px solid #dce8de
    }
    .footer-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:16px}
    .footer a{color:#1f6a3e}
    .footer p,.footer li{color:#4f6558; line-height:1.8}
    .footer-links{display:flex; flex-wrap:wrap; gap:10px}
    .footer-links a{padding:8px 10px; background:#fff; border:1px solid #dce8de; border-radius:999px}
    .float-tools{
      position:fixed; right:16px; bottom:16px; z-index:30; display:grid; gap:10px;
    }
    .float-tools a, .float-tools button{
      width:52px; height:52px; border-radius:16px; border:0;
      background:linear-gradient(135deg,var(--green),#0ea75b); color:#fff;
      box-shadow:0 12px 26px rgba(22,163,74,.24); display:grid; place-items:center; cursor:pointer;
    }
    .service-map{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .price-box{padding:20px}
    .price-box h3{margin-top:0}
    .price-list{display:grid; gap:10px; margin:0; padding:0; list-style:none}
    .price-list li{display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:14px; background:#f7fcf8; border:1px solid #dfece2}
    .article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .article{padding:18px}
    .article .meta{font-size:13px; color:var(--muted); margin-bottom:8px}
    .article h3{margin:0 0 10px; font-size:17px}
    .article p{margin:0; color:var(--muted); line-height:1.75}
    .image-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .image-strip img{width:100%; border-radius:18px; border:1px solid #dbe7dd; box-shadow:var(--shadow2)}
    .mobile-only{display:none}
    .subtle{color:var(--muted)}
    @media (max-width: 980px){
      .hero-grid,.grid-3,.grid-4,.workflow,.review-grid,.article-grid,.image-strip,.footer-grid,.case-grid,.service-map{grid-template-columns:1fr}
      .nav-toggle{display:inline-flex}
      .nav-links{
        display:none; width:100%; padding:0 0 14px; justify-content:flex-start
      }
      .nav-links.open{display:flex; flex-direction:column; align-items:flex-start}
      .nav{flex-wrap:wrap}
      .hero{padding-top:20px}
      .form-grid{grid-template-columns:1fr}
      .mobile-only{display:block}
    }
    @media (max-width: 640px){
      .container{width:min(var(--container), calc(100% - 24px))}
      .hero-main,.hero-side,.card,.panel,.form-wrap,.price-box,.article,.review,.timeline li,.step{padding:18px}
      h1{font-size:30px}
      .nav-cta{padding:10px 14px}
      table{min-width:680px}
    }
    .fade-in{opacity:0; transform:translateY(16px); transition:.65s ease}
    .fade-in.show{opacity:1; transform:none}