:root{
      --bg:#f6f4ef;
      --panel:#ffffff;
      --panel-2:#fff7f1;
      --text:#17212b;
      --muted:#5f6b78;
      --line:#e6ddd3;
      --brand:#ff4f7b;
      --brand-2:#ff8a3d;
      --brand-3:#7c5cff;
      --shadow:0 18px 50px rgba(36, 25, 18, .08);
      --radius:22px;
      --radius-sm:16px;
      --container: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 15% 10%, rgba(255,79,123,.12), transparent 20%),
        radial-gradient(circle at 85% 15%, rgba(124,92,255,.10), transparent 18%),
        linear-gradient(180deg, #fffdfa 0%, #f7f4ef 38%, #f6f4ef 100%);
    }
    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(246,244,239,.82);
      border-bottom:1px solid rgba(230,221,211,.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:42px; height:42px; object-fit:contain}
    .brand strong{display:block; font-size:1.02rem; letter-spacing:.4px}
    .brand span{display:block; font-size:.82rem; color:var(--muted)}
    .menu{display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end}
    .menu a{font-size:.95rem; color:#2c3742; padding:8px 10px; border-radius:999px}
    .menu a:hover,.menu a:focus{background:#fff; color:#111; box-shadow:0 8px 24px rgba(0,0,0,.05)}
    .nav-cta{display:flex; align-items:center; gap:10px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:0; border-radius:999px; padding:12px 18px; font-weight:700;
      transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
      cursor:pointer;
    }
    .btn:hover{transform:translateY(-1px); box-shadow:0 14px 28px rgba(0,0,0,.10)}
    .btn-primary{background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:#fff}
    .btn-secondary{background:#fff; color:#222; border:1px solid var(--line)}
    .mobile-toggle{display:none; width:44px; height:44px; border-radius:14px; border:1px solid var(--line); background:#fff}
    .hero{padding:42px 0 20px}
    .hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:stretch}
    .hero-card{
      background:linear-gradient(145deg, #fff 0%, #fff8f4 100%);
      border:1px solid rgba(230,221,211,.95);
      border-radius:30px; box-shadow:var(--shadow);
      padding:34px; position:relative; overflow:hidden;
    }
    .hero-card:before{
      content:""; position:absolute; inset:auto -20px -40px auto; width:220px; height:220px;
      background:radial-gradient(circle, rgba(255,79,123,.16), transparent 68%);
      pointer-events:none;
    }
    .eyebrow{display:inline-flex; padding:7px 12px; border-radius:999px; background:#fff1f5; color:#c31f53; font-weight:700; font-size:.86rem}
    h1{font-size:clamp(2rem, 4.2vw, 3.6rem); line-height:1.08; margin:16px 0 14px}
    .lead{font-size:1.05rem; line-height:1.8; color:var(--muted); max-width:64ch}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 20px}
    .hero-points{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:18px}
    .mini{
      background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px;
    }
    .mini strong{display:block; font-size:1.05rem}
    .mini span{display:block; color:var(--muted); font-size:.88rem; margin-top:6px}
    .hero-side{
      display:grid; gap:16px;
      grid-template-columns:1fr;
    }
    .panel{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(230,221,211,.95);
      border-radius:26px; box-shadow:var(--shadow); padding:22px;
    }
    .stats{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px}
    .stat{
      background:linear-gradient(180deg,#fff 0%, #fff7f1 100%);
      border:1px solid var(--line); border-radius:20px; padding:16px;
    }
    .stat b{display:block; font-size:1.55rem}
    .stat span{display:block; color:var(--muted); font-size:.88rem; margin-top:6px}
    .section{padding:22px 0}
    .section h2{font-size:clamp(1.45rem, 2vw, 2.15rem); margin:0 0 12px}
    .section p.section-lead{color:var(--muted); line-height:1.8; margin:0 0 18px}
    .grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
    .grid-4{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px}
    .card{
      background:var(--panel); border:1px solid var(--line); border-radius:24px; padding:20px; box-shadow:0 10px 30px rgba(28,22,15,.05);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .card:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(28,22,15,.09); border-color:#e0cdbb}
    .card h3{margin:0 0 8px; font-size:1.06rem}
    .card p,.card li{color:var(--muted); line-height:1.75}
    .badge{display:inline-flex; padding:6px 10px; border-radius:999px; background:#f4f1ff; color:#5536d0; font-size:.82rem; font-weight:700}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag{padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#37404a}
    .steps{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px}
    .step{position:relative}
    .step .num{width:40px; height:40px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg, var(--brand), var(--brand-3)); color:#fff; font-weight:800; margin-bottom:12px}
    .table-wrap{overflow:auto; border-radius:24px; border:1px solid var(--line); background:#fff}
    table{width:100%; border-collapse:collapse; min-width:780px}
    th,td{padding:16px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#fff7f1; font-size:.95rem}
    tr:last-child td{border-bottom:0}
    .compare{
      display:grid; grid-template-columns:1fr .9fr; gap:16px; align-items:stretch
    }
    .rating{
      background:linear-gradient(145deg, #1f2430, #2a1630); color:#fff; border-radius:26px; padding:24px; box-shadow:var(--shadow)
    }
    .rating .score{font-size:3rem; line-height:1; margin:8px 0 10px}
    .rating ul{padding-left:18px; color:#f2e9ef; line-height:1.8}
    .faq details{
      background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 18px
    }
    .faq details + details{margin-top:12px}
    .faq summary{cursor:pointer; font-weight:700; list-style:none}
    .faq summary::-webkit-details-marker{display:none}
    .faq p{margin:10px 0 0; color:var(--muted); line-height:1.8}
    .quotes{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
    .quote{background:linear-gradient(180deg,#fff, #fffaf6); border:1px solid var(--line); border-radius:24px; padding:20px}
    .quote .who{margin-top:14px; color:#2b3640; font-weight:700}
    .news-list{display:grid; gap:12px}
    .news-item{display:flex; justify-content:space-between; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:18px; border:1px solid var(--line); background:#fff}
    .news-item small{color:var(--muted)}
    .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .field{display:flex; flex-direction:column; gap:8px}
    .field input,.field select,.field textarea{
      width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--text); font:inherit;
    }
    .field textarea{min-height:120px; resize:vertical}
    .full{grid-column:1 / -1}
    .footer{
      margin-top:18px; padding:24px 0 40px; border-top:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.9));
      color:#2a333d;
    }
    .footer-grid{display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px}
    .footer a{color:#243447}
    .footer .links{display:flex; flex-wrap:wrap; gap:10px}
    .footer .links a{padding:8px 11px; border-radius:999px; background:#fff; border:1px solid var(--line)}
    .copyright{margin-top:18px; color:#66717d; font-size:.92rem}
    .float-tools{
      position:fixed; right:16px; bottom:16px; z-index:40; display:flex; flex-direction:column; gap:10px
    }
    .float-tools a,.float-tools button{
      width:48px; height:48px; border-radius:16px; border:1px solid var(--line); background:#fff; display:grid; place-items:center; box-shadow:var(--shadow); cursor:pointer
    }
    .floating-contact{
      position:fixed; left:16px; bottom:16px; z-index:40; width:min(320px, calc(100vw - 32px));
      background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow); padding:14px
    }
    .floating-contact .row{display:flex; gap:12px; align-items:center}
    .floating-contact img{width:84px; height:84px; object-fit:cover; border-radius:16px; border:1px solid var(--line)}
    .floating-contact strong{display:block}
    .floating-contact p{margin:6px 0 0; color:var(--muted); font-size:.92rem; line-height:1.6}
    .reveal{opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease}
    .reveal.show{opacity:1; transform:none}
    .mobile-menu{display:none}
    @media (max-width: 980px){
      .hero-grid,.compare,.footer-grid,.grid-4,.grid-3,.steps,.quotes{grid-template-columns:1fr 1fr}
      .hero-points,.form-grid{grid-template-columns:1fr}
      .menu{display:none}
      .mobile-toggle{display:inline-grid; place-items:center}
      .mobile-menu{display:none; padding:0 0 14px}
      .mobile-menu.open{display:block}
      .mobile-menu a{display:block; padding:12px 0; border-top:1px solid var(--line); color:#26313c}
      .floating-contact{display:none}
    }
    @media (max-width: 640px){
      .container{width:min(var(--container), calc(100% - 24px))}
      .hero-card,.panel,.card,.quote,.news-item{border-radius:20px}
      .hero-grid,.compare,.footer-grid,.grid-4,.grid-3,.steps,.quotes,.stats{grid-template-columns:1fr}
      .nav{padding:12px 0}
      .hero{padding-top:24px}
      .hero-card{padding:24px}
      .section{padding:18px 0}
      .float-tools{right:12px; bottom:12px}
    }