:root{
      --bg:#f5f7f9;
      --card:#ffffff;
      --text:#16181d;
      --muted:#5b616c;
      --line:rgba(15,20,30,.10);
      --shadow:0 14px 40px rgba(17,24,39,.08);
      --shadow2:0 10px 28px rgba(17,24,39,.10);
      --accent:#7b8796;
      --accent2:#3d4b5e;
      --accent3:#0f4c81;
      --chip:#eef2f6;
      --focus:rgba(15,76,129,.25);
      --radius:18px;
      --radius2:14px;
      --container:1120px;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      background:linear-gradient(180deg,#f7f8fa 0%, #f4f6f8 40%, #f5f7f9 100%);
      color:var(--text);
      font-family: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      overflow-x:hidden;
    }
    a{color:inherit}
    .container{
      max-width:var(--container);
      margin:0 auto;
      padding:0 18px;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:saturate(140%) blur(10px);
      background:rgba(245,247,249,.72);
      border-bottom:1px solid rgba(15,20,30,.08);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:12px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:140px;
    }
    .logo{
      width:38px;height:38px;
      border-radius:12px;
      background:linear-gradient(135deg,#d7dbe2 0%, #aeb8c6 100%);
      border:1px solid rgba(15,20,30,.10);
      display:flex;align-items:center;justify-content:center;
      box-shadow:0 10px 22px rgba(17,24,39,.10);
      position:relative;
      overflow:hidden;
    }
    .logo:before{
      content:"";
      position:absolute;
      inset:-30%;
      background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.85), transparent 55%);
      transform:rotate(12deg);
      opacity:.9;
      pointer-events:none;
    }
    .logo span{
      position:relative;
      font-weight:900;
      letter-spacing:.04em;
      font-size:18px;
      color:#12151a;
    }
    .brand-title{
      display:flex;flex-direction:column;line-height:1.1;
    }
    .brand-title strong{
      font-size:14px;
      letter-spacing:.02em;
    }
    .brand-title small{
      color:var(--muted);
      font-size:12px;
      margin-top:2px;
    }

    .nav{
      display:flex;align-items:center;gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .nav a{
      text-decoration:none;
      color:var(--muted);
      font-size:13px;
      padding:8px 10px;
      border-radius:12px;
      border:1px solid transparent;
      transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
      white-space:nowrap;
    }
    .nav a:hover{
      background:rgba(255,255,255,.7);
      border-color:rgba(15,20,30,.10);
      color:#2a313b;
      transform:translateY(-1px);
    }
    .nav .cta{
      color:#0c2d4c;
      background:linear-gradient(180deg, #e6eef6 0%, #dde6f0 100%);
      border-color:rgba(15,76,129,.20);
      box-shadow:0 10px 22px rgba(15,76,129,.10);
    }
    .nav .cta:hover{
      transform:translateY(-1px);
      border-color:rgba(15,76,129,.35);
      background:linear-gradient(180deg, #e2ecf6 0%, #d7e2ef 100%);
    }

    .hero{
      padding:26px 0 18px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:18px;
      align-items:stretch;
    }
    .hero-card{
      background:linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.72) 100%);
      border:1px solid rgba(15,20,30,.10);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:22px 22px;
      position:relative;
      overflow:hidden;
    }
    .hero-card:after{
      content:"";
      position:absolute;
      width:620px;
      height:420px;
      right:-260px;
      top:-230px;
      background:radial-gradient(circle at 30% 30%, rgba(15,76,129,.14), transparent 60%),
                 radial-gradient(circle at 70% 60%, rgba(123,135,150,.22), transparent 62%);
      pointer-events:none;
    }
    .hero-kicker{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:10px;
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.66);
      padding:8px 12px;
      border-radius:999px;
      color:#2a313b;
      font-size:13px;
      margin-bottom:14px;
      box-shadow:0 10px 18px rgba(17,24,39,.06);
    }
    .dot{
      width:10px;height:10px;border-radius:999px;
      background:linear-gradient(180deg,#9aa7b7 0%, #6f7d90 100%);
      border:1px solid rgba(15,20,30,.10);
      box-shadow:0 8px 18px rgba(17,24,39,.12);
    }

    h1{
      position:relative;
      margin:0;
      font-size:32px;
      line-height:1.22;
      letter-spacing:-.02em;
      max-width:24ch;
    }
    .hero-lead{
      position:relative;
      margin-top:12px;
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
      max-width:62ch;
    }

    .hero-actions{
      position:relative;
      display:flex;
      gap:12px;
      margin-top:18px;
      flex-wrap:wrap;
      align-items:center;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:11px 14px;
      border-radius:14px;
      border:1px solid rgba(15,20,30,.12);
      background:#fff;
      color:#12151a;
      text-decoration:none;
      font-weight:700;
      font-size:14px;
      transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
      box-shadow:0 14px 24px rgba(17,24,39,.06);
      user-select:none;
      -webkit-tap-highlight-color:transparent;
    }
    .btn:hover{
      transform:translateY(-1px);
      box-shadow:0 18px 30px rgba(17,24,39,.10);
      border-color:rgba(15,20,30,.18);
    }
    .btn-primary{
      background:linear-gradient(180deg,#0f4c81 0%, #0d3f6b 100%);
      border-color:rgba(15,76,129,.55);
      color:#fff;
      box-shadow:0 18px 34px rgba(13,63,107,.22);
    }
    .btn-primary:hover{
      border-color:rgba(15,76,129,.80);
      box-shadow:0 22px 44px rgba(13,63,107,.28);
    }
    .btn small{
      font-weight:700;
      opacity:.9;
      font-size:12px;
    }

    .hero-aside{
      border-radius:var(--radius);
      border:1px solid rgba(15,20,30,.10);
      background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.68) 100%);
      box-shadow:var(--shadow);
      padding:18px;
      display:flex;
      flex-direction:column;
      gap:12px;
      overflow:hidden;
      position:relative;
    }
    .hero-aside:before{
      content:"";
      position:absolute;
      inset:-1px;
      background:radial-gradient(circle at 20% 20%, rgba(15,76,129,.12), transparent 45%),
                 radial-gradient(circle at 70% 70%, rgba(123,135,150,.18), transparent 55%);
      pointer-events:none;
    }
    .aside-title{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .aside-title strong{
      font-size:14px;
      letter-spacing:.02em;
    }
    .badge{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.70);
      color:#2a313b;
      font-size:12px;
      white-space:nowrap;
    }
    .badge i{
      width:8px;height:8px;border-radius:999px;
      background:linear-gradient(180deg,#8ea0b8 0%, #637287 100%);
      display:inline-block;
      border:1px solid rgba(15,20,30,.10);
    }
    .checklist{
      position:relative;
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .checklist li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(15,20,30,.08);
      background:rgba(255,255,255,.72);
      transition:transform .15s ease, border-color .15s ease;
    }
    .checklist li:hover{
      transform:translateY(-1px);
      border-color:rgba(15,20,30,.14);
    }
    .tick{
      flex:0 0 auto;
      width:22px;height:22px;border-radius:8px;
      background:linear-gradient(180deg,#e7edf5 0%, #dbe5f0 100%);
      border:1px solid rgba(15,20,30,.10);
      display:flex;align-items:center;justify-content:center;
      margin-top:1px;
      color:#0d3f6b;
      font-weight:900;
      font-size:12px;
    }
    .checklist p{
      margin:0;
      font-size:13px;
      line-height:1.5;
      color:#2b323d;
    }
    .aside-footer{
      position:relative;
      display:flex;
      gap:10px;
      margin-top:auto;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
      border-top:1px dashed rgba(15,20,30,.12);
      padding-top:12px;
    }
    .mini{
      display:flex;flex-direction:column;gap:4px;
    }
    .mini span{
      font-size:12px;color:var(--muted);
    }
    .mini strong{
      font-size:14px;
    }

    .section{
      padding:14px 0 8px;
    }
    .panel{
      background:rgba(255,255,255,.72);
      border:1px solid rgba(15,20,30,.10);
      border-radius:var(--radius);
      box-shadow:0 12px 34px rgba(17,24,39,.06);
      padding:16px;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
      padding:2px 2px 10px;
      border-bottom:1px solid rgba(15,20,30,.08);
      margin-bottom:12px;
    }
    .section-head h2{
      margin:0;
      font-size:16px;
      letter-spacing:.01em;
    }
    .section-head .sub{
      color:var(--muted);
      font-size:12px;
      line-height:1.5;
      text-align:right;
    }

    .toc{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
    }
    .toc a{
      text-decoration:none;
      font-size:13px;
      color:#2a313b;
      background:rgba(255,255,255,.80);
      border:1px solid rgba(15,20,30,.10);
      padding:9px 10px;
      border-radius:14px;
      transition:transform .15s ease, border-color .15s ease, background .15s ease;
      display:inline-flex;
      align-items:center;
      gap:8px;
      user-select:none;
    }
    .toc a:hover{
      transform:translateY(-1px);
      border-color:rgba(15,20,30,.18);
      background:#fff;
    }
    .toc a .num{
      width:22px;height:22px;border-radius:10px;
      background:linear-gradient(180deg,#edf2f7 0%, #e4ecf6 100%);
      border:1px solid rgba(15,20,30,.10);
      display:flex;align-items:center;justify-content:center;
      font-weight:900;
      color:#3a4654;
      font-size:12px;
    }

    .article{
      padding:16px;
    }
    .article-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap:14px;
    }

    .block{
      padding:14px;
      border-radius:var(--radius2);
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.76);
      transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .block:hover{
      transform:translateY(-1px);
      border-color:rgba(15,20,30,.16);
      box-shadow:0 18px 40px rgba(17,24,39,.08);
    }
    .block h3{
      margin:0 0 8px;
      font-size:15px;
      letter-spacing:.01em;
    }
    .block p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .block ul{
      margin:0;
      padding-left:18px;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .block li{margin:6px 0}

    .how-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      align-items:start;
    }
    .step{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .step .sid{
      flex:0 0 auto;
      width:36px;height:36px;border-radius:14px;
      background:linear-gradient(180deg,#edf2f7 0%, #e4ecf6 100%);
      border:1px solid rgba(15,20,30,.10);
      display:flex;align-items:center;justify-content:center;
      font-weight:950;
      color:#3a4654;
      box-shadow:0 12px 22px rgba(17,24,39,.07);
    }
    .step .sbody h4{
      margin:0 0 4px;
      font-size:14px;
      letter-spacing:.01em;
    }
    .step .sbody p{
      margin:0;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.7;
    }

    .policy-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:12px;
      align-items:stretch;
    }
    .table-wrap{
      border:1px solid rgba(15,20,30,.10);
      border-radius:16px;
      overflow:hidden;
      background:rgba(255,255,255,.78);
    }
    table{
      width:100%;
      border-collapse:collapse;
      font-size:13px;
    }
    thead th{
      text-align:left;
      padding:12px 12px;
      background:linear-gradient(180deg,#f0f3f7 0%, #e8edf3 100%);
      color:#2a313b;
      border-bottom:1px solid rgba(15,20,30,.10);
      font-weight:800;
      white-space:nowrap;
    }
    tbody td{
      padding:11px 12px;
      border-bottom:1px solid rgba(15,20,30,.08);
      color:var(--muted);
      line-height:1.5;
      vertical-align:top;
    }
    tbody tr:last-child td{border-bottom:none}
    .tag{
      display:inline-flex;
      align-items:center;
      padding:6px 9px;
      border-radius:999px;
      border:1px solid rgba(15,20,30,.10);
      background:#fff;
      color:#2a313b;
      font-weight:800;
      font-size:12px;
      white-space:nowrap;
    }
    .note-card{
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.76);
      border-radius:16px;
      padding:14px;
      display:flex;flex-direction:column;gap:10px;
    }
    .note-card strong{
      font-size:14px;
      letter-spacing:.01em;
    }
    .note-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .callout{
      border-radius:14px;
      border:1px solid rgba(15,76,129,.18);
      background:linear-gradient(180deg, rgba(15,76,129,.06) 0%, rgba(15,76,129,.03) 100%);
      padding:12px;
    }
    .callout .row{
      display:flex;gap:10px;align-items:flex-start;
    }
    .callout .mark{
      width:26px;height:26px;border-radius:10px;
      background:linear-gradient(180deg,#e6eef6 0%, #dbe6f1 100%);
      border:1px solid rgba(15,76,129,.20);
      display:flex;align-items:center;justify-content:center;
      font-weight:900;color:#0d3f6b;
      flex:0 0 auto;
      margin-top:1px;
    }
    .callout p{
      margin:0;
      color:#324052;
      font-weight:650;
      font-size:13.5px;
      line-height:1.6;
    }

    .faq{
      display:grid;
      gap:10px;
    }
    .faq details{
      border:1px solid rgba(15,20,30,.10);
      border-radius:16px;
      background:rgba(255,255,255,.78);
      padding:12px 12px;
      transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
      overflow:hidden;
    }
    .faq details[open]{
      box-shadow:0 18px 40px rgba(17,24,39,.10);
      border-color:rgba(15,20,30,.18);
    }
    .faq summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      font-weight:900;
      color:#222833;
      font-size:14px;
      user-select:none;
      padding:2px 0;
    }
    .faq summary::-webkit-details-marker{display:none}
    .chev{
      flex:0 0 auto;
      width:26px;height:26px;
      border-radius:12px;
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.85);
      display:flex;align-items:center;justify-content:center;
      color:#3a4654;
      font-weight:950;
      transition:transform .2s ease;
      margin-top:-2px;
    }
    details[open] .chev{transform:rotate(180deg)}
    .faq .ans{
      margin-top:10px;
      color:var(--muted);
      font-size:14px;
      line-height:1.8;
    }

    .image-row{
      display:grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap:10px;
    }
    .img-card{
      border-radius:16px;
      border:1px solid rgba(15,20,30,.10);
      background:rgba(255,255,255,.78);
      overflow:hidden;
      box-shadow:0 12px 24px rgba(17,24,39,.06);
      transform:translateZ(0);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .img-card:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 40px rgba(17,24,39,.12);
      border-color:rgba(15,20,30,.16);
    }
    .img-wrap{
      width:100%;
      aspect-ratio: 1 / 1;
      background:linear-gradient(180deg,#f2f4f7 0%, #e7edf4 100%);
      display:flex;align-items:center;justify-content:center;
      position:relative;
    }
    .img-wrap img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      filter:saturate(1.02) contrast(1.02);
    }
    .img-cap{
      padding:10px 10px;
      color:var(--muted);
      font-size:12.5px;
      line-height:1.5;
      border-top:1px solid rgba(15,20,30,.08);
    }
    .img-cap strong{color:#2a313b}

    footer{
      margin-top:12px;
      padding:14px 0 20px;
    }
    .foot-panel{
      background:linear-gradient(180deg, rgba(16,22,30,.92) 0%, rgba(14,20,28,.96) 100%);
      border:1px solid rgba(255,255,255,.10);
      border-radius:var(--radius);
      padding:16px;
      color:#e8edf5;
      box-shadow:0 24px 70px rgba(0,0,0,.22);
    }
    .foot-grid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:14px;
      align-items:start;
    }
    .foot-grid h2{
      margin:0 0 8px;
      font-size:15px;
      letter-spacing:.01em;
      color:#f2f5fb;
    }
    .foot-grid p{
      margin:0;
      color:#c9d2e3;
      font-size:13.5px;
      line-height:1.75;
    }
    .foot-list{
      display:grid;
      gap:9px;
      margin-top:10px;
      padding:0;
      list-style:none;
    }
    .foot-list li{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px 10px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.05);
    }
    .foot-list .ic{
      width:26px;height:26px;border-radius:12px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      display:flex;align-items:center;justify-content:center;
      font-weight:900;
      color:#dbe6ff;
      flex:0 0 auto;
      margin-top:1px;
      font-size:12px;
    }
    .foot-list strong{display:block;color:#eef3ff;font-size:13px;margin-bottom:2px}
    .foot-list span{color:#c9d2e3;font-size:13px;line-height:1.5}

    .foot-right{
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.05);
      border-radius:16px;
      padding:12px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .qrcode-row{
      display:flex;
      align-items:flex-start;
      gap:12px;
      flex-wrap:wrap;
    }
    .qrcode{
      width:92px;
      height:92px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.12);
      background:#fff;
      overflow:hidden;
      flex:0 0 auto;
    }
    .qrcode img{
      width:100%;height:100%;
      object-fit:cover;
      display:block;
    }
    .qrcode-text{
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:200px;
    }
    .qrcode-text strong{
      color:#f3f6ff;
      font-size:13.5px;
    }
    .qrcode-text a{
      text-decoration:none;
      color:#dbe7ff;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      border-radius:14px;
      padding:9px 10px;
      font-weight:850;
      font-size:13px;
      transition:transform .15s ease, background .15s ease, border-color .15s ease;
      display:inline-flex;
      align-items:center;
      gap:8px;
      -webkit-tap-highlight-color:transparent;
    }
    .qrcode-text a:hover{
      transform:translateY(-1px);
      border-color:rgba(255,255,255,.22);
      background:rgba(255,255,255,.10);
    }

    .copyright{
      margin-top:12px;
      padding-top:12px;
      border-top:1px solid rgba(255,255,255,.10);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      color:#b8c5dd;
      font-size:12.5px;
    }
    .keywords{
      display:flex;gap:8px;flex-wrap:wrap;
    }
    .kchip{
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.06);
      color:#d3def2;
      font-weight:800;
      font-size:12px;
      white-space:nowrap;
    }

    .reveal{
      opacity:0;
      transform:translateY(10px);
      transition:opacity .6s ease, transform .6s ease;
    }
    .reveal.on{
      opacity:1;
      transform:translateY(0);
    }

    .skip{
      position:absolute;left:-999px;top:0;
      background:#fff;border:1px solid rgba(15,20,30,.2);
      padding:10px 12px;border-radius:12px;
      z-index:1000;
      color:#111;
      text-decoration:none;
    }
    .skip:focus{left:14px;top:14px}

    @media (max-width: 980px){
      .hero-grid{grid-template-columns:1fr;gap:14px}
      h1{font-size:28px}
      .policy-grid{grid-template-columns:1fr}
      .how-grid{grid-template-columns:1fr}
      .image-row{grid-template-columns:1fr 1fr}
      .foot-grid{grid-template-columns:1fr}
    }
    @media (max-width: 520px){
      .topbar-inner{padding:10px 0}
      .nav a{padding:8px 9px}
      .hero-card{padding:18px 16px}
      .hero-aside{padding:14px}
      h1{font-size:24px}
      .btn{width:100%; justify-content:space-between}
      .hero-actions .btn{flex:1 1 100%}
      .image-row{grid-template-columns:1fr}
      .qrcode{width:86px;height:86px}
    }

    @media (prefers-reduced-motion: reduce){
      .reveal{transition:none}
      .btn,.nav a,.block,.checklist li,.img-card{transition:none}
    }