:root{
      --bg:#fbf8f2;
      --panel:#ffffff;
      --panel-2:#fff7ef;
      --text:#18212f;
      --muted:#5d6879;
      --line:#e7dfd2;
      --brand:#2c6fff;
      --brand-2:#ff7a59;
      --brand-3:#8b5cf6;
      --ok:#0f9d58;
      --shadow:0 18px 45px rgba(31, 41, 55, .08);
      --shadow-soft:0 10px 25px rgba(31, 41, 55, .06);
      --radius:22px;
      --radius-sm:16px;
      --container: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",Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 10% 10%, rgba(44,111,255,.09), transparent 20%),
        radial-gradient(circle at 90% 0%, rgba(255,122,89,.10), transparent 22%),
        radial-gradient(circle at 50% 50%, rgba(139,92,246,.06), transparent 26%),
        linear-gradient(180deg, #fffdf9 0%, #fbf8f2 100%);
      line-height:1.65;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
    .topbar{
      position:sticky; top:0; z-index:50;
      backdrop-filter:blur(16px);
      background:rgba(251,248,242,.82);
      border-bottom:1px solid rgba(231,223,210,.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 .ai-page-logo{width:44px; height:44px; object-fit:contain; border-radius:12px; background:#fff; padding:6px; box-shadow:var(--shadow-soft)}
    .brand strong{display:block; font-size:18px; letter-spacing:.3px}
    .brand span{display:block; color:var(--muted); font-size:12px}
    .menu{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:flex-end}
    .menu a{color:#344155; font-size:14px; padding:8px 10px; border-radius:999px; transition:.2s}
    .menu a:hover,.menu a:focus{background:#eef4ff; color:var(--brand)}
    .nav-actions{display:flex; align-items:center; gap:10px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:1px solid transparent; border-radius:999px; padding:12px 18px;
      font-weight:700; cursor:pointer; transition:.25s ease;
      box-shadow:0 8px 18px rgba(44,111,255,.14);
      white-space:nowrap;
    }
    .btn-primary{background:linear-gradient(135deg, var(--brand), #5b8cff); color:#fff}
    .btn-secondary{background:#fff; color:var(--text); border-color:var(--line); box-shadow:none}
    .btn:hover{transform:translateY(-1px)}
    .btn:active{transform:translateY(0)}
    .hero{
      position:relative;
      padding:38px 0 20px;
      overflow:hidden;
    }
    .hero::before,.hero::after{
      content:""; position:absolute; border-radius:50%;
      filter:blur(10px); opacity:.7; pointer-events:none;
    }
    .hero::before{width:260px;height:260px;background:rgba(44,111,255,.10); right:-80px; top:30px}
    .hero::after{width:220px;height:220px;background:rgba(255,122,89,.10); left:-70px; top:180px}
    .hero-grid{
      display:grid; grid-template-columns:1.18fr .82fr; gap:22px; align-items:stretch;
    }
    .hero-main,.hero-side,.card,.panel{
      background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
      border:1px solid rgba(231,223,210,.85);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .hero-main{padding:30px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px;
      color:#234; background:#eef4ff; border:1px solid #dce8ff;
      padding:7px 12px; border-radius:999px; font-size:13px; font-weight:700;
    }
    h1{margin:16px 0 12px; font-size:clamp(30px, 4vw, 54px); line-height:1.08}
    .lead{margin:0; color:var(--muted); font-size:16px; max-width:62ch}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 18px}
    .hero-points{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
    .mini{
      background:var(--panel-2); border:1px solid #f0e4d8; border-radius:18px; padding:14px;
    }
    .mini strong{display:block; font-size:18px}
    .mini span{display:block; color:var(--muted); font-size:13px; margin-top:4px}
    .hero-side{padding:22px; display:grid; gap:14px}
    .side-stat{
      background:linear-gradient(135deg, rgba(44,111,255,.08), rgba(255,122,89,.08));
      border:1px dashed #d9e3ff; border-radius:18px; padding:16px;
    }
    .side-stat strong{font-size:28px; display:block}
    .side-stat span{color:var(--muted); font-size:13px}
    .side-list{display:grid; gap:10px}
    .side-item{
      display:flex; gap:10px; align-items:flex-start;
      padding:12px 0; border-bottom:1px solid #eee5d8;
    }
    .side-item:last-child{border-bottom:none}
    .dot{width:10px;height:10px;border-radius:50%; margin-top:7px; background:linear-gradient(135deg,var(--brand),var(--brand-2))}
    .section{padding:18px 0}
    .section-head{display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 14px}
    .section-head h2{margin:0; font-size:clamp(22px, 2.7vw, 34px)}
    .section-head p{margin:0; color:var(--muted); max-width:66ch}
    .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}
    .card{padding:20px}
    .card h3,.panel h3{margin:0 0 10px; font-size:18px}
    .card p,.panel p{margin:0; color:var(--muted)}
    .metric{display:flex; flex-direction:column; gap:8px}
    .metric strong{font-size:30px}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag{padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#304055; font-size:13px}
    .panel{padding:22px}
    .service-list{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .service{
      padding:16px; border-radius:18px; border:1px solid #efe3d4; background:#fffdf9;
      transition:.25s ease;
    }
    .service:hover{transform:translateY(-2px); box-shadow:var(--shadow-soft)}
    .service b{display:block; margin-bottom:6px}
    .timeline{display:grid; gap:12px}
    .step{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; padding:14px; background:#fff; border:1px solid var(--line); border-radius:16px}
    .num{
      width:34px;height:34px;border-radius:50%; display:grid; place-items:center;
      background:linear-gradient(135deg,var(--brand),var(--brand-3)); color:#fff; font-weight:800;
    }
    .table-wrap{overflow:auto; border-radius:18px; border:1px solid var(--line); background:#fff}
    table{width:100%; border-collapse:collapse; min-width:860px}
    th,td{padding:14px 16px; border-bottom:1px solid #f0e8dd; text-align:left; vertical-align:top}
    th{background:#fff8f0; font-size:14px}
    tr:hover td{background:#fcfaf6}
    details{
      background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px 16px;
      box-shadow:0 6px 16px rgba(31,41,55,.04)
    }
    details+details{margin-top:10px}
    summary{cursor:pointer; font-weight:700}
    summary::-webkit-details-marker{display:none}
    summary::after{content:"＋"; float:right; color:var(--brand); font-weight:800}
    details[open] summary::after{content:"－"}
    .reviews .card{height:100%}
    .avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#e8f0ff,#ffe9df); display:grid; place-items:center; font-weight:800; color:#2a406f}
    .review-head{display:flex; gap:12px; align-items:center; margin-bottom:12px}
    .stars{color:#f5a623; letter-spacing:1px}
    .articles{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
    .article{
      padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff;
      transition:.25s ease;
    }
    .article:hover{transform:translateY(-2px)}
    .article time{display:inline-block; color:var(--muted); font-size:13px; margin-bottom:8px}
    .form-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:16px; align-items:start}
    form{
      display:grid; gap:12px;
    }
    .field{display:grid; gap:8px}
    label{font-weight:700; font-size:14px}
    input,select,textarea{
      width:100%; border:1px solid #dfe5ee; border-radius:14px; padding:13px 14px;
      font:inherit; background:#fff; color:var(--text); outline:none;
    }
    input:focus,select:focus,textarea:focus{border-color:#9bb8ff; box-shadow:0 0 0 4px rgba(44,111,255,.10)}
    textarea{min-height:124px; resize:vertical}
    .contact-box{display:grid; gap:14px}
    .qr{
      display:flex; gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:18px; background:#fff;
    }
    .qr img{width:110px; height:110px; object-fit:cover; border-radius:14px; background:#f7f7f7}
    .footer{
      margin-top:18px;
      background:#1d2430;
      color:#edf2ff;
      padding:28px 0 22px;
    }
    .footer a{color:#d7e4ff}
    .footer-top{display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:start}
    .footer .brand span,.footer p,.footer li,.footer small{color:#b8c3d9}
    .footer-links{display:flex; flex-wrap:wrap; gap:10px}
    .footer-links a{padding:8px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px}
    .copyright{margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.12); font-size:13px}
    .float-actions{
      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:50px; height:50px; border-radius:50%;
      background:linear-gradient(135deg,var(--brand),#5b8cff); color:#fff; box-shadow:var(--shadow);
      border:none; cursor:pointer;
    }
    .float-panel{
      position:fixed; right:16px; bottom:76px; width:min(320px, calc(100vw - 32px));
      background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow);
      padding:14px; display:none;
    }
    .float-panel.show{display:block}
    .float-panel .qr{padding:10px}
    .badge{display:inline-flex; align-items:center; gap:6px; font-size:12px; color:#345; background:#eef4ff; padding:6px 10px; border-radius:999px}
    .compare-note{display:grid; gap:10px}
    .rating{
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
      padding:16px; border-radius:18px; background:linear-gradient(135deg, #fff, #fff6ef); border:1px solid #f1ddd0;
    }
    .rating strong{font-size:28px}
    .anchor-mobile{display:none}
    @media (max-width: 1024px){
      .hero-grid,.form-grid,.footer-top{grid-template-columns:1fr}
      .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
      .articles{grid-template-columns:1fr}
    }
    @media (max-width: 760px){
      .menu{display:none}
      .anchor-mobile{display:inline-flex}
      .grid-4,.grid-3,.grid-2,.hero-points,.service-list{grid-template-columns:1fr}
      .nav{align-items:flex-start; flex-direction:column}
      .nav-actions{width:100%; justify-content:space-between}
      h1{font-size:34px}
      .hero-main,.hero-side,.card,.panel{border-radius:18px}
      .section-head{flex-direction:column; align-items:flex-start}
      .qr{flex-direction:column; align-items:flex-start}
      .float-panel{right:12px; left:12px; width:auto}
    }
    .reveal{opacity:0; transform:translateY(14px); transition:.6s ease}
    .reveal.in{opacity:1; transform:none}