:root{
      --bg0:#fff8f1;
      --bg1:#ffffff;
      --card:#ffffffcc;
      --text:#1f2937;
      --muted:#5b6777;
      --line:#e8e2d8;
      --brand1:#6d28d9;
      --brand2:#0891b2;
      --brand3:#f97316;
      --shadow: 0 18px 55px rgba(16,24,40,.10);
      --shadow2: 0 10px 30px rgba(16,24,40,.10);
      --radius:18px;
      --radius2:14px;
      --focus: 0 0 0 3px rgba(109,40,217,.18), 0 0 0 1px rgba(109,40,217,.25) inset;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "PingFang SC","Hiragino Sans GB","Microsoft YaHei", "Noto Sans", "Liberation Sans", sans-serif;
      color:var(--text);
      background:
        radial-gradient(1200px 680px at 15% -10%, rgba(109,40,217,.18), transparent 60%),
        radial-gradient(1000px 560px at 85% 0%, rgba(8,145,178,.16), transparent 55%),
        radial-gradient(900px 520px at 30% 35%, rgba(249,115,22,.10), transparent 60%),
        linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 45%, #ffffff 100%);
      overflow-x:hidden;
    }
    a{color:inherit}
    .container{
      width:100%;
      max-width:1120px;
      margin:0 auto;
      padding:0 18px;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter: blur(10px);
      background: rgba(255,255,255,.72);
      border-bottom: 1px solid rgba(232,226,216,.65);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 180px;
    }
    .logoMark{
      width:44px;
      height:44px;
      border-radius:14px;
      background:
        radial-gradient(10px 10px at 25% 25%, rgba(255,255,255,.9), rgba(255,255,255,0) 60%),
        linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.90) 45%, rgba(249,115,22,.86) 100%);
      box-shadow: 0 14px 28px rgba(109,40,217,.18), 0 10px 20px rgba(8,145,178,.14);
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }
    .logoMark::after{
      content:"";
      position:absolute;
      inset:-60px;
      background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.75) 48%, transparent 60%);
      transform: translateX(-55%) rotate(12deg);
      animation: sheen 7.5s ease-in-out infinite;
      opacity:.85;
    }
    @keyframes sheen{
      0%,20%{ transform: translateX(-65%) rotate(12deg); opacity:.0;}
      35%{ opacity:.95;}
      55%{ transform: translateX(20%) rotate(12deg); opacity:.85;}
      75%,100%{ opacity:0; transform: translateX(65%) rotate(12deg);}
    }
    .brandText{
      display:flex;
      flex-direction:column;
      line-height:1.15;
    }
    .brandText strong{
      font-size:14px;
      letter-spacing:.2px;
    }
    .brandText span{
      font-size:12px;
      color:var(--muted);
      margin-top:3px;
      white-space:nowrap;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .nav a{
      text-decoration:none;
      font-size:13px;
      color:#344152;
      padding:10px 10px;
      border-radius:12px;
      transition: transform .18s ease, background-color .18s ease, color .18s ease;
    }
    .nav a:hover{
      background: rgba(109,40,217,.08);
      color:#2a2f3a;
      transform: translateY(-1px);
    }
    .nav .cta{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.92));
      color:#fff;
      box-shadow: 0 16px 26px rgba(109,40,217,.18);
      border: 1px solid rgba(255,255,255,.24);
      white-space:nowrap;
    }
    .nav .cta:hover{
      background: linear-gradient(135deg, rgba(109,40,217,1), rgba(8,145,178,1));
      transform: translateY(-1px);
    }

    .menuBtn{
      display:none;
      border:1px solid rgba(232,226,216,.9);
      background: rgba(255,255,255,.85);
      border-radius:14px;
      padding:10px 12px;
      cursor:pointer;
      color:#2c3442;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .menuBtn:focus{outline:none; box-shadow: var(--focus)}
    .menuBtn:hover{transform: translateY(-1px); box-shadow: 0 14px 28px rgba(16,24,40,.08)}
    .menuPanel{
      display:none;
      padding:10px 0 14px;
      border-top: 1px solid rgba(232,226,216,.65);
    }
    .menuPanel a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      text-decoration:none;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid rgba(232,226,216,.9);
      background: rgba(255,255,255,.75);
      margin-top:10px;
      transition: transform .18s ease, background-color .18s ease;
      font-size:13px;
      color:#2a3343;
    }
    .menuPanel a:hover{transform: translateY(-1px); background: rgba(109,40,217,.06)}
    .menuPanel .cta{
      border:none;
      background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.92));
      color:#fff;
    }

    .hero{
      padding:26px 0 16px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.25fr .75fr;
      gap:16px;
      align-items:stretch;
    }
    .heroCard{
      border-radius: calc(var(--radius) + 6px);
      border: 1px solid rgba(232,226,216,.75);
      background:
        radial-gradient(900px 420px at 10% 0%, rgba(109,40,217,.14), transparent 60%),
        radial-gradient(700px 380px at 85% 10%, rgba(8,145,178,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.60) 100%);
      box-shadow: var(--shadow);
      padding:22px;
      position:relative;
      overflow:hidden;
      min-height: 320px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .heroCard::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        repeating-linear-gradient(120deg, rgba(255,255,255,.0) 0 10px, rgba(255,255,255,.16) 10px 12px);
      opacity:.18;
      transform: translateY(-20px);
      pointer-events:none;
    }
    .heroTop{
      position:relative;
      z-index:2;
    }
    .pillRow{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      margin-bottom:14px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:999px;
      border:1px solid rgba(232,226,216,.95);
      background: rgba(255,255,255,.72);
      font-size:13px;
      color:#2f384a;
      box-shadow: 0 12px 22px rgba(16,24,40,.06);
    }
    .pill b{font-weight:700}
    .pillDot{
      width:10px;height:10px;border-radius:50%;
      background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.92));
      box-shadow: 0 10px 18px rgba(109,40,217,.22);
    }
    h1{
      font-size:34px;
      line-height:1.15;
      margin:0 0 10px;
      letter-spacing:-.3px;
    }
    .heroLead{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
      max-width: 58ch;
    }
    .heroActions{
      display:flex;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:16px;
      position:relative;
      z-index:2;
    }
    .btn{
      appearance:none;
      border:none;
      cursor:pointer;
      border-radius:14px;
      padding:12px 14px;
      font-size:14px;
      font-weight:650;
      transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      gap:10px;
      user-select:none;
      white-space:nowrap;
    }
    .btn:focus{outline:none; box-shadow: var(--focus)}
    .btnPrimary{
      background: linear-gradient(135deg, rgba(109,40,217,.98), rgba(8,145,178,.92));
      color:#fff;
      box-shadow: 0 18px 30px rgba(109,40,217,.18);
      border: 1px solid rgba(255,255,255,.18);
    }
    .btnPrimary:hover{transform: translateY(-1px); box-shadow: 0 22px 40px rgba(109,40,217,.22)}
    .btnGhost{
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(232,226,216,.95);
      color:#2c3442;
    }
    .btnGhost:hover{transform: translateY(-1px); box-shadow: 0 16px 30px rgba(16,24,40,.08); background: rgba(109,40,217,.06)}
    .icon{
      width:18px;height:18px; display:inline-block;
    }
    .heroBottom{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
      margin-top:18px;
    }
    .miniStat{
      padding:12px 12px;
      border-radius:16px;
      background: rgba(255,255,255,.62);
      border:1px solid rgba(232,226,216,.85);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .miniStat:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 35px rgba(16,24,40,.08);
    }
    .miniStat strong{
      display:block;
      font-size:14px;
      margin-bottom:4px;
    }
    .miniStat span{
      color:var(--muted);
      font-size:12.5px;
      line-height:1.35;
    }

    .sideCard{
      border-radius: calc(var(--radius) + 6px);
      border:1px solid rgba(232,226,216,.75);
      background: linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.58) 100%);
      box-shadow: var(--shadow2);
      padding:18px;
      overflow:hidden;
      position:relative;
      min-height: 320px;
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .sideCard::after{
      content:"";
      position:absolute;
      width:240px;height:240px;
      right:-90px; bottom:-110px;
      background: radial-gradient(circle at 30% 30%, rgba(249,115,22,.20), rgba(249,115,22,0) 65%),
                  radial-gradient(circle at 60% 60%, rgba(109,40,217,.20), rgba(109,40,217,0) 62%);
      pointer-events:none;
      transform: rotate(10deg);
    }
    .sideTitle{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      position:relative;
      z-index:2;
    }
    .sideTitle h2{
      margin:0;
      font-size:16px;
      letter-spacing:-.2px;
    }
    .badge{
      padding:8px 10px;
      border-radius:999px;
      background: rgba(109,40,217,.10);
      border: 1px solid rgba(109,40,217,.20);
      color:#4c1d95;
      font-size:12.5px;
      font-weight:650;
      white-space:nowrap;
    }
    .sideList{
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .sideItem{
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(232,226,216,.90);
      background: rgba(255,255,255,.70);
      display:flex;
      gap:10px;
      align-items:flex-start;
      transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
    }
    .sideItem:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 35px rgba(16,24,40,.08);
      background: rgba(109,40,217,.05);
    }
    .spark{
      width:22px;height:22px;border-radius:8px;
      background: linear-gradient(135deg, rgba(109,40,217,.98), rgba(8,145,178,.92));
      box-shadow: 0 16px 26px rgba(109,40,217,.16);
      flex:0 0 auto;
      margin-top:2px;
      position:relative;
      overflow:hidden;
    }
    .spark::after{
      content:"";
      position:absolute;
      inset:-22px;
      background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), rgba(255,255,255,0) 55%);
      transform: translateX(-30%);
      opacity:.65;
    }
    .sideItem b{font-size:13.5px}
    .sideItem p{
      margin:3px 0 0;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.45;
    }

    .section{
      padding:18px 0;
    }
    .sectionHeader{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
      margin-bottom:12px;
    }
    .sectionHeader h2{
      margin:0;
      font-size:22px;
      letter-spacing:-.2px;
    }
    .sectionHeader p{
      margin:0;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.5;
      max-width: 52ch;
    }

    .grid2{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      align-items:start;
    }
    .card{
      border-radius: var(--radius);
      background: rgba(255,255,255,.72);
      border:1px solid rgba(232,226,216,.85);
      box-shadow: 0 12px 30px rgba(16,24,40,.06);
      padding:16px;
    }
    .card h3{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.15px;
    }
    .card p{
      margin:0;
      color:var(--muted);
      line-height:1.7;
      font-size:14px;
    }
    .bullets{
      margin:10px 0 0;
      padding:0;
      list-style:none;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .bullets li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:12px 12px;
      border-radius:16px;
      background: rgba(255,255,255,.60);
      border:1px solid rgba(232,226,216,.85);
    }
    .check{
      width:20px;height:20px;border-radius:8px;
      background: rgba(8,145,178,.10);
      border:1px solid rgba(8,145,178,.25);
      color:#0e7490;
      display:flex;align-items:center;justify-content:center;
      flex:0 0 auto;
      margin-top:2px;
      font-weight:800;
      font-size:12px;
    }
    .bullets b{display:block; font-size:13.5px; margin-bottom:3px}
    .bullets span{color:var(--muted); font-size:12.8px; line-height:1.45}

    .toc{
      background: rgba(255,255,255,.65);
      border:1px solid rgba(232,226,216,.85);
      border-radius: var(--radius);
      padding:14px;
      overflow:hidden;
      position:relative;
    }
    .toc::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        linear-gradient(90deg, rgba(109,40,217,.10), rgba(8,145,178,.10) 45%, rgba(249,115,22,.08));
      opacity:.55;
      pointer-events:none;
    }
    .tocInner{position:relative; z-index:2; display:flex; flex-direction:column; gap:10px}
    .tocTop{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .tocTop b{font-size:14.5px}
    .tocTop .hint{
      color:var(--muted);
      font-size:12.8px;
    }
    .tocLinks{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap:10px;
    }
    .tocLinks a{
      text-decoration:none;
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(232,226,216,.92);
      background: rgba(255,255,255,.72);
      color:#2c3442;
      font-size:13.5px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
    }
    .tocLinks a:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 35px rgba(16,24,40,.08);
      background: rgba(109,40,217,.05);
    }
    .tocLinks i{
      font-style:normal;
      width:28px;height:28px;border-radius:12px;
      display:inline-flex;align-items:center;justify-content:center;
      background: rgba(109,40,217,.10);
      border: 1px solid rgba(109,40,217,.18);
      color:#4c1d95;
      flex:0 0 auto;
      font-weight:800;
      font-size:12.5px;
    }

    .process{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:14px;
      align-items:start;
    }
    .steps{
      margin:0;
      padding:0;
      list-style:none;
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .step{
      padding:14px 14px;
      border-radius: var(--radius);
      border:1px solid rgba(232,226,216,.85);
      background: rgba(255,255,255,.70);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .step:hover{transform: translateY(-2px); box-shadow: 0 18px 35px rgba(16,24,40,.08)}
    .stepHead{
      display:flex; align-items:flex-start; gap:12px;
      margin-bottom:8px;
    }
    .stepNum{
      width:34px;height:34px;border-radius:14px;
      background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.90));
      color:#fff;
      display:flex;align-items:center;justify-content:center;
      font-weight:800;
      box-shadow: 0 18px 30px rgba(109,40,217,.16);
      flex:0 0 auto;
    }
    .stepHead b{font-size:15px; letter-spacing:-.15px}
    .step p{margin:0; color:var(--muted); line-height:1.7; font-size:13.8px}
    .asideQuote{
      border-radius: var(--radius);
      border:1px solid rgba(232,226,216,.85);
      background:
        radial-gradient(700px 280px at 10% 0%, rgba(8,145,178,.12), transparent 55%),
        radial-gradient(640px 260px at 90% 20%, rgba(109,40,217,.12), transparent 55%),
        rgba(255,255,255,.68);
      padding:16px;
      box-shadow: 0 12px 30px rgba(16,24,40,.06);
    }
    .asideQuote h3{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.15px;
    }
    .asideQuote .quote{
      margin:0;
      color:var(--muted);
      line-height:1.7;
      font-size:14px;
    }
    .asideQuote .mark{
      margin-top:12px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .tag{
      padding:9px 10px;
      border-radius:999px;
      background: rgba(8,145,178,.08);
      border:1px solid rgba(8,145,178,.18);
      color:#0e7490;
      font-size:12.8px;
      font-weight:650;
    }

    details.faq{
      border-radius: var(--radius);
      border:1px solid rgba(232,226,216,.85);
      background: rgba(255,255,255,.70);
      padding:12px 14px;
      transition: transform .18s ease, box-shadow .18s ease;
    }
    details.faq:hover{transform: translateY(-1px); box-shadow: 0 18px 35px rgba(16,24,40,.07)}
    details.faq[open]{background: rgba(255,255,255,.80)}
    details.faq summary{
      cursor:pointer;
      list-style:none;
      font-weight:750;
      letter-spacing:-.05px;
      font-size:14.2px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    details.faq summary::-webkit-details-marker{display:none}
    .sumIcon{
      width:28px;height:28px;border-radius:12px;
      border:1px solid rgba(232,226,216,.92);
      background: rgba(255,255,255,.72);
      display:flex;align-items:center;justify-content:center;
      color:#374151;
      font-size:13px;
      flex:0 0 auto;
      margin-top:2px;
    }
    details.faq .faqBody{
      margin-top:10px;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }

    .imgStrip{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:12px;
      margin-top:12px;
    }
    .imgBox{
      border-radius:16px;
      border:1px solid rgba(232,226,216,.85);
      overflow:hidden;
      background: rgba(255,255,255,.70);
      box-shadow: 0 10px 22px rgba(16,24,40,.06);
      transition: transform .18s ease, box-shadow .18s ease;
      position:relative;
    }
    .imgBox:hover{transform: translateY(-2px); box-shadow: 0 18px 40px rgba(16,24,40,.10)}
    .imgBox::after{
      content:"";
      position:absolute;
      inset:0;
      background: radial-gradient(400px 140px at 10% 0%, rgba(109,40,217,.14), transparent 60%);
      pointer-events:none;
      opacity:.75;
    }
    .imgBox img{
      width:100%;
      height:auto;
      display:block;
      object-fit:cover;
      aspect-ratio: 4 / 3;
      filter: saturate(1.04) contrast(1.02);
    }

    .innerLinks{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:10px;
    }
    .innerLinks a{
      text-decoration:none;
      padding:10px 12px;
      border-radius:999px;
      border:1px solid rgba(232,226,216,.92);
      background: rgba(255,255,255,.70);
      color:#2c3442;
      font-size:13px;
      transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .innerLinks a:hover{
      transform: translateY(-2px);
      background: rgba(109,40,217,.05);
      box-shadow: 0 18px 35px rgba(16,24,40,.08);
    }
    .linkDot{
      width:9px;height:9px;border-radius:50%;
      background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(8,145,178,.92));
      box-shadow: 0 10px 18px rgba(109,40,217,.18);
    }

    footer{
      margin-top:10px;
      background:
        radial-gradient(900px 380px at 15% 0%, rgba(109,40,217,.15), transparent 60%),
        radial-gradient(800px 340px at 85% 10%, rgba(8,145,178,.15), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.80));
      border-top: 1px solid rgba(232,226,216,.8);
      padding:18px 0 22px;
    }
    .footGrid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:14px;
      align-items:start;
    }
    .footCard{
      border-radius: var(--radius);
      border:1px solid rgba(232,226,216,.85);
      background: rgba(255,255,255,.80);
      padding:16px;
    }
    .footCard h2{
      margin:0 0 8px;
      font-size:16px;
      letter-spacing:-.15px;
    }
    .footCard p{
      margin:0;
      color:var(--muted);
      line-height:1.7;
      font-size:14px;
    }
    .twoCol{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    .kv{
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(232,226,216,.85);
      background: rgba(255,255,255,.72);
    }
    .kv b{display:block; font-size:13.5px; margin-bottom:4px}
    .kv span{color:var(--muted); font-size:13px; line-height:1.45}
    .wechatRow{
      display:flex;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:12px;
    }
    .qr{
      width:110px;
      border-radius:16px;
      border:1px solid rgba(232,226,216,.92);
      background: rgba(255,255,255,.72);
      padding:10px;
      box-shadow: 0 12px 30px rgba(16,24,40,.06);
    }
    .qr img{width:100%; height:auto; display:block; border-radius:12px}
    .wechatText{
      flex:1 1 220px;
    }
    .wechatText .muted{color:var(--muted); line-height:1.7; font-size:14px; margin:0}
    .footActions{
      margin-top:12px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
    }
    .footActions a{
      text-decoration:none;
    }
    .copyright{
      margin-top:12px;
      color:#5b6777;
      font-size:12.8px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .backTop{
      position:fixed;
      right:16px;
      bottom:16px;
      z-index:80;
      width:44px;height:44px;
      border-radius:16px;
      border:1px solid rgba(232,226,216,.92);
      background: rgba(255,255,255,.78);
      backdrop-filter: blur(10px);
      box-shadow: 0 18px 40px rgba(16,24,40,.10);
      display:flex;align-items:center;justify-content:center;
      cursor:pointer;
      opacity:0;
      transform: translateY(10px);
      pointer-events:none;
      transition: opacity .2s ease, transform .2s ease;
      color:#2c3442;
    }
    .backTop.show{
      opacity:1;
      transform: translateY(0);
      pointer-events:auto;
    }
    .backTop:focus{outline:none; box-shadow: var(--focus)}
    .backTop span{font-size:14px; font-weight:900}

    @media (max-width: 980px){
      .hero-grid{grid-template-columns: 1fr; }
      .heroCard, .sideCard{min-height:auto}
      .heroBottom{grid-template-columns: 1fr; }
      .process{grid-template-columns: 1fr}
      .grid2{grid-template-columns: 1fr}
      .imgStrip{grid-template-columns: repeat(2, 1fr)}
      .footGrid{grid-template-columns: 1fr}
      h1{font-size:28px}
      .tocLinks{grid-template-columns: 1fr}
      .nav{display:none}
      .menuBtn{display:inline-flex; align-items:center; gap:10px}
      .menuPanel.open{display:block}
    }
    @media (prefers-reduced-motion: reduce){
      *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
    }