:root{
      --bg:#f7f4ef;
      --bg2:#fffaf4;
      --card:#ffffff;
      --text:#18222f;
      --muted:#5f6b7a;
      --line:#e6dfd3;
      --brand:#e83f6f;
      --brand2:#6c4dff;
      --brand3:#10b981;
      --shadow:0 18px 40px rgba(24,34,47,.08);
      --radius:22px;
      --radius-sm:16px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(232,63,111,.08), transparent 24%),
        radial-gradient(circle at top right, rgba(108,77,255,.08), transparent 24%),
        linear-gradient(180deg, #fffdf9 0%, var(--bg) 36%, #f9f6f1 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:blur(14px);
      background:rgba(255,250,244,.82);
      border-bottom:1px solid rgba(230,223,211,.75);
    }
    .nav-wrap{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:0 8px 22px rgba(0,0,0,.08)}
    .brand strong{display:block; font-size:1rem; letter-spacing:.3px}
    .brand span{display:block; font-size:.82rem; color:var(--muted)}
    .nav-actions{display:flex; align-items:center; gap:10px}
    .nav-links{display:flex; flex-wrap:wrap; gap:6px; justify-content:center}
    .nav-links a{
      padding:9px 12px; border-radius:999px; color:var(--text); font-size:.93rem;
      transition:.22s ease; border:1px solid transparent;
    }
    .nav-links a:hover,.nav-links a:focus{background:#fff; border-color:var(--line); box-shadow:0 10px 18px rgba(24,34,47,.06)}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:8px;
      padding:12px 18px; border-radius:999px; border:1px solid transparent;
      font-weight:700; transition:.22s ease; cursor:pointer;
    }
    .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; box-shadow:0 14px 30px rgba(232,63,111,.22)}
    .btn-ghost{background:#fff; color:var(--text); border-color:var(--line)}
    .btn:hover{transform:translateY(-1px)}
    .menu-toggle{display:none; background:#fff; border:1px solid var(--line); width:44px; height:44px; border-radius:14px}
    .menu-toggle span{display:block; width:18px; height:2px; background:var(--text); margin:4px auto; border-radius:2px}
    .hero{padding:44px 0 22px}
    .hero-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:22px; align-items:stretch}
    .hero-main,.hero-side,.panel,.card,.faq-item,.review,.article,.service-box,.compare,.form-box{
      background:rgba(255,255,255,.92); border:1px solid rgba(230,223,211,.95); border-radius:var(--radius); box-shadow:var(--shadow)
    }
    .hero-main{padding:34px}
    .eyebrow{
      display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
      background:rgba(232,63,111,.1); color:#9b1d45; font-size:.9rem; font-weight:700
    }
    h1{margin:16px 0 14px; font-size:clamp(2rem, 5vw, 4rem); line-height:1.08; letter-spacing:-.03em}
    .lead{margin:0; font-size:1.08rem; line-height:1.8; color:var(--muted); max-width:62ch}
    .hero-points{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:24px 0}
    .point{padding:16px; border-radius:18px; background:linear-gradient(180deg,#fff,#fbf8f3); border:1px solid var(--line)}
    .point b{display:block; font-size:1rem; margin-bottom:6px}
    .point span{color:var(--muted); font-size:.92rem; line-height:1.6}
    .hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px}
    .hero-side{padding:24px; display:flex; flex-direction:column; gap:16px}
    .mini-stat{padding:16px; border-radius:18px; background:linear-gradient(180deg,#fff6f8,#fff); border:1px solid rgba(232,63,111,.12)}
    .mini-stat strong{display:block; font-size:1.4rem; margin-bottom:4px}
    .mini-stat span{color:var(--muted); font-size:.92rem}
    .trust-row{display:flex; flex-wrap:wrap; gap:10px}
    .tag{padding:8px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:#344154; font-size:.9rem}
    section{padding:22px 0}
    .section-head{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px}
    .section-head h2{margin:0; font-size:1.65rem}
    .section-head p{margin:0; color:var(--muted); max-width:70ch; line-height:1.7}
    .stats{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px}
    .stat{padding:22px; border-radius:20px; background:linear-gradient(180deg,#fff,#fbf8f3); border:1px solid var(--line); transition:.22s ease}
    .stat:hover{transform:translateY(-3px)}
    .stat strong{display:block; font-size:1.8rem; margin-bottom:8px}
    .stat span{color:var(--muted); line-height:1.6}
    .grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
    .card,.service-box,.review,.article,.faq-item,.panel{padding:22px}
    .card h3,.service-box h3,.review h3,.article h3{margin:0 0 10px; font-size:1.08rem}
    .card p,.service-box p,.review p,.article p{margin:0; color:var(--muted); line-height:1.75}
    .chip-list{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
    .chip{padding:7px 10px; border-radius:999px; background:#f8f4ee; border:1px solid var(--line); font-size:.88rem}
    .workflow{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px}
    .step{padding:22px; border-radius:20px; background:linear-gradient(180deg,#fff,#fcfaf6); border:1px solid var(--line); position:relative}
    .step:before{content:attr(data-step); display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; font-weight:800; margin-bottom:12px}
    .table-wrap{overflow:auto; border-radius:20px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow)}
    table{width:100%; border-collapse:collapse; min-width:920px}
    th,td{padding:16px 18px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top}
    th{background:#fbf7f1; font-size:.95rem}
    td{color:#344154; line-height:1.7}
    .rating{
      display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:22px; border-radius:22px;
      background:linear-gradient(135deg, rgba(232,63,111,.08), rgba(108,77,255,.08)); border:1px solid rgba(232,63,111,.12)
    }
    .score{font-size:2rem; font-weight:900}
    .stars{color:#ff9f1c; letter-spacing:2px; font-size:1.1rem}
    .split{display:grid; grid-template-columns:1fr 1fr; gap:14px}
    .faq-item{margin-bottom:12px}
    .faq-q{list-style:none; cursor:pointer; font-weight:800; display:flex; justify-content:space-between; gap:12px; align-items:center}
    .faq-a{color:var(--muted); line-height:1.8; padding-top:10px; display:none}
    .faq-item[open] .faq-a{display:block}
    .review-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
    .review .meta{margin-top:16px; display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:.92rem}
    .articles{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
    .article .meta{margin-top:14px; color:var(--muted); font-size:.92rem}
    .form-box{padding:22px}
    form{display:grid; gap:12px}
    .form-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px}
    label{display:block; font-weight:700; margin-bottom:8px}
    input,select,textarea{
      width:100%; border:1px solid var(--line); border-radius:14px; padding:13px 14px; font:inherit; color:var(--text); background:#fff
    }
    textarea{min-height:120px; resize:vertical}
    .footer{
      margin-top:22px; padding:26px 0 34px; border-top:1px solid rgba(230,223,211,.9); background:#fffaf4; color:#243142
    }
    .footer-grid{display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px}
    .footer a{color:#243142}
    .footer small,.footer p{color:#586575; line-height:1.8}
    .qrcode{display:flex; align-items:center; gap:14px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:18px}
    .qrcode img{width:96px; height:96px; object-fit:cover; border-radius:14px; background:#fff}
    .floating{
      position:fixed; right:16px; bottom:16px; z-index:60; display:flex; flex-direction:column; gap:10px
    }
    .floating a,.floating button{
      width:54px; height:54px; border-radius:18px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow);
      display:flex; align-items:center; justify-content:center; color:var(--text); font-weight:800; cursor:pointer
    }
    .contact-grid{display:grid; grid-template-columns:1fr .78fr; gap:14px; align-items:start}
    .mapbox{padding:22px; border-radius:22px; background:linear-gradient(180deg,#fff,#fbf7f1); border:1px solid var(--line)}
    .banner-strip{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px}
    .banner-strip img,.media-card img{width:100%; height:auto; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow)}
    .media-card{padding:18px; background:#fff; border-radius:20px; border:1px solid var(--line)}
    .hidden-mobile{display:block}
    .top-links{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
    .home-link{font-weight:800; color:var(--brand)}
    @media (max-width: 980px){
      .hero-grid,.footer-grid,.contact-grid,.split,.articles,.review-grid,.grid-3,.workflow,.stats{grid-template-columns:1fr 1fr}
      .hero-points{grid-template-columns:1fr}
      .nav-links{display:none}
      .menu-toggle{display:inline-flex; align-items:center; justify-content:center}
      .nav-actions{margin-left:auto}
      .nav-open .nav-links{
        display:flex; position:absolute; left:16px; right:16px; top:68px; flex-direction:column; padding:12px;
        background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow)
      }
    }
    @media (max-width: 680px){
      .container{width:min(var(--container), calc(100% - 24px))}
      .hero,.section{padding-top:18px}
      .hero-main,.hero-side,.card,.service-box,.review,.article,.faq-item,.panel,.form-box,.mapbox{padding:18px}
      .hero-grid,.footer-grid,.contact-grid,.split,.articles,.review-grid,.grid-3,.workflow,.stats,.form-grid{grid-template-columns:1fr}
      .section-head{flex-direction:column; align-items:flex-start}
      .brand span{display:none}
      h1{font-size:2rem}
      .btn{width:100%}
      .nav-actions{display:none}
      .nav-open .nav-actions{display:flex; position:absolute; left:16px; right:16px; top:calc(68px + 238px); flex-direction:column}
      .nav-open .nav-actions .btn{width:100%}
      .banner-strip{grid-template-columns:1fr}
    }
    .reveal{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease}
    .reveal.show{opacity:1; transform:none}
    .hover-lift{transition:transform .22s ease, box-shadow .22s ease}
    .hover-lift:hover{transform:translateY(-4px); box-shadow:0 20px 36px rgba(24,34,47,.12)}