:root{
      --bg:#f5f8ff;
      --bg2:#eef3ff;
      --card:#ffffff;
      --text:#1f2a37;
      --muted:#5a6576;
      --line:#dbe4f3;
      --brand:#4f6df5;
      --brand2:#8b5cf6;
      --accent:#22c1c3;
      --warm:#ffb86b;
      --shadow:0 18px 50px rgba(43,72,145,.10);
      --radius:20px;
      --radius2:28px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 10% 10%, rgba(79,109,245,.10), transparent 26%),
        radial-gradient(circle at 90% 15%, rgba(139,92,246,.12), transparent 24%),
        radial-gradient(circle at 50% 0%, rgba(34,193,195,.10), transparent 30%),
        linear-gradient(180deg, #fbfcff 0%, var(--bg) 42%, #f7f9ff 100%);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    .site-header{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(14px);
      background: rgba(245,248,255,.82);
      border-bottom:1px solid rgba(219,228,243,.7);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:14px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand img{width:42px; height:42px; border-radius:12px; object-fit:cover; box-shadow:0 10px 24px rgba(79,109,245,.18)}
    .brand strong{display:block; font-size:1.02rem; letter-spacing:.5px}
    .brand span{display:block; font-size:.82rem; color:var(--muted)}
    .nav-toggle{
      display:none; border:1px solid var(--line); background:#fff; color:var(--text);
      width:44px; height:44px; border-radius:14px; box-shadow:var(--shadow);
    }
    .nav-links{display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:flex-end}
    .nav-links a{font-size:.95rem; color:var(--text); padding:8px 0; position:relative}
    .nav-links a::after{
      content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
      background:linear-gradient(90deg,var(--brand),var(--brand2)); transition:.25s ease;
    }
    .nav-links a:hover::after{width:100%}
    .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:.25s ease; box-shadow:var(--shadow);
    }
    .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff}
    .btn-secondary{background:#fff; color:var(--text); border:1px solid var(--line)}
    .btn:hover{transform:translateY(-2px); box-shadow:0 20px 40px rgba(79,109,245,.18)}
    .hero{padding:34px 0 24px}
    .hero-grid{
      display:grid; grid-template-columns:1.15fr .85fr; gap:22px; align-items:stretch;
    }
    .hero-main, .panel, .section-card, .review-card, .case-card, .faq-item, .form-card{
      background:rgba(255,255,255,.9); border:1px solid rgba(219,228,243,.9);
      border-radius:var(--radius2); box-shadow:var(--shadow);
    }
    .hero-main{
      padding:34px;
      position:relative; overflow:hidden;
      min-height: 420px;
      background:
        radial-gradient(circle at 88% 12%, rgba(79,109,245,.18), transparent 18%),
        radial-gradient(circle at 85% 85%, rgba(34,193,195,.16), transparent 18%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,247,255,.92));
    }
    .hero-main::before{
      content:""; position:absolute; inset:auto -40px -80px auto; width:260px; height:260px;
      background:conic-gradient(from 180deg, rgba(79,109,245,.24), rgba(139,92,246,.24), rgba(34,193,195,.18), rgba(79,109,245,.24));
      border-radius:50%; filter:blur(12px); opacity:.85;
    }
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px;
      background:rgba(79,109,245,.10); color:#3c56c9; font-weight:700; font-size:.86rem;
      border:1px solid rgba(79,109,245,.16);
    }
    h1{margin:.8rem 0 .9rem; font-size:clamp(2rem, 5vw, 3.6rem); line-height:1.08}
    .hero p{color:var(--muted); line-height:1.8; margin:0 0 16px}
    .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 18px}
    .hero-points{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
    .mini{
      padding:14px; border-radius:18px; background:#fff; border:1px solid var(--line)
    }
    .mini b{display:block; font-size:1.1rem}
    .mini span{display:block; color:var(--muted); font-size:.86rem; margin-top:4px; line-height:1.5}
    .hero-side{display:grid; gap:16px}
    .panel{padding:22px}
    .panel h2,.section-head h2{margin:0 0 10px; font-size:1.45rem}
    .panel p,.section-head p{margin:0; color:var(--muted); line-height:1.75}
    .stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px}
    .stat{
      padding:16px; border-radius:18px; background:linear-gradient(180deg,#fff, #f7f9ff);
      border:1px solid var(--line)
    }
    .stat strong{display:block; font-size:1.45rem}
    .stat span{color:var(--muted); font-size:.86rem}
    .image-strip{display:grid; gap:12px; margin-top:14px}
    .image-strip img{border-radius:18px; aspect-ratio:16/9; object-fit:cover; border:1px solid var(--line)}
    section{padding:18px 0}
    .section-card{padding:26px}
    .section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .chip{padding:10px 14px; border-radius:999px; background:#f4f7ff; border:1px solid var(--line); color:#38507a; font-size:.92rem}
    .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
    .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
    .card{
      padding:18px; border-radius:20px; background:linear-gradient(180deg,#fff 0%, #fbfcff 100%);
      border:1px solid var(--line); transition:.25s ease; height:100%;
    }
    .card:hover,.review-card:hover,.case-card:hover{transform:translateY(-4px); box-shadow:0 22px 44px rgba(43,72,145,.12)}
    .card h3{margin:0 0 8px; font-size:1.08rem}
    .card p{margin:0; color:var(--muted); line-height:1.7}
    .icon{
      width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(79,109,245,.14), rgba(139,92,246,.12)); color:#4255cc;
      margin-bottom:12px; font-weight:800;
    }
    .timeline{display:grid; gap:14px}
    .step{display:flex; gap:14px; align-items:flex-start; padding:16px; border-radius:18px; background:#fff; border:1px solid var(--line)}
    .step-num{width:34px; height:34px; flex:none; border-radius:50%; background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; display:grid; place-items:center; font-weight:800}
    .table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:#fff}
    table{width:100%; border-collapse:collapse; min-width:860px}
    th,td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#f5f8ff; color:#2d3b52; font-size:.95rem}
    td{color:#334155; line-height:1.7}
    .badge{display:inline-flex; align-items:center; padding:5px 10px; border-radius:999px; background:#edf5ff; color:#355ad8; font-size:.82rem; font-weight:700}
    .rating-box{
      display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center;
      padding:22px; border-radius:22px; background:linear-gradient(135deg,#f8fbff,#eef4ff);
      border:1px solid var(--line);
    }
    .stars{color:#ffb400; font-size:1.2rem; letter-spacing:2px}
    .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
    .review-card{padding:18px}
    .review-card .meta{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px}
    .review-card .name{font-weight:700}
    .review-card .role{font-size:.85rem; color:var(--muted)}
    .review-card p{margin:0; color:var(--muted); line-height:1.75}
    .case-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
    .case-card{padding:18px}
    .case-card img{width:100%; border-radius:16px; aspect-ratio:16/10; object-fit:cover; margin-bottom:14px; border:1px solid var(--line)}
    .faq-list{display:grid; gap:12px}
    .faq-item{overflow:hidden}
    .faq-q{
      width:100%; background:transparent; border:none; padding:18px; text-align:left; color:var(--text);
      display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-size:1rem; font-weight:700
    }
    .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 18px; color:var(--muted); line-height:1.75}
    .faq-item.active .faq-a{max-height:220px; padding-bottom:18px}
    .faq-item.active .faq-q .arrow{transform:rotate(180deg)}
    .arrow{transition:.25s ease}
    .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .form-card{padding:22px}
    label{display:block; font-weight:700; margin:0 0 8px}
    input,select,textarea{
      width:100%; border:1px solid var(--line); border-radius:14px; padding:13px 14px; font:inherit;
      background:#fff; color:var(--text); outline:none; transition:.2s ease;
    }
    input:focus,select:focus,textarea:focus{border-color:rgba(79,109,245,.6); box-shadow:0 0 0 4px rgba(79,109,245,.09)}
    textarea{min-height:120px; resize:vertical}
    .full{grid-column:1/-1}
    .footer{
      margin-top:20px; padding:24px 0 32px;
      border-top:1px solid rgba(219,228,243,.9);
      background:rgba(255,255,255,.72)
    }
    .footer-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:18px}
    .footer a{color:#2e53d4}
    .footer small,.footer p{color:var(--muted); line-height:1.75}
    .links{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px}
    .links a{padding:8px 12px; background:#f4f7ff; border-radius:999px; border:1px solid var(--line)}
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:60; display:grid; gap:10px;
    }
    .float-btn{
      width:54px; height:54px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff;
      box-shadow:0 18px 34px rgba(79,109,245,.24); border:none; cursor:pointer;
    }
    .service-pop{
      position:fixed; right:16px; bottom:82px; width:min(320px, calc(100vw - 32px));
      background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow);
      padding:16px; display:none; z-index:59;
    }
    .service-pop.show{display:block}
    .service-pop img{width:100%; border-radius:16px; aspect-ratio:1/1; object-fit:cover; border:1px solid var(--line)}
    .service-pop strong{display:block; margin:10px 0 6px}
    .service-pop p{margin:0; color:var(--muted); line-height:1.6; font-size:.95rem}
    .top-btn{position:fixed; right:16px; bottom:150px}
    .anchor-gap{scroll-margin-top:92px}
    .subtle{color:var(--muted)}
    .inline-list{display:grid; gap:10px; margin:14px 0 0; padding:0; list-style:none}
    .inline-list li{padding:10px 12px; background:#f7faff; border:1px solid var(--line); border-radius:14px}
    .scroll-x{overflow-x:auto}
    .news-list{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
    .news-item{padding:18px; border-radius:18px; border:1px solid var(--line); background:#fff}
    .news-item time{display:block; color:#6b7280; font-size:.86rem; margin-bottom:8px}
    .news-item a{display:block; font-weight:700; line-height:1.6}
    .mobile-only{display:none}
    @media (max-width: 960px){
      .hero-grid,.grid-4,.grid-3,.reviews,.case-grid,.footer-grid,.news-list{grid-template-columns:1fr}
      .hero-main{min-height:auto}
      .section-head{flex-direction:column; align-items:flex-start}
      .hero-points{grid-template-columns:1fr}
      .nav-toggle{display:inline-grid; place-items:center}
      .nav-links{
        display:none; position:absolute; left:0; right:0; top:100%;
        background:rgba(245,248,255,.98); padding:14px 16px 18px; border-bottom:1px solid var(--line);
        box-shadow:0 18px 34px rgba(43,72,145,.08)
      }
      .nav-links.open{display:flex; flex-direction:column; align-items:flex-start; gap:12px}
      .desktop-only{display:none}
      .mobile-only{display:block}
      .form-grid{grid-template-columns:1fr}
    }