:root{
      --bg: #fbf3ef;
      --bg2:#f7efe7;
      --card:#ffffff;
      --text:#2a1f1f;
      --muted:#6a5555;
      --border:#e7d7cf;
      --brand:#8f2d2b; /* 枫红赭石文艺感 */
      --brand2:#b14a3f;
      --accent:#7a3a35;
      --link:#8a2f2c;
      --shadow: 0 18px 50px rgba(143,45,43,.10);
      --shadow2: 0 10px 30px rgba(143,45,43,.10);
      --radius: 18px;
      --radius2: 14px;
      --focus: 0 0 0 4px rgba(143,45,43,.18);
      --container: 1060px;
    }

    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB",
                   "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
      color:var(--text);
      background:
        radial-gradient(900px 480px at 14% 0%, rgba(177,74,63,.14), transparent 55%),
        radial-gradient(780px 420px at 86% 10%, rgba(143,45,43,.10), transparent 58%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg2) 60%, #ffffff 100%);
    }

    a{ color:var(--link); text-decoration:none; }
    a:hover{ text-decoration:underline; }
    .container{
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 18px;
    }

    header{
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(251,243,239,.72);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(231,215,207,.7);
    }
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding: 12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 160px;
    }
    .logo{
      width: 40px;
      height: 40px;
      border-radius: 12px;
      display:grid;
      place-items:center;
      background: linear-gradient(145deg, rgba(143,45,43,.95), rgba(177,74,63,.85));
      color:#fff;
      font-weight: 900;
      letter-spacing: .02em;
      box-shadow: 0 12px 28px rgba(143,45,43,.25);
    }
    .brand span{
      display:flex;
      flex-direction:column;
      line-height:1.1;
    }
    .brand .name{
      font-weight: 850;
      letter-spacing: .02em;
      color: var(--text);
      font-size: 14px;
    }
    .brand .sub{
      font-size: 12px;
      color: var(--muted);
      margin-top: 4px;
    }

    .navRight{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap: wrap;
      justify-content:flex-end;
    }

    .menuBtn{
      display:none;
      border: 1px solid rgba(231,215,207,.9);
      background: rgba(255,255,255,.65);
      color: var(--text);
      padding: 10px 12px;
      border-radius: 12px;
      font-weight: 700;
      cursor:pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .menuBtn:focus{ outline:none; box-shadow: var(--focus); }
    .menuBtn:active{ transform: translateY(1px); }

    nav{
      display:flex;
      align-items:center;
      gap: 16px;
    }
    .navLinks{
      display:flex;
      align-items:center;
      gap: 14px;
      flex-wrap:wrap;
    }
    .navLinks a{
      font-size: 13px;
      color: var(--muted);
      padding: 8px 10px;
      border-radius: 12px;
      transition: background .18s ease, color .18s ease, transform .18s ease;
      white-space:nowrap;
    }
    .navLinks a:hover{
      color: var(--text);
      background: rgba(143,45,43,.08);
      text-decoration:none;
      transform: translateY(-1px);
    }
    .cta{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding: 11px 14px;
      border-radius: 14px;
      border: 1px solid rgba(231,215,207,.9);
      background: rgba(255,255,255,.65);
      color: var(--text);
      font-weight: 800;
      font-size: 13px;
      cursor:pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      user-select:none;
    }
    .btn:hover{
      transform: translateY(-1px);
      box-shadow: 0 14px 34px rgba(143,45,43,.12);
      border-color: rgba(177,74,63,.35);
    }
    .btn:active{ transform: translateY(0px); }
    .btnPrimary{
      border-color: rgba(143,45,43,.35);
      background: linear-gradient(145deg, rgba(143,45,43,.96), rgba(177,74,63,.86));
      color:#fff;
      box-shadow: 0 18px 50px rgba(143,45,43,.22);
    }
    .btnPrimary:hover{
      box-shadow: 0 24px 70px rgba(143,45,43,.26);
    }

    .hero{
      position:relative;
      padding: 28px 0 18px;
    }
    .heroGrid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 18px;
      align-items:stretch;
    }
    .heroLeft{
      background:
        radial-gradient(700px 360px at 20% 10%, rgba(143,45,43,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.45));
      border: 1px solid rgba(231,215,207,.9);
      border-radius: var(--radius);
      box-shadow: var(--shadow2);
      padding: 22px 20px;
      overflow:hidden;
      position:relative;
    }
    .heroLeft::after{
      content:"";
      position:absolute;
      inset:-2px;
      pointer-events:none;
      background:
        radial-gradient(420px 220px at 82% 22%, rgba(177,74,63,.12), transparent 60%),
        radial-gradient(520px 240px at 72% 88%, rgba(143,45,43,.10), transparent 62%);
      opacity:.9;
    }
    .heroInner{ position:relative; z-index:1; }

    .badgeRow{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
      margin-bottom: 12px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      color: var(--muted);
      font-weight: 800;
      font-size: 12px;
      white-space:nowrap;
    }
    .pillDot{
      width: 8px; height: 8px; border-radius: 50%;
      background: linear-gradient(145deg, var(--brand), var(--brand2));
      box-shadow: 0 0 0 4px rgba(143,45,43,.12);
    }

    h1{
      margin: 6px 0 10px;
      font-size: 30px;
      line-height: 1.25;
      letter-spacing: .01em;
    }
    .lead{
      margin: 0;
      color: var(--muted);
      font-size: 14.5px;
      line-height: 1.75;
      max-width: 66ch;
    }
    .heroActions{
      display:flex;
      gap: 12px;
      flex-wrap:wrap;
      margin-top: 16px;
      align-items:center;
    }
    .heroMeta{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-top: 14px;
      align-items:center;
    }
    .metaCard{
      flex: 1 1 190px;
      min-width: 170px;
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(231,215,207,.95);
      border-radius: 16px;
      padding: 12px 12px;
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .metaCard:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 50px rgba(143,45,43,.10);
    }
    .metaTop{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-bottom: 8px;
    }
    .metaTitle{
      font-weight: 900;
      font-size: 13px;
      color: var(--text);
    }
    .tag{
      font-size: 12px;
      color: var(--accent);
      background: rgba(143,45,43,.08);
      border: 1px solid rgba(143,45,43,.16);
      padding: 6px 10px;
      border-radius: 999px;
      font-weight: 900;
      white-space:nowrap;
    }
    .metaText{
      margin:0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }

    .heroRight{
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(231,215,207,.9);
      border-radius: var(--radius);
      box-shadow: var(--shadow2);
      padding: 16px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap: 14px;
    }

    .sectionTitle{
      margin:0 0 6px;
      font-size: 15px;
      letter-spacing: .01em;
      font-weight: 950;
    }
    .sideList{
      list-style:none;
      margin:0;
      padding:0;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .sideItem{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding: 10px 10px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      border-radius: 14px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .sideItem:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 50px rgba(143,45,43,.10);
      border-color: rgba(177,74,63,.30);
    }
    .icon{
      width: 28px; height: 28px; border-radius: 10px;
      background: rgba(143,45,43,.10);
      border: 1px solid rgba(143,45,43,.18);
      display:grid; place-items:center;
      color: var(--brand);
      font-weight: 900;
      flex: 0 0 auto;
      margin-top: 2px;
    }
    .sideItem b{
      display:block;
      font-size: 13px;
      letter-spacing:.01em;
      margin-bottom: 4px;
    }
    .sideItem span{
      color: var(--muted);
      font-size: 12.8px;
      line-height: 1.55;
    }

    .qrBlock{
      border-top: 1px dashed rgba(231,215,207,.95);
      padding-top: 12px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items:start;
    }
    .qrBox{
      background: rgba(255,255,255,.58);
      border: 1px solid rgba(231,215,207,.95);
      border-radius: 16px;
      padding: 10px;
      display:flex;
      flex-direction:column;
      gap:8px;
      align-items:flex-start;
    }
    .qrBox h3{
      margin:0;
      font-size: 12.5px;
      font-weight: 950;
      color: var(--text);
    }
    .qrImgWrap{
      width: 100%;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .qrImg{
      width: 110px;
      max-width: 100%;
      height:auto;
      border-radius: 10px;
      border: 1px solid rgba(231,215,207,.95);
      background:#fff;
    }
    .qrNote{
      margin:0;
      color: var(--muted);
      font-size: 12.5px;
      line-height: 1.55;
    }

    main{ padding: 8px 0 10px; }
    .section{
      padding: 18px 0;
    }
    .card{
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(231,215,207,.9);
      border-radius: var(--radius);
      box-shadow: 0 10px 30px rgba(143,45,43,.08);
    }

    .anchorTop{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap: 14px;
      flex-wrap:wrap;
      padding: 16px 16px 10px;
    }
    .kicker{
      font-weight: 950;
      color: var(--brand);
      letter-spacing: .04em;
      text-transform: uppercase;
      font-size: 12px;
      margin-bottom: 8px;
    }
    .tocTitle{
      margin:0;
      font-size: 18px;
      font-weight: 980;
      letter-spacing: .01em;
    }
    .tocSub{
      margin: 6px 0 0;
      color: var(--muted);
      font-size: 13.5px;
      line-height: 1.7;
      max-width: 60ch;
    }

    .toc{
      padding: 0 16px 16px;
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 10px;
    }
    .toc a{
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(231,215,207,.95);
      border-radius: 14px;
      padding: 10px 12px;
      display:flex;
      flex-direction:column;
      gap:6px;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      min-height: 66px;
    }
    .toc a:hover{
      transform: translateY(-2px);
      border-color: rgba(177,74,63,.35);
      box-shadow: 0 18px 50px rgba(143,45,43,.10);
      text-decoration:none;
    }
    .toc small{
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
      letter-spacing:.01em;
    }
    .toc b{
      font-size: 13px;
      letter-spacing:.01em;
    }

    .grid2{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:stretch;
    }

    .sectionPad{ padding: 16px; }
    h2{
      margin: 0 0 10px;
      font-size: 18px;
      letter-spacing:.01em;
      font-weight: 980;
    }
    .desc{
      margin:0;
      color: var(--muted);
      font-size: 13.8px;
      line-height: 1.8;
    }

    .steps{
      display:grid;
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .step{
      padding: 12px 12px;
      border-radius: 16px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      display:flex;
      gap: 12px;
      align-items:flex-start;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      cursor: default;
    }
    .step:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 50px rgba(143,45,43,.10);
      border-color: rgba(177,74,63,.28);
    }
    .stepNum{
      width: 34px; height: 34px;
      border-radius: 14px;
      background: rgba(143,45,43,.10);
      border: 1px solid rgba(143,45,43,.18);
      display:grid;
      place-items:center;
      font-weight: 1000;
      color: var(--brand);
      flex: 0 0 auto;
    }
    .step h3{
      margin: 0 0 6px;
      font-size: 14px;
      font-weight: 980;
      color: var(--text);
    }
    .step p{
      margin:0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
    }

    .serviceGrid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 12px;
      margin-top: 12px;
    }
    .serviceCard{
      padding: 14px 14px;
      border-radius: 18px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      display:flex;
      flex-direction:column;
      gap: 10px;
    }
    .serviceCard:hover{
      transform: translateY(-3px);
      box-shadow: 0 20px 60px rgba(143,45,43,.12);
      border-color: rgba(177,74,63,.30);
    }
    .serviceHead{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .serviceCard b{
      font-size: 14px;
      font-weight: 980;
    }
    .serviceCard .chip{
      font-size: 12px;
      font-weight: 900;
      color: var(--accent);
      background: rgba(143,45,43,.08);
      border: 1px solid rgba(143,45,43,.16);
      padding: 6px 10px;
      border-radius: 999px;
      white-space:nowrap;
    }
    .serviceCard p{
      margin:0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.75;
    }
    .list{
      margin: 8px 0 0;
      padding: 0;
      list-style:none;
      display:flex;
      flex-direction:column;
      gap: 8px;
    }
    .list li{
      display:flex;
      gap: 10px;
      align-items:flex-start;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }
    .check{
      width: 18px; height: 18px;
      border-radius: 7px;
      background: rgba(143,45,43,.10);
      border: 1px solid rgba(143,45,43,.18);
      display:grid; place-items:center;
      color: var(--brand);
      font-weight: 1000;
      flex: 0 0 auto;
      margin-top: 2px;
      font-size: 12px;
    }

    .faqWrap{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items:start;
    }
    details{
      border-radius: 16px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      padding: 12px 12px;
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    details[open]{
      border-color: rgba(177,74,63,.35);
      box-shadow: 0 20px 60px rgba(143,45,43,.10);
      transform: translateY(-2px);
    }
    summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:flex-start;
      gap: 10px;
      font-weight: 980;
      color: var(--text);
      font-size: 14px;
      outline:none;
    }
    summary::-webkit-details-marker{ display:none; }
    .sumIcon{
      width: 28px; height: 28px;
      border-radius: 12px;
      background: rgba(143,45,43,.10);
      border: 1px solid rgba(143,45,43,.18);
      display:grid;
      place-items:center;
      color: var(--brand);
      font-weight: 1000;
      flex: 0 0 auto;
      margin-top: 1px;
    }
    .faqText{
      color: var(--muted);
      margin: 10px 0 0;
      font-size: 13px;
      line-height: 1.85;
      padding-left: 38px;
    }

    .contactGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items:stretch;
    }
    .contactCard{
      padding: 16px;
      display:flex;
      flex-direction:column;
      gap: 12px;
    }
    .kv{
      display:grid;
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .kvRow{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap: 12px;
      padding: 10px 10px;
      border-radius: 14px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
    }
    .kvRow b{
      font-size: 13px;
      font-weight: 980;
      color: var(--text);
      white-space:nowrap;
    }
    .kvRow span{
      color: var(--muted);
      font-size: 13px;
      text-align:right;
      line-height: 1.6;
    }

    .footer{
      margin-top: 6px;
      background: #8f2d2b;
      color:#fff;
      border-top: 1px solid rgba(255,255,255,.16);
    }
    .footer .container{ padding: 18px; }
    .footGrid{
      display:flex;
      gap: 14px;
      align-items:flex-start;
      justify-content:space-between;
      flex-wrap:wrap;
    }
    .footLeft{
      min-width: 280px;
      flex: 1 1 360px;
    }
    .footLeft h2{
      color:#fff;
      margin:0 0 8px;
      font-size: 16px;
    }
    .footP{
      margin:0;
      color: rgba(255,255,255,.86);
      line-height: 1.7;
      font-size: 13px;
      max-width: 62ch;
    }
    .footRight{
      flex: 0 0 auto;
      min-width: 240px;
      display:flex;
      flex-direction:column;
      gap: 10px;
      align-items:flex-start;
    }
    .footLinks{
      display:flex;
      gap: 10px;
      flex-wrap:wrap;
    }
    .footLinks a{
      color: rgba(255,255,255,.92);
      padding: 9px 11px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.10);
      text-decoration:none;
      font-weight: 900;
      font-size: 13px;
      transition: transform .18s ease, background .18s ease;
    }
    .footLinks a:hover{
      transform: translateY(-2px);
      background: rgba(255,255,255,.16);
      text-decoration:none;
    }
    .copyRow{
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,.18);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      flex-wrap:wrap;
      color: rgba(255,255,255,.82);
      font-size: 12.5px;
    }

    .fadeIn{
      opacity:0;
      transform: translateY(10px);
      transition: opacity .5s ease, transform .5s ease;
    }
    .fadeIn.isIn{
      opacity:1;
      transform: translateY(0);
    }

    @media (max-width: 920px){
      .heroGrid{ grid-template-columns: 1fr; }
      .toc{ grid-template-columns: repeat(2, minmax(0,1fr)); }
      .serviceGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
      .faqWrap{ grid-template-columns: 1fr; }
      .grid2{ grid-template-columns: 1fr; }
      .contactGrid{ grid-template-columns: 1fr; }
      nav{ display:none; }
      .menuBtn{ display:inline-flex; }
      .heroLeft{ padding: 18px 16px; }
      h1{ font-size: 26px; }
    }

    @media (prefers-reduced-motion: reduce){
      html{ scroll-behavior:auto; }
      .fadeIn{ transition:none; }
      *{ transition:none !important; animation:none !important; }
    }

    .mobileMenu{
      display:none;
      padding: 0 0 12px;
    }
    .mobileMenu .menuPanel{
      border: 1px solid rgba(231,215,207,.9);
      background: rgba(255,255,255,.62);
      border-radius: 16px;
      padding: 10px;
    }
    .mobileMenu a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding: 10px 12px;
      border-radius: 14px;
      border: 1px solid rgba(231,215,207,.95);
      background: rgba(255,255,255,.62);
      color: var(--muted);
      font-weight: 900;
      margin-bottom: 10px;
    }
    .mobileMenu a:last-child{ margin-bottom:0; }
    .mobileMenu a:hover{ text-decoration:none; color: var(--text); }
    @media (max-width: 920px){
      .mobileMenu.show{ display:block; }
    }