:root{
      --bg:#f7f6f2;
      --panel:#ffffff;
      --panel-2:#fff8f1;
      --text:#142033;
      --muted:#5d6879;
      --line:#e8e1d8;
      --brand:#2457ff;
      --brand-2:#ff4d7d;
      --brand-3:#ffb020;
      --shadow:0 18px 40px rgba(22,35,66,.08);
      --radius:22px;
      --radius-sm:16px;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(36,87,255,.12), transparent 28%),
        radial-gradient(circle at top right, rgba(255,77,125,.10), transparent 26%),
        linear-gradient(180deg, #fff 0%, var(--bg) 24%, #f8f5ef 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:saturate(1.2) blur(14px);
      background:rgba(247,246,242,.86);
      border-bottom:1px solid rgba(232,225,216,.8);
    }
    .nav-wrap{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 .ai-page-logo{width:44px; height:44px; object-fit:contain}
    .brand-text{min-width:0}
    .brand-text strong{display:block; font-size:1.02rem}
    .brand-text span{display:block; font-size:.82rem; color:var(--muted)}
    .nav{display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:flex-end}
    .nav a{font-size:.92rem; color:#314056; padding:8px 0; position:relative}
    .nav a::after{content:""; position:absolute; left:0; bottom:2px; width:0; height:2px; background:linear-gradient(90deg,var(--brand),var(--brand-2)); transition:.22s ease}
    .nav a:hover::after,.nav a:focus::after{width:100%}
    .nav-toggle{display:none; border:1px solid var(--line); background:#fff; color:var(--text); border-radius:14px; width:44px; height:44px}
    .hero{
      padding:42px 0 24px;
      position:relative;
      overflow:hidden;
    }
    .hero::before,.hero::after{
      content:""; position:absolute; border-radius:999px; filter:blur(10px); opacity:.9; pointer-events:none;
    }
    .hero::before{width:220px;height:220px;background:rgba(36,87,255,.12); right:-50px; top:30px}
    .hero::after{width:180px;height:180px;background:rgba(255,77,125,.12); left:-40px; bottom:0}
    .hero-grid{display:grid; grid-template-columns:1.18fr .82fr; gap:24px; align-items:stretch}
    .hero-copy,.hero-card{
      background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
      border:1px solid rgba(232,225,216,.95);
      border-radius:28px;
      box-shadow:var(--shadow);
    }
    .hero-copy{padding:34px}
    .eyebrow{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(36,87,255,.08); color:#2547b9; font-weight:700; font-size:.84rem}
    h1{font-size:clamp(2rem,4.8vw,3.8rem); line-height:1.05; margin:18px 0 14px; letter-spacing:-.03em}
    .lead{font-size:1.06rem; line-height:1.85; 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:10px;
      border-radius:16px; padding:13px 18px; font-weight:700; border:1px solid transparent; transition:.22s ease;
      cursor:pointer;
    }
    .btn-primary{background:linear-gradient(135deg,var(--brand),#3b79ff); color:#fff; box-shadow:0 12px 28px rgba(36,87,255,.22)}
    .btn-secondary{background:#fff; color:var(--text); border-color:var(--line)}
    .btn-ghost{background:linear-gradient(135deg, rgba(255,77,125,.12), rgba(255,176,32,.12)); color:#7b2d49; border-color:rgba(255,77,125,.12)}
    .btn:hover{transform:translateY(-2px)}
    .hero-meta{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px}
    .mini-stat{padding:16px; background:rgba(255,255,255,.85); border:1px solid var(--line); border-radius:18px}
    .mini-stat strong{display:block; font-size:1.2rem}
    .mini-stat span{display:block; margin-top:4px; color:var(--muted); font-size:.9rem; line-height:1.5}
    .hero-card{padding:18px; display:grid; gap:14px}
    .hero-card-top{display:flex; align-items:center; justify-content:space-between; gap:12px}
    .badge{padding:8px 12px; border-radius:999px; background:#f1f5ff; color:#2447b9; font-size:.86rem; font-weight:700}
    .hero-card ul{margin:0; padding:0; list-style:none; display:grid; gap:10px}
    .hero-card li{display:flex; gap:10px; align-items:flex-start; padding:12px 12px; border-radius:16px; background:var(--panel-2); border:1px solid #f2e5d4}
    .dot{width:10px;height:10px;border-radius:50%; background:linear-gradient(135deg,var(--brand-2),var(--brand-3)); margin-top:5px; flex:none}
    .section{padding:26px 0}
    .section h2{font-size:clamp(1.5rem,3vw,2.3rem); margin:0 0 12px}
    .section .section-sub{margin:0 0 20px; color:var(--muted); line-height:1.8; 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,.panel{
      background:rgba(255,255,255,.92);
      border:1px solid rgba(232,225,216,.95);
      border-radius:22px;
      box-shadow:0 12px 30px rgba(20,32,51,.05);
    }
    .card{padding:20px}
    .card h3{margin:0 0 8px; font-size:1.02rem}
    .card p,.card li{color:var(--muted); line-height:1.75}
    .metric{font-size:1.7rem; font-weight:800; letter-spacing:-.03em}
    .metric-label{margin-top:8px; color:var(--muted); font-size:.92rem}
    .icon{
      width:44px; height:44px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(36,87,255,.12), rgba(255,77,125,.12));
      margin-bottom:12px; color:#2447b9; font-weight:800;
    }
    .split{display:grid; grid-template-columns:1fr 1fr; gap:16px}
    .list{margin:0; padding-left:18px}
    .table-wrap{overflow:auto; border-radius:22px; border:1px solid rgba(232,225,216,.95); background:#fff}
    table{width:100%; border-collapse:collapse; min-width:860px}
    th,td{padding:14px 16px; border-bottom:1px solid #eee; text-align:left; vertical-align:top}
    th{background:#fbf7f1; font-size:.92rem}
    tr:hover td{background:#fffdf9}
    .pill{display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:#f4f7ff; color:#2342b1; font-size:.85rem; margin:0 8px 8px 0; border:1px solid #e1e8ff}
    .step-list{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
    .step{padding:20px; border-radius:22px; background:linear-gradient(180deg,#fff,#fff9f2); border:1px solid var(--line); position:relative}
    .step b{display:inline-flex; width:34px; height:34px; border-radius:11px; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; margin-bottom:12px}
    .gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .gallery img,.side-media img{border-radius:20px; border:1px solid var(--line); background:#fff; width:100%}
    .articles{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .article{padding:20px}
    .article time{display:block; color:#7a8495; font-size:.86rem; margin-bottom:8px}
    .form-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:16px}
    form{display:grid; gap:12px}
    input,select,textarea{
      width:100%; border:1px solid #dfe4ec; border-radius:14px; padding:13px 14px; font:inherit; color:var(--text); background:#fff;
    }
    textarea{min-height:130px; resize:vertical}
    label{font-size:.92rem; font-weight:700; margin-bottom:4px; display:block}
    .faq details{background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px 16px}
    .faq{display:grid; gap:12px}
    .faq summary{cursor:pointer; list-style:none; font-weight:700}
    .faq summary::-webkit-details-marker{display:none}
    .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .review{padding:20px}
    .review .role{color:#6a7280; font-size:.88rem; margin-top:6px}
    .stars{color:#ff9c2c; letter-spacing:2px; font-size:1rem}
    .footer{
      margin-top:16px;
      background:#111827;
      color:#e5e7eb;
      padding:24px 0 26px;
    }
    .footer a{color:#fff}
    .footer .section-sub{color:#c9d0dc}
    .footer-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:16px}
    .footer small{color:#c9d0dc}
    .floating{
      position:fixed; right:14px; bottom:14px; z-index:60;
      display:grid; gap:10px;
    }
    .floating a,.floating button{
      width:48px; height:48px; border:none; border-radius:16px; box-shadow:var(--shadow);
      display:grid; place-items:center; background:#fff; color:var(--text); cursor:pointer; border:1px solid var(--line)
    }
    .floating .primary{background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff}
    .contact-card{display:grid; grid-template-columns:140px 1fr; gap:16px; align-items:center}
    .contact-card img{border-radius:18px; border:1px solid var(--line)}
    .tags{display:flex; flex-wrap:wrap; gap:8px}
    .service-net{display:grid; grid-template-columns:repeat(5,1fr); gap:12px}
    .service-net .card{padding:16px}
    .score-box{display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:stretch}
    .score{padding:22px; background:linear-gradient(135deg,#fff,#fff7fb); border:1px solid #f0d8e4}
    .score strong{font-size:2rem}
    .scroll-top{display:none}
    .mobile-only{display:none}
    .scroll-animate{opacity:0; transform:translateY(18px); transition:.6s ease}
    .scroll-animate.inview{opacity:1; transform:translateY(0)}
    @media (max-width: 1024px){
      .hero-grid,.form-grid,.footer-grid,.split,.score-box{grid-template-columns:1fr}
      .grid-4,.grid-3,.step-list,.reviews,.articles,.service-net{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width: 760px){
      .nav-toggle{display:inline-grid; place-items:center}
      .nav{display:none; width:100%; padding:8px 0 2px}
      .nav.open{display:flex; flex-direction:column; align-items:flex-start; gap:8px}
      .nav-wrap{flex-wrap:wrap}
      .hero{padding-top:22px}
      .hero-copy{padding:22px}
      .hero-meta,.grid-4,.grid-3,.step-list,.reviews,.articles,.gallery,.service-net{grid-template-columns:1fr}
      .contact-card{grid-template-columns:1fr}
      .mobile-only{display:inline-flex}
      table{min-width:760px}
    }