:root{
      --bg:#f6fbfd;
      --bg2:#edf8fb;
      --card:#ffffff;
      --line:#d8e7ed;
      --text:#18303b;
      --muted:#5f7380;
      --primary:#0d9db6;
      --primary2:#20c4c8;
      --accent:#ffb35c;
      --shadow:0 14px 40px rgba(18, 61, 78, .08);
      --radius:20px;
      --radius-sm:14px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Segoe UI,Roboto,Helvetica,Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(32,196,200,.10), transparent 28%),
        radial-gradient(circle at top right, rgba(13,157,182,.09), transparent 24%),
        linear-gradient(180deg, var(--bg), #fff 24%, var(--bg2) 100%);
    }
    a{color:var(--primary); text-decoration:none}
    img{display:block; max-width:100%}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    .topbar{
      position:sticky; top:0; z-index:40;
      backdrop-filter: blur(12px);
      background:rgba(246,251,253,.78);
      border-bottom:1px solid rgba(216,231,237,.8);
    }
    .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:44px; height:44px; object-fit:contain; border-radius:12px; background:#fff; padding:4px; box-shadow:0 8px 20px rgba(13,157,182,.12)}
    .brand-text{min-width:0}
    .brand-text strong{display:block; font-size:18px; line-height:1.15}
    .brand-text span{display:block; font-size:12px; color:var(--muted); margin-top:3px}
    .nav-toggle{display:none; border:1px solid var(--line); background:#fff; color:var(--text); border-radius:12px; padding:10px 12px}
    .nav-links{display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end}
    .nav-links a{font-size:14px; color:var(--text); padding:8px 10px; border-radius:10px}
    .nav-links a:hover{background:rgba(32,196,200,.10); color:#0b7183}
    .home-link{font-weight:700}
    .hero{
      padding:30px 0 10px;
    }
    .hero-grid{
      display:grid; grid-template-columns: 1.25fr .95fr; gap:22px; align-items:stretch;
    }
    .hero-main,.hero-side,.panel,.card,.faq-item,.form-card,.quote,.article-item,.case,.compare,.timeline li{
      background:var(--card); border:1px solid rgba(216,231,237,.9); box-shadow:var(--shadow)
    }
    .hero-main{
      position:relative; overflow:hidden; border-radius:28px; padding:34px;
      background:
        linear-gradient(135deg, rgba(255,255,255,.97), rgba(240,250,252,.95)),
        radial-gradient(circle at 20% 20%, rgba(32,196,200,.14), transparent 34%);
    }
    .hero-main::after{
      content:""; position:absolute; inset:auto -8% -20% auto; width:240px; height:240px; border-radius:50%;
      background:radial-gradient(circle, rgba(32,196,200,.18), transparent 68%);
      pointer-events:none;
    }
    .eyebrow{display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; background:rgba(13,157,182,.09); color:#0c7f92; font-size:13px; font-weight:600}
    h1{font-size:clamp(30px, 5vw, 52px); line-height:1.08; margin:16px 0 12px; letter-spacing:-.02em}
    .lead{font-size:17px; line-height:1.8; color:var(--muted); max-width:58ch; margin:0}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px;
      border-radius:14px; font-weight:700; border:1px solid transparent; transition:.22s ease; cursor:pointer
    }
    .btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary2)); color:#fff; box-shadow:0 14px 24px rgba(13,157,182,.22)}
    .btn-secondary{background:#fff; color:var(--text); border-color:var(--line)}
    .btn:hover{transform:translateY(-2px)}
    .hero-points{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:24px}
    .point{padding:16px; border-radius:18px; background:rgba(255,255,255,.74); border:1px solid rgba(216,231,237,.85)}
    .point strong{display:block; font-size:20px; margin-bottom:6px}
    .point span{font-size:13px; color:var(--muted); line-height:1.5}
    .hero-side{border-radius:28px; padding:20px; display:grid; gap:14px}
    .side-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
    .side-top h2{margin:0; font-size:20px}
    .mini-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
    .badge{padding:7px 10px; border-radius:999px; background:#f3fbfd; border:1px solid #dceff3; font-size:12px; color:#0d7687}
    .sidebar-image{border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#f8fcfd}
    .sidebar-image img{width:100%; height:auto}
    section{padding:18px 0}
    .section-title{display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:14px}
    .section-title h2{margin:0; font-size:28px}
    .section-title p{margin:0; color:var(--muted); font-size:14px}
    .grid-4{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px}
    .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,.panel,.faq-item,.form-card,.quote,.article-item,.case,.compare{border-radius:22px}
    .card{padding:18px}
    .card h3,.panel h3,.case h3,.article-item h3{margin:0 0 10px; font-size:18px}
    .card p,.panel p,.case p,.article-item p,.quote p{margin:0; color:var(--muted); line-height:1.75}
    .metric{font-size:30px; font-weight:800; color:#0b8094; margin-bottom:6px}
    .panel{padding:22px}
    .icon{
      width:42px; height:42px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(13,157,182,.14), rgba(32,196,200,.18)); color:#0c7f92; margin-bottom:14px; font-weight:800
    }
    .tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
    .tags span{padding:7px 10px; border-radius:999px; background:#f5fbfc; border:1px solid var(--line); font-size:12px; color:#4f6772}
    .process{
      counter-reset: step;
    }
    .step{
      position:relative; padding:20px 18px 18px 56px;
    }
    .step::before{
      counter-increment: step;
      content: counter(step);
      position:absolute; left:18px; top:18px; width:28px; height:28px; border-radius:50%;
      display:grid; place-items:center; background:linear-gradient(135deg, var(--primary), var(--primary2)); color:#fff; font-size:13px; font-weight:800
    }
    .compare-wrap{overflow-x:auto; border-radius:22px}
    table{width:100%; border-collapse:separate; border-spacing:0; min-width:780px; background:#fff}
    th,td{padding:14px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; font-size:14px}
    th{background:#f4fbfc; color:#2a4450}
    tr:last-child td{border-bottom:none}
    .score-box{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .score{
      padding:22px; border-radius:22px; background:linear-gradient(135deg, rgba(13,157,182,.11), rgba(32,196,200,.06)); border:1px solid #cae7ec
    }
    .score strong{display:block; font-size:38px; line-height:1; margin:8px 0; color:#0c7f92}
    .score span{color:var(--muted)}
    .rating-stars{letter-spacing:2px; color:#f5a623; font-size:18px}
    .faq{display:grid; gap:12px}
    .faq-item{overflow:hidden}
    .faq-q{
      width:100%; text-align:left; background:none; border:none; padding:18px 20px; font-size:16px; color:var(--text); font-weight:700;
      display:flex; justify-content:space-between; gap:12px; cursor:pointer
    }
    .faq-a{max-height:0; overflow:hidden; transition:max-height .28s ease; padding:0 20px}
    .faq-item.open .faq-a{max-height:220px; padding-bottom:18px}
    .faq-a p{margin:0; color:var(--muted); line-height:1.75}
    .reviews{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
    .quote{padding:18px}
    .quote .role{font-size:13px; color:#0c7f92; font-weight:700; margin-bottom:8px}
    .quote .name{font-weight:800; margin-bottom:10px}
    .case{padding:18px}
    .case .meta{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 0}
    .case .meta span{font-size:12px; padding:6px 9px; border-radius:999px; background:#f3fbfd; border:1px solid var(--line); color:#54707c}
    .articles{display:grid; gap:12px}
    .article-item{padding:18px; display:flex; justify-content:space-between; gap:12px; align-items:center}
    .article-item small{color:var(--muted)}
    .article-item .arrow{font-size:18px; color:var(--primary)}
    .form-card{padding:22px}
    form{display:grid; gap:12px}
    .fields{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px}
    label{display:grid; gap:8px; font-size:14px; color:#29414d; font-weight:600}
    input,select,textarea{
      width:100%; border:1px solid var(--line); border-radius:14px; padding:13px 14px; font:inherit; color:var(--text); background:#fff; outline:none
    }
    input:focus,select:focus,textarea:focus{border-color:rgba(13,157,182,.65); box-shadow:0 0 0 4px rgba(13,157,182,.10)}
    textarea{min-height:120px; resize:vertical}
    .footer{
      margin-top:8px; padding:24px 0 26px; border-top:1px solid rgba(216,231,237,.8)
    }
    .footer-grid{
      display:grid; grid-template-columns:1.1fr .9fr; gap:16px; align-items:start
    }
    .footer .links{display:flex; flex-wrap:wrap; gap:10px}
    .footer .links a{padding:8px 10px; border-radius:10px; background:#fff; border:1px solid var(--line); color:var(--text)}
    .footer small,.footer p{color:var(--muted)}
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:50; display:grid; gap:10px
    }
    .float-btn{
      width:52px; height:52px; border-radius:16px; display:grid; place-items:center; box-shadow:var(--shadow); border:1px solid rgba(216,231,237,.95);
      background:#fff; color:#0b8094; font-weight:800
    }
    .service-chip{
      display:flex; flex-wrap:wrap; gap:10px
    }
    .service-chip a, .service-chip span{
      padding:9px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:13px; color:#415865
    }
    .timeline{list-style:none; padding:0; margin:0; display:grid; gap:12px}
    .timeline li{padding:18px; border-radius:18px}
    .timeline strong{display:block; margin-bottom:6px}
    .mobile-only{display:none}
    @media (max-width: 980px){
      .hero-grid,.grid-4,.grid-3,.grid-2,.reviews,.score-box,.footer-grid{grid-template-columns:1fr}
      .nav-toggle{display:inline-flex}
      .nav-links{display:none; width:100%; padding:0 0 12px}
      .nav.open{align-items:flex-start; flex-wrap:wrap}
      .nav.open .nav-links{display:flex; justify-content:flex-start}
      .hero-points{grid-template-columns:1fr}
      .fields{grid-template-columns:1fr}
      .section-title{align-items:flex-start; flex-direction:column}
      .mobile-only{display:block}
      .desktop-only{display:none}
    }
    .scroll-reveal{opacity:0; transform:translateY(14px); transition:.55s ease}
    .scroll-reveal.in{opacity:1; transform:none}