:root{
      --bg:#fff7fb;
      --bg2:#fff1f4;
      --card:#ffffff;
      --card2:#fff8fa;
      --text:#1f2430;
      --muted:#616a7a;
      --brand:#e93b74;
      --brand2:#ff7aa8;
      --brand3:#8f4bff;
      --line:#f0d9e3;
      --shadow:0 14px 40px rgba(188, 66, 107, .10);
      --shadow2:0 10px 24px rgba(42, 19, 52, .08);
      --radius:20px;
      --container: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;
      background:
        radial-gradient(circle at top left, rgba(233,59,116,.10), transparent 26%),
        radial-gradient(circle at 85% 10%, rgba(143,75,255,.09), transparent 22%),
        linear-gradient(180deg, #fff9fc 0%, #fff5f8 42%, #fff 100%);
      color:var(--text);
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{width:min(100% - 32px, var(--container)); margin:0 auto}
    .topbar{
      position:sticky; top:0; z-index:50;
      backdrop-filter:saturate(180%) blur(18px);
      background:rgba(255,247,251,.86);
      border-bottom:1px solid rgba(240,217,227,.8);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:18px;
      padding:14px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand img{width:42px; height:42px; object-fit:contain; border-radius:12px; background:#fff; box-shadow:var(--shadow2)}
    .brand strong{display:block; font-size:18px; line-height:1.15}
    .brand span{display:block; font-size:12px; color:var(--muted); margin-top:4px}
    .navlinks{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px; align-items:center}
    .navlinks a{font-size:14px; color:#394150; padding:8px 10px; border-radius:999px; transition:.2s ease}
    .navlinks a:hover{background:#fff; color:var(--brand); box-shadow:0 6px 18px rgba(233,59,116,.08)}
    .nav-actions{display:flex; gap:10px; align-items:center}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      border:0; border-radius:999px; padding:12px 18px; font-weight:700;
      cursor:pointer; transition:.22s ease; box-shadow:0 10px 20px rgba(233,59,116,.15);
    }
    .btn-primary{background:linear-gradient(135deg,var(--brand),#ff5d8f); color:#fff}
    .btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px rgba(233,59,116,.24)}
    .btn-ghost{background:#fff; color:var(--text); border:1px solid var(--line); box-shadow:none}
    .btn-ghost:hover{border-color:#efbfd0; transform:translateY(-1px)}
    .menu-toggle{display:none; background:#fff; color:var(--text); border:1px solid var(--line); border-radius:12px; padding:10px 12px}
    .hero{
      padding:42px 0 24px;
    }
    .hero-grid{
      display:grid; grid-template-columns:1.25fr .75fr; gap:20px; align-items:stretch;
    }
    .hero-card{
      position:relative; overflow:hidden;
      background:
        linear-gradient(135deg, rgba(233,59,116,.95), rgba(255,122,168,.92) 52%, rgba(143,75,255,.88));
      color:#fff; border-radius:28px; padding:34px;
      box-shadow:0 26px 60px rgba(140, 44, 92, .24);
      min-height: 420px;
    }
    .hero-card::before,.hero-card::after{
      content:""; position:absolute; border-radius:50%;
      background:rgba(255,255,255,.13); filter:blur(2px);
    }
    .hero-card::before{width:220px;height:220px; right:-60px; top:-50px}
    .hero-card::after{width:160px;height:160px; left:-40px; bottom:-50px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 12px; border-radius:999px;
      background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2);
      font-size:13px;
    }
    h1{margin:16px 0 12px; font-size:clamp(32px, 5vw, 54px); line-height:1.06}
    .hero p{margin:0; max-width:58ch; font-size:16px; line-height:1.85; color:rgba(255,255,255,.92)}
    .hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
    .hero-actions .btn{padding:13px 20px}
    .hero-meta{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px}
    .meta-item{
      background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.17);
      border-radius:18px; padding:14px 14px 12px;
      backdrop-filter: blur(8px);
    }
    .meta-item b{display:block; font-size:20px}
    .meta-item span{display:block; font-size:12px; opacity:.92; margin-top:4px; line-height:1.45}
    .hero-side{
      display:grid; gap:16px;
    }
    .side-card{
      background:var(--card); border:1px solid rgba(240,217,227,.9);
      border-radius:24px; padding:20px; box-shadow:var(--shadow);
    }
    .side-card h2,.section-title h2{margin:0 0 10px; font-size:24px; line-height:1.2}
    .side-card p,.section-title p{margin:0; color:var(--muted); line-height:1.8}
    .quick-list{display:grid; gap:10px; margin-top:16px}
    .quick-list div{
      background:linear-gradient(180deg,#fff,#fffafc);
      border:1px solid var(--line); border-radius:16px; padding:12px 14px;
      display:flex; justify-content:space-between; gap:12px; font-size:14px;
    }
    .quick-list strong{color:var(--brand)}
    .section{padding:18px 0 0}
    .section-title{display:flex; justify-content:space-between; gap:18px; align-items:end; margin-bottom:16px}
    .section-title .badge{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--brand); font-size:13px; font-weight:700}
    .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{
      background:var(--card); border:1px solid rgba(240,217,227,.95); border-radius:var(--radius);
      padding:20px; box-shadow:var(--shadow2); transition:.22s ease;
    }
    .card:hover{transform:translateY(-3px); box-shadow:0 18px 36px rgba(188,66,107,.12)}
    .icon{
      width:44px; height:44px; border-radius:14px; display:grid; place-items:center;
      background:linear-gradient(135deg, rgba(233,59,116,.12), rgba(143,75,255,.12));
      color:var(--brand); font-weight:900; margin-bottom:12px;
    }
    .card h3{margin:0 0 8px; font-size:18px}
    .card p,.card li{color:var(--muted); line-height:1.8}
    .stats .card{padding:22px}
    .stat{font-size:28px; font-weight:900; color:var(--brand); line-height:1}
    .stat + p{margin-top:10px}
    .tag-cloud{display:flex; flex-wrap:wrap; gap:10px}
    .tag{padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#3b4252; font-size:14px}
    .panel{
      background:linear-gradient(180deg,#fff, #fff8fb);
      border:1px solid rgba(240,217,227,.95);
      border-radius:26px;
      box-shadow:var(--shadow2);
      padding:22px;
    }
    .table-wrap{overflow:auto; border-radius:20px; border:1px solid var(--line); background:#fff}
    table{width:100%; border-collapse:collapse; min-width:760px}
    th,td{padding:14px 16px; text-align:left; border-bottom:1px solid #f5e7ec; vertical-align:top; font-size:14px}
    th{background:#fff7fa; color:#394150}
    .rating{color:#e63b73; font-weight:800}
    .timeline{display:grid; gap:14px}
    .step{
      display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;
      background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px;
    }
    .step-num{
      width:34px;height:34px;border-radius:50%; display:grid; place-items:center;
      background:linear-gradient(135deg,var(--brand),#ff6c9b); color:#fff; font-weight:800;
      box-shadow:0 10px 18px rgba(233,59,116,.2)
    }
    .step h3{margin:0 0 6px; font-size:16px}
    .split{
      display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:stretch;
    }
    .list{display:grid; gap:10px; margin:0; padding:0; list-style:none}
    .list li{
      padding:12px 14px; border-radius:14px; background:#fff; border:1px solid var(--line);
    }
    .faq{display:grid; gap:12px}
    details{
      background:#fff; border:1px solid var(--line); border-radius:18px; padding:0 16px;
      box-shadow:var(--shadow2)
    }
    summary{
      list-style:none; cursor:pointer; padding:16px 0; font-weight:700; color:#273041;
    }
    summary::-webkit-details-marker{display:none}
    details p{margin:0 0 16px; color:var(--muted); line-height:1.8}
    .reviews .card{display:flex; flex-direction:column; gap:12px}
    .avatar{
      width:48px;height:48px;border-radius:50%;
      background:linear-gradient(135deg,#ffe1ea,#fff); border:1px solid var(--line);
      display:grid; place-items:center; font-weight:800; color:var(--brand)
    }
    .review-head{display:flex; align-items:center; gap:12px}
    .review-head div{min-width:0}
    .review-head b{display:block}
    .review-head span{font-size:12px; color:var(--muted)}
    .stars{color:#ffb000; letter-spacing:1px}
    .article-list{display:grid; gap:12px}
    .article-item{
      display:flex; justify-content:space-between; gap:16px; align-items:center;
      padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:16px;
    }
    .article-item strong{display:block; margin-bottom:4px}
    .article-item small{color:var(--muted)}
    .form{
      display:grid; gap:14px;
    }
    .form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .field{display:grid; gap:8px}
    label{font-size:14px; font-weight:700; color:#313949}
    input,select,textarea{
      width:100%; border:1px solid #ead6df; background:#fff; color:var(--text);
      border-radius:14px; padding:13px 14px; outline:none; font:inherit; transition:.2s ease;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--brand); box-shadow:0 0 0 4px rgba(233,59,116,.10)}
    textarea{min-height:120px; resize:vertical}
    .footer{
      margin-top:24px;
      padding:28px 0 30px;
      border-top:1px solid rgba(240,217,227,.9);
      background:linear-gradient(180deg, rgba(255,249,252,.55), rgba(255,245,248,.95));
      color:#2a3140;
    }
    .footer a{color:#273041}
    .footer .links{display:flex; flex-wrap:wrap; gap:10px}
    .footer .links a{
      padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line)
    }
    .footer-bottom{
      display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:18px; color:#5f6878; font-size:13px;
    }
    .floating{
      position:fixed; right:16px; bottom:18px; z-index:60; display:grid; gap:10px;
    }
    .float-btn{
      width:52px; height:52px; border-radius:16px; display:grid; place-items:center;
      background:linear-gradient(135deg,var(--brand),#ff6fa0); color:#fff; box-shadow:0 16px 28px rgba(233,59,116,.24);
      border:0; cursor:pointer;
    }
    .float-panel{
      position:absolute; right:0; bottom:62px; width:min(320px, calc(100vw - 32px));
      background:#fff; border:1px solid var(--line); border-radius:20px; padding:16px; box-shadow:var(--shadow);
      display:none;
    }
    .float-panel.show{display:block}
    .float-panel .qr{display:flex; gap:14px; align-items:center}
    .float-panel img{width:92px; height:92px; object-fit:cover; border-radius:14px; border:1px solid var(--line)}
    .muted{color:var(--muted)}
    .mini{font-size:13px}
    .pill{
      display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:8px 12px;
      background:rgba(233,59,116,.08); color:#b11f53; font-weight:700; font-size:13px;
    }
    .banner-row{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
    .banner-row img{width:100%; border-radius:20px; border:1px solid var(--line); box-shadow:var(--shadow2); object-fit:cover}
    .service-net{display:grid; grid-template-columns:repeat(5,1fr); gap:12px}
    .service-net .node{padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; text-align:center; color:#394150}
    .collapse-note{font-size:13px; color:var(--muted); margin-top:8px}
    .mobile-only{display:none}
    @media (max-width: 1024px){
      .hero-grid,.grid-4,.grid-3,.split,.service-net{grid-template-columns:1fr 1fr}
      .hero-card{min-height:auto}
      .navlinks{display:none}
      .menu-toggle{display:inline-flex}
      .nav.open .navlinks{
        display:flex; position:absolute; left:16px; right:16px; top:72px;
        background:#fff; border:1px solid var(--line); border-radius:18px; padding:12px;
        box-shadow:var(--shadow); flex-direction:column; align-items:flex-start;
      }
      .nav{position:relative}
    }
    @media (max-width: 720px){
      .hero,.section{padding-top:18px}
      .hero-grid,.grid-4,.grid-3,.grid-2,.split,.form-grid,.banner-row,.service-net{grid-template-columns:1fr}
      .hero-card{padding:24px}
      .hero-meta{grid-template-columns:1fr}
      .section-title{flex-direction:column; align-items:flex-start}
      .article-item{flex-direction:column; align-items:flex-start}
      .footer-bottom{flex-direction:column}
      .mobile-only{display:block}
    }
    .reveal{opacity:0; transform:translateY(14px); transition:all .6s ease}
    .reveal.in{opacity:1; transform:none}