:root{
      --bg:#fff8f5;
      --panel:#ffffff;
      --panel-2:#fff1eb;
      --text:#1f2430;
      --muted:#5e6677;
      --brand:#d62828;
      --brand-2:#ff6b35;
      --line:#f0d6cf;
      --shadow:0 12px 30px rgba(214,40,40,.10);
      --shadow-2:0 18px 40px rgba(54,22,16,.12);
      --radius:18px;
      --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;
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(255,107,53,.12), transparent 30%),
        radial-gradient(circle at top right, rgba(214,40,40,.10), transparent 24%),
        linear-gradient(180deg, #fffaf8 0%, #fff6f1 38%, #fffdfc 100%);
      line-height:1.7;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .container{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .topbar{
      background:rgba(255,255,255,.82);
      backdrop-filter:blur(12px);
      border-bottom:1px solid rgba(240,214,207,.8);
      position:sticky;
      top:0;
      z-index:40;
    }
    .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 .name{
      font-weight:800;
      letter-spacing:.5px;
      font-size:1.02rem;
      white-space:nowrap;
    }
    .brand .sub{
      color:var(--muted);
      font-size:.88rem;
      white-space:nowrap;
    }
    .logo{
      width:44px;height:44px;object-fit:contain;
      border-radius:12px;
      background:#fff;
      box-shadow:0 6px 16px rgba(214,40,40,.10);
      padding:4px;
      flex:none;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .nav-links a{
      color:#384050;
      font-size:.95rem;
      padding:8px 10px;
      border-radius:999px;
      transition:.2s ease;
    }
    .nav-links a:hover,
    .nav-links a.active{
      background:rgba(214,40,40,.08);
      color:var(--brand);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .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:.2s ease;
      cursor:pointer;
      white-space:nowrap;
    }
    .btn-primary{
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      color:#fff;
      box-shadow:0 10px 24px rgba(214,40,40,.24);
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(214,40,40,.28)}
    .btn-ghost{
      background:#fff;
      border-color:var(--line);
      color:var(--text);
    }
    .btn-ghost:hover{border-color:#e8b2a3;transform:translateY(-1px)}
    .menu-toggle{
      display:none;
      border:1px solid var(--line);
      background:#fff;
      width:44px;height:44px;
      border-radius:12px;
      align-items:center;
      justify-content:center;
      cursor:pointer;
    }
    .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{
      content:"";
      display:block;
      width:18px;height:2px;
      background:#2e3440;
      border-radius:999px;
      position:relative;
    }
    .menu-toggle span::before{position:absolute;top:-6px;left:0}
    .menu-toggle span::after{position:absolute;top:6px;left:0}
    header.hero{
      padding:44px 0 24px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:24px;
      align-items:stretch;
    }
    .hero-panel{
      background:
        linear-gradient(145deg, rgba(214,40,40,.96), rgba(255,107,53,.96)),
        linear-gradient(180deg, #d62828, #ff6b35);
      color:#fff;
      border-radius:28px;
      padding:34px;
      position:relative;
      overflow:hidden;
      box-shadow:var(--shadow-2);
      isolation:isolate;
    }
    .hero-panel::before,
    .hero-panel::after{
      content:"";
      position:absolute;
      inset:auto;
      border-radius:50%;
      background:rgba(255,255,255,.12);
      filter:blur(2px);
    }
    .hero-panel::before{width:260px;height:260px;right:-90px;top:-80px}
    .hero-panel::after{width:180px;height:180px;right:80px;bottom:-70px}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      font-size:.92rem;
      font-weight:700;
      letter-spacing:.4px;
    }
    h1{
      margin:18px 0 12px;
      font-size:clamp(2rem, 5vw, 3.5rem);
      line-height:1.08;
      letter-spacing:-.5px;
    }
    .hero-panel p{
      margin:0;
      max-width:60ch;
      color:rgba(255,255,255,.92);
      font-size:1.02rem;
    }
    .hero-cta{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:24px;
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:22px;
    }
    .hero-badges span{
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.16);
      font-size:.9rem;
    }
    .hero-side{
      display:grid;
      gap:16px;
    }
    .hero-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(240,214,207,.9);
      border-radius:24px;
      padding:22px;
      box-shadow:var(--shadow);
    }
    .hero-card h3{margin:0 0 10px;font-size:1.08rem}
    .hero-card p{margin:0;color:var(--muted)}
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .stat{
      background:linear-gradient(180deg,#fff,#fff8f5);
      border:1px solid var(--line);
      border-radius:20px;
      padding:18px;
      box-shadow:0 8px 20px rgba(62,28,18,.06);
    }
    .stat strong{
      display:block;
      font-size:1.5rem;
      line-height:1.1;
      color:var(--brand);
      margin-bottom:8px;
    }
    .stat span{color:var(--muted);font-size:.92rem}
    main{padding-bottom:18px}
    section{
      padding:22px 0;
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:16px;
      margin-bottom:16px;
    }
    .section-head h2{
      margin:0;
      font-size:1.6rem;
      line-height:1.2;
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      max-width:62ch;
    }
    .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(--panel);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:20px;
      box-shadow:0 10px 26px rgba(61,28,18,.05);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(61,28,18,.08);border-color:#e7b09f}
    .card h3{margin:0 0 10px;font-size:1.08rem}
    .card p{margin:0;color:var(--muted)}
    .pill-list{display:flex;flex-wrap:wrap;gap:10px}
    .pill-list span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 12px;
      border-radius:999px;
      font-size:.92rem;
      color:#364152;
    }
    .workflow{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .step{
      position:relative;
      padding:20px;
      border-radius:22px;
      background:linear-gradient(180deg,#fff,#fff7f4);
      border:1px solid var(--line);
    }
    .step .n{
      display:inline-flex;
      width:34px;height:34px;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      color:#fff;
      font-weight:800;
      margin-bottom:12px;
    }
    .compare-wrap{overflow:auto;border-radius:20px;border:1px solid var(--line);background:#fff}
    table{
      width:100%;
      border-collapse:collapse;
      min-width:900px;
    }
    th,td{
      padding:14px 16px;
      border-bottom:1px solid #f1dfd8;
      text-align:left;
      vertical-align:top;
    }
    th{background:#fff3ee;font-size:.95rem}
    tr:last-child td{border-bottom:none}
    .score{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 12px;
      border-radius:999px;
      background:#fff2ef;
      color:#b51f1f;
      font-weight:700;
    }
    .tag-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }
    .tag-cloud a,.tag-cloud span{
      padding:8px 12px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:999px;
      color:#394150;
      font-size:.92rem;
    }
    .price-card{
      display:grid;
      gap:14px;
    }
    .price-box{
      border-radius:20px;
      padding:20px;
      background:linear-gradient(180deg,#fff,#fff5f0);
      border:1px solid var(--line);
    }
    .price-box strong{
      font-size:1.8rem;
      color:var(--brand);
    }
    .reviews{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .review{
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .review .meta{
      display:flex;
      align-items:center;
      gap:12px;
    }
    .avatar{
      width:44px;height:44px;border-radius:50%;
      background:linear-gradient(135deg,#ffe2da,#fff);
      border:1px solid var(--line);
      display:flex;align-items:center;justify-content:center;
      font-weight:800;color:var(--brand);
      flex:none;
    }
    .review .role{font-weight:700}
    .review .stars{color:#d49a00;letter-spacing:1px}
    .faq details{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:0 18px;
      box-shadow:0 10px 20px rgba(61,28,18,.04);
    }
    .faq details+details{margin-top:12px}
    .faq summary{
      cursor:pointer;
      list-style:none;
      padding:18px 0;
      font-weight:700;
    }
    .faq summary::-webkit-details-marker{display:none}
    .faq .answer{
      color:var(--muted);
      padding:0 0 18px;
    }
    .timeline{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .timeline .item{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:18px;
      position:relative;
    }
    .timeline .item:before{
      content:"";
      width:10px;height:10px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      display:block;
      margin-bottom:12px;
    }
    .article-list{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
    }
    .article-list a{
      display:block;
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:18px;
      transition:.2s ease;
    }
    .article-list a:hover{transform:translateY(-3px);border-color:#e9af9d;box-shadow:var(--shadow)}
    .article-list h3{margin:0 0 8px;font-size:1.03rem}
    .article-list p{margin:0;color:var(--muted)}
    .form-card{
      background:linear-gradient(180deg,#fff,#fff7f3);
      border:1px solid var(--line);
      border-radius:24px;
      padding:22px;
    }
    form{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .field{display:flex;flex-direction:column;gap:8px}
    .field.full{grid-column:1 / -1}
    label{font-weight:700;font-size:.95rem}
    input,select,textarea{
      width:100%;
      padding:13px 14px;
      border-radius:14px;
      border:1px solid #e7d2ca;
      background:#fff;
      color:var(--text);
      font:inherit;
      outline:none;
      transition:border-color .2s ease, box-shadow .2s ease;
    }
    input:focus,select:focus,textarea:focus{
      border-color:#f08a6b;
      box-shadow:0 0 0 4px rgba(240,138,107,.12);
    }
    textarea{min-height:120px;resize:vertical}
    .submit-row{grid-column:1 / -1;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
    footer{
      margin-top:12px;
      background:#1f2430;
      color:#f7f4f2;
      padding:28px 0 18px;
    }
    footer a{color:#fff}
    .footer-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr .9fr;
      gap:18px;
    }
    .footer-grid h3{margin:0 0 10px}
    .footer-grid p, .footer-grid li{color:#d9dce6}
    .footer-grid ul{margin:0;padding-left:18px}
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      border-top:1px solid rgba(255,255,255,.12);
      margin-top:22px;
      padding-top:16px;
      color:#d9dce6;
      font-size:.92rem;
    }
    .floating{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:50;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .float-btn{
      width:54px;height:54px;
      border-radius:18px;
      background:linear-gradient(135deg,var(--brand),var(--brand-2));
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 12px 26px rgba(214,40,40,.24);
      border:none;
      cursor:pointer;
      font-weight:800;
    }
    .float-panel{
      position:absolute;
      right:0;
      bottom:64px;
      width:min(290px, calc(100vw - 36px));
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:16px;
      box-shadow:var(--shadow-2);
      display:none;
    }
    .float-panel.open{display:block}
    .qrcode{
      display:grid;
      place-items:center;
      gap:10px;
      text-align:center;
    }
    .qrcode img{width:180px;border-radius:16px;border:1px solid var(--line)}
    .backtop{
      position:fixed;
      left:18px;
      bottom:18px;
      z-index:45;
      display:none;
    }
    .backtop.show{display:flex}
    .mini{
      font-size:.9rem;
      color:var(--muted);
    }
    .media-strip{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .media-strip img{
      border-radius:18px;
      border:1px solid var(--line);
      object-fit:cover;
      aspect-ratio:1/1;
      background:#fff;
    }
    .two-media{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
    }
    .two-media img{
      border-radius:18px;
      border:1px solid var(--line);
      object-fit:cover;
      aspect-ratio:16/10;
      background:#fff;
    }
    .reveal{opacity:0;transform:translateY(12px);transition:.6s ease}
    .reveal.show{opacity:1;transform:none}
    @media (max-width: 1024px){
      .hero-grid,.grid-3,.reviews,.article-list,.footer-grid,.timeline,.workflow,.media-strip{grid-template-columns:1fr 1fr}
      .hero-side{grid-template-columns:1fr;display:grid}
    }
    @media (max-width: 768px){
      .menu-toggle{display:inline-flex}
      .nav-links{
        display:none;
        width:100%;
        padding:10px 0 0;
      }
      .nav-links.open{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
      .nav{flex-wrap:wrap}
      .nav-actions{margin-left:auto}
      .hero-grid,.grid-3,.grid-2,.reviews,.article-list,.footer-grid,.timeline,.workflow,.media-strip,.two-media{grid-template-columns:1fr}
      .hero-panel{padding:26px}
      .section-head{flex-direction:column;align-items:flex-start}
      form{grid-template-columns:1fr}
      .backtop{left:14px;bottom:14px}
      .floating{right:14px;bottom:14px}
      .hero-stats{grid-template-columns:1fr 1fr}
    }