:root{
      --bg:#f5f7fb;
      --bg2:#eef4ff;
      --card:#ffffff;
      --card2:#f8fbff;
      --line:#d8e2f2;
      --text:#18304b;
      --muted:#5e718a;
      --brand:#2f6bff;
      --brand2:#7c4dff;
      --accent:#20c997;
      --warn:#ffb020;
      --shadow:0 14px 40px rgba(31, 59, 112, .10);
      --shadow2:0 10px 28px rgba(53, 98, 177, .12);
      --radius:22px;
      --radius2:16px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(47,107,255,.10), transparent 30%),
        radial-gradient(circle at top right, rgba(124,77,255,.10), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #f4f7fc 46%, #eef4ff 100%);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    .site-header{
      position:sticky; top:0; z-index:50;
      backdrop-filter:saturate(160%) blur(14px);
      background:rgba(245,247,251,.78);
      border-bottom:1px solid rgba(216,226,242,.8);
    }
    .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:44px; height:44px; object-fit:contain; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(47,107,255,.10)}
    .brand strong{display:block; font-size:1rem; line-height:1.2}
    .brand span{display:block; font-size:.82rem; color:var(--muted); margin-top:3px}
    .nav-actions{display:flex; align-items:center; gap:10px}
    .menu-toggle{
      display:none; border:1px solid var(--line); background:#fff; color:var(--text);
      border-radius:12px; padding:10px 12px; box-shadow:var(--shadow); cursor:pointer;
    }
    .nav-links{display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:flex-end}
    .nav-links a{font-size:.95rem; color:#2a405d; padding:8px 0; position:relative}
    .nav-links a::after{
      content:""; position:absolute; left:0; bottom:2px; width:100%; height:2px;
      background:linear-gradient(90deg,var(--brand),var(--brand2)); transform:scaleX(0); transform-origin:left; transition:.25s ease;
    }
    .nav-links a:hover::after{transform:scaleX(1)}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:1px solid transparent; border-radius:14px; padding:12px 16px;
      font-weight:700; transition:.25s ease; cursor:pointer; white-space:nowrap;
    }
    .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; box-shadow:0 14px 28px rgba(47,107,255,.22)}
    .btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 36px rgba(47,107,255,.28)}
    .btn-ghost{background:#fff; border-color:var(--line); color:var(--text)}
    .btn-ghost:hover{transform:translateY(-2px); box-shadow:var(--shadow2)}
    .hero{
      position:relative; overflow:hidden;
      padding:56px 0 28px;
    }
    .hero::before,.hero::after{
      content:""; position:absolute; inset:auto; border-radius:999px; pointer-events:none;
      filter:blur(12px); opacity:.55;
    }
    .hero::before{width:220px;height:220px;background:rgba(47,107,255,.14); right:-40px; top:20px}
    .hero::after{width:180px;height:180px;background:rgba(32,201,151,.14); left:-44px; top:180px}
    .hero-grid{
      display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:stretch;
    }
    .hero-main, .hero-side, .section-card, .panel, .faq-item, .review-card, .article-card, .case-card, .step-card, .metric, .price-card{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
      border:1px solid rgba(216,226,242,.95);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .hero-main{padding:30px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
      color:#335a9b; font-weight:700; font-size:.92rem;
      background:rgba(47,107,255,.08); border:1px solid rgba(47,107,255,.12);
      padding:8px 12px; border-radius:999px;
    }
    h1{margin:0; font-size:clamp(2rem, 4vw, 3.6rem); line-height:1.08; letter-spacing:-.02em}
    .lead{margin:16px 0 0; color:var(--muted); font-size:1.03rem; line-height:1.85; max-width:62ch}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
    .hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
    .badge{
      padding:10px 12px; border-radius:999px; background:#fff; border:1px solid var(--line);
      color:#33506f; font-size:.92rem; box-shadow:0 8px 18px rgba(31,59,112,.05)
    }
    .hero-side{padding:22px; display:grid; gap:14px}
    .side-card{
      border-radius:18px; background:linear-gradient(135deg, rgba(47,107,255,.08), rgba(124,77,255,.08));
      border:1px solid rgba(47,107,255,.14); padding:16px
    }
    .side-card h3{margin:0 0 8px; font-size:1.02rem}
    .side-card p{margin:0; color:var(--muted); line-height:1.75; font-size:.95rem}
    .side-stats{display:grid; grid-template-columns:1fr 1fr; gap:12px}
    .stat{
      padding:14px; background:#fff; border:1px solid var(--line); border-radius:16px; text-align:left
    }
    .stat strong{display:block; font-size:1.28rem; color:#162a44}
    .stat span{display:block; color:var(--muted); font-size:.88rem; margin-top:4px}
    section{padding:18px 0}
    .section-card{padding:24px}
    .section-title{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px}
    .section-title h2{margin:0; font-size:clamp(1.45rem, 2.4vw, 2.1rem)}
    .section-title p{margin:0; color:var(--muted); max-width:60ch; line-height:1.7}
    .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
    .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
    .grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
    .metric,.panel,.case-card,.article-card,.review-card,.step-card,.price-card{padding:18px}
    .metric h3,.panel h3,.case-card h3,.article-card h3,.review-card h3,.step-card h3,.price-card h3{margin:0 0 10px; font-size:1.02rem}
    .metric strong{display:block; font-size:1.6rem; margin-bottom:8px; color:#10345a}
    .metric p,.panel p,.case-card p,.article-card p,.review-card p,.step-card p,.price-card p{margin:0; color:var(--muted); line-height:1.75}
    .pill-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
    .pill{font-size:.82rem; color:#35506f; background:#f3f7ff; border:1px solid #dbe7ff; padding:7px 10px; border-radius:999px}
    .services .panel{min-height:100%}
    .timeline{display:grid; gap:12px}
    .timeline-item{display:grid; grid-template-columns:72px 1fr; gap:14px; align-items:start}
    .timeline-item .time{font-weight:800; color:#2f6bff}
    .timeline-item .desc{color:var(--muted); line-height:1.75}
    .table-wrap{overflow:auto; border:1px solid var(--line); border-radius:18px; background:#fff}
    table{width:100%; border-collapse:collapse; min-width:820px}
    th,td{padding:14px 12px; border-bottom:1px solid #edf2fa; text-align:left; vertical-align:top}
    th{background:#f5f8ff; color:#26425f; font-size:.95rem}
    td{color:#39506b; line-height:1.7}
    .rating{display:flex; align-items:center; gap:8px; color:#133d67; font-weight:700}
    .stars{color:#ffb020; letter-spacing:2px}
    .faq-list{display:grid; gap:12px}
    .faq-item summary{
      list-style:none; cursor:pointer; padding:18px; font-weight:700; display:flex; align-items:center; justify-content:space-between; gap:12px
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary span{color:#233c59}
    .faq-item .answer{padding:0 18px 18px; color:var(--muted); line-height:1.8}
    .faq-item{overflow:hidden}
    .faq-item[open]{box-shadow:0 18px 40px rgba(47,107,255,.12)}
    .faq-item summary::after{content:"＋"; color:#2f6bff; font-size:1.2rem}
    .faq-item[open] summary::after{content:"－"}
    .review-meta{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px}
    .review-meta .role{color:#6b7f96; font-size:.9rem}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag-cloud a,.tag-cloud span{
      padding:9px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#38526f; font-size:.9rem
    }
    .form{
      display:grid; gap:14px
    }
    .form-row{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .field{display:grid; gap:8px}
    label{font-weight:700; color:#28425f; font-size:.95rem}
    input,select,textarea{
      width:100%; border:1px solid #d9e2f0; background:#fff; color:var(--text);
      border-radius:14px; padding:13px 14px; font:inherit; outline:none; transition:.2s ease;
    }
    textarea{min-height:120px; resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:#7aa2ff; box-shadow:0 0 0 4px rgba(47,107,255,.10)}
    .footer{
      margin-top:14px;
      background:#f3f7ff;
      border-top:1px solid #d8e2f2;
      color:#23364c;
      padding:24px 0 26px;
    }
    .footer a{color:#2155c8}
    .footer-grid{display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px}
    .footer small, .footer p{color:#52657d; line-height:1.8}
    .qr{display:flex; gap:16px; align-items:center}
    .qr img{width:132px; height:132px; object-fit:cover; border-radius:18px; border:1px solid var(--line); background:#fff}
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:60; display:grid; gap:10px
    }
    .float-btn{
      display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
      border-radius:16px; background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff;
      box-shadow:0 16px 30px rgba(47,107,255,.25)
    }
    .float-contact{
      width:220px; padding:14px; border-radius:18px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow)
    }
    .float-contact strong{display:block; margin-bottom:6px}
    .float-contact span{display:block; color:var(--muted); line-height:1.6; font-size:.92rem}
    .scroll-top{border:none; cursor:pointer}
    .fade-in{opacity:0; transform:translateY(18px); transition:.7s ease}
    .fade-in.visible{opacity:1; transform:translateY(0)}
    .mobile-only{display:none}
    .home-link{font-weight:700}
    .image-row{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .image-row img{width:100%; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow)}
    .mini-note{font-size:.88rem; color:#65798f}
    .top-links{display:none}
    .inline-links{display:flex; flex-wrap:wrap; gap:10px}
    .inline-links a{padding:10px 12px; border-radius:12px; background:#fff; border:1px solid var(--line)}
    .responsive-table-note{display:none}
    @media (max-width: 1024px){
      .hero-grid,.grid-4,.grid-3,.grid-2,.footer-grid,.image-row{grid-template-columns:1fr 1fr}
      .form-row{grid-template-columns:1fr}
    }
    @media (max-width: 760px){
      .menu-toggle{display:inline-flex}
      .nav-links{
        display:none; position:absolute; left:0; right:0; top:100%;
        background:rgba(245,247,251,.98); border-bottom:1px solid var(--line); padding:14px 16px;
        flex-direction:column; align-items:flex-start; gap:12px
      }
      .nav-links.open{display:flex}
      .nav{position:relative}
      .hero{padding-top:24px}
      .hero-grid,.grid-4,.grid-3,.grid-2,.footer-grid,.image-row{grid-template-columns:1fr}
      .hero-main,.hero-side,.section-card{padding:20px}
      .section-title{flex-direction:column; align-items:flex-start}
      .timeline-item{grid-template-columns:1fr}
      .mobile-only{display:block}
      .float-contact{display:none}
      .responsive-table-note{display:block;color:var(--muted);font-size:.9rem;margin-bottom:12px}
    }