  :root{
    /* 品牌色取自 logo：红 / 金 / 蓝 */
    --red:#dc1a0c;
    --red-d:#a81206;
    /* 深色主题下的亮红：红底上的强调字用这把，纯 #dc1a0c 在深底上太暗 */
    --red-b:#ff7a68;
    --red-l:#3a1712;
    --gold:#b58900;
    --gold-b:#e0b45c;    /* 深底上的金色强调（线、字、图标） */
    --gold-l:#3a2d10;
    --navy:#1b3f73;      /* 深品牌蓝：强调区块底色 */
    --blue:#2f6fd0;      /* 品牌蓝：链接、强调（深底下提亮一档） */
    --blue-d:#1f63c4;    /* 深底上的「链接蓝」：原 #1520d8 在墨底上不可读 */
    --blue-l:#d9e9f9;
    --amber:#e0b45c;
    --amber-l:#3a2d10;
    /* 深色主题：文字 / 分隔线 / 面层（2026-10-01 由宣纸暖白切换，应用户要求深色为主） */
    --ink:#16324e;       /* 主文字：暖象牙白 */
    --muted:#4a6683;
    --line:#d3e5f5;
    --soft:#e2eef9;      /* 次级面层（区块带） */
    --card:#ffffff;      /* 卡片面层 */
    --paper:#edf5fc;     /* 页面底色：深墨蓝 */
    --hint:#7590a8;
    --radius:12px;
    /* 顶部品牌条尺寸：--logo-h 只用品牌规范里的完整组合标志，故比普通导航条高；
       页面滚动后收缩为 -s 一组（保持原来的 68px 导航高度） */
    --bar-h:112px;   --logo-h:88px;
    --bar-h-s:68px;  --logo-h-s:52px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    color:var(--ink);line-height:1.7;
    -webkit-font-smoothing:antialiased;
    padding-top:var(--bar-h);   /* 顶栏固定定位，这里预留它的高度 */
    /* 宣纸质感：暖白纸底 + 极淡纤维颗粒纹理（bg/paper-grain.svg，全站共用） */
    background:url("bg/paper-grain.svg") repeat, var(--paper);
  }
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
  section,#assess{scroll-margin-top:84px}
  .sec{padding:88px 0}
  /* 浅暖底区块：底边压一条云纹装饰带（26px，落在原有内边距的留白里，不占额外高度） */
  .sec-soft{background:url("bg/cloud-band.svg") repeat-x bottom, var(--soft)}
  .sec-head{max-width:640px;margin-bottom:48px}
  .sec-head h2{font-size:30px;font-weight:600;letter-spacing:-.4px;line-height:1.35}
  .sec-head p{color:var(--muted);font-size:15px;margin-top:12px}
  .kicker{
    display:inline-block;font-size:12px;font-weight:600;letter-spacing:1.4px;
    color:var(--blue-d);background:var(--blue-l);padding:5px 12px;border-radius:999px;margin-bottom:16px;
  }

  /* ---------- 导航 ---------- */
  /* 顶部品牌条：品牌区直接用规范里的完整组合标志（云纹在上、文字在下），
     不再用「云纹单体 + 网页字体文字」拼。标志比普通导航条高，所以顶栏固定定位、
     body 预留高度；滚动后收缩成 -s 一组，避免顶栏一直占着 112px。 */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,253,249,.94);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
  }
  .nav{
    height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:24px;
    transition:height .28s cubic-bezier(.4,0,.2,1);
  }
  .brand{display:block;flex:none;line-height:0}
  .brand-logo{
    height:var(--logo-h);width:auto;display:block;
    transition:height .28s cubic-bezier(.4,0,.2,1);
  }
  header.small .nav{height:var(--bar-h-s)}
  header.small .brand-logo{height:var(--logo-h-s)}
  @media (prefers-reduced-motion:reduce){
    .nav,.brand-logo{transition:none}
  }
  .nav-links{display:flex;gap:18px;font-size:14px;color:var(--muted);flex:none}
  .nav-links a:hover{color:var(--blue-d)}
  .nav-right{display:flex;align-items:center;gap:18px}
  .nav-right .btn{white-space:nowrap}
  .nav-phone{font-size:14px;font-weight:600;color:var(--navy)}
  .nav-phone b{font-weight:600;white-space:nowrap}
  .nav-phone span{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.5px;line-height:1}
  .nav-phone b{font-weight:600}

  /* ---------- 按钮 ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;
    padding:14px 26px;font-family:inherit;transition:.18s;line-height:1;
  }
  .btn-sm{padding:10px 18px;font-size:14px}
  .btn-primary{background:var(--red);color:#fff}
  .btn-primary:hover{background:var(--red-d)}
  .btn-ghost{background:transparent;color:var(--navy);border:1px solid #ded3bd}
  .btn-ghost:hover{border-color:#d9b26a;color:#8a6a12;background:#fffdf8}
  .btn-block{width:100%}
  .btn:disabled{opacity:.6;cursor:not-allowed}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:
      radial-gradient(900px 420px at 88% -8%, #f6e6cf 0%, rgba(233,235,251,0) 62%),
      linear-gradient(#fff, #fdfaf3);
    border-bottom:1px solid var(--line);
  }
  /* 祥云线稿底纹：置于一列内容之下，只做纸面点缀 */
  .hero::after{
    content:"";position:absolute;right:-36px;top:-30px;width:340px;height:222px;
    background:url("bg/cloud-line.svg") no-repeat center/contain;opacity:.5;pointer-events:none;
  }
  /* 远山线稿贴首屏底边，只露山脊；同样压在内容层之下 */
  .hero::before{
    content:"";position:absolute;left:0;right:0;bottom:0;height:148px;
    background:url("bg/mountain-line.svg") no-repeat center bottom/100% 100%;pointer-events:none;
  }
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:start;padding:72px 24px 80px}
  .badge-line{
    display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--blue-d);
    background:var(--card);border:1px solid #dcdff8;padding:6px 14px;border-radius:999px;margin-bottom:22px;
  }
  .dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
  .hero h1{font-size:44px;font-weight:600;letter-spacing:-1px;line-height:1.22}
  .hero h1 em{font-style:normal;color:var(--blue-d)}
  .hero-sub{font-size:16px;color:var(--muted);margin-top:20px;max-width:520px}
  .hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
  .hero-note{font-size:13px;color:var(--hint);margin-top:16px}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line);padding-top:26px}
  .stat{padding-right:16px}
  .stat b{display:block;font-size:24px;font-weight:600;color:var(--navy);letter-spacing:-.5px}
  .stat span{font-size:12.5px;color:var(--muted)}

  /* ---------- 自测卡 ---------- */
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    box-shadow:0 12px 34px -18px rgba(122,92,44,.18);
  }
  .assess{padding:26px}
  .assess h3{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}
  .assess h3 i{
    font-style:normal;font-size:11px;font-weight:600;color:var(--amber);
    background:var(--amber-l);padding:3px 9px;border-radius:6px;
  }
  .assess > p{font-size:13px;color:var(--muted);margin-top:6px;margin-bottom:18px}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:#3a342a}
  select,input,textarea{
    width:100%;font-family:inherit;font-size:14px;color:var(--ink);
    border:1px solid #e3dbc9;border-radius:9px;padding:11px 12px;background:#fdfaf3;transition:.15s;
  }
  select:focus,input:focus,textarea:focus{outline:none;border-color:var(--blue);background:var(--card);box-shadow:0 0 0 3px rgba(26,111,196,.1)}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .result{margin-top:18px;padding:16px;border-radius:11px;background:var(--blue-l);border:1px solid #2d4d70}
  .result .r-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0}
  .result .r-row b{font-weight:600;color:var(--navy);text-align:right}
  .result .r-tag{
    display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;
    background:var(--navy);color:#fff;margin-bottom:10px;
  }
  .result h4{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:4px}
  .result .r-cta{margin-top:14px}
  .disclaimer{font-size:11.5px;color:var(--hint);margin-top:10px;line-height:1.6}

  /* ---------- 信任条 ---------- */
  .trust{background:var(--navy);color:#cfe0f0}
  .trust ul{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 0;list-style:none}
  .trust li{font-size:13.5px;display:flex;gap:9px;align-items:flex-start}
  .trust li b{color:#fff;font-weight:600;display:block;font-size:14px}
  .tick{width:16px;height:16px;flex:none;margin-top:4px;border-radius:50%;background:rgba(255,255,255,.14)}
  .tick::after{content:"";display:block;width:4px;height:8px;border:solid #9aa8f7;border-width:0 1.6px 1.6px 0;transform:rotate(45deg);margin:3px auto 0}

  /* ---------- 服务项目 ---------- */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .svc{padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:.2s}
  .svc:hover{border-color:#e8d3ac;box-shadow:0 16px 34px -20px rgba(122,92,44,.26);transform:translateY(-4px)}
  .svc-icon{width:40px;height:40px;border-radius:11px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
  .svc-icon span{width:16px;height:16px;border:1.7px solid var(--blue);border-radius:4px;display:block}
  .svc h3{font-size:16.5px;font-weight:600;margin-bottom:8px}
  .svc p{font-size:13.5px;color:var(--muted)}
  .svc ul{list-style:none;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
  .svc ul li{font-size:13px;color:#4a4335;padding-left:16px;position:relative;margin-bottom:5px}
  .svc ul li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:1.6px;background:var(--blue)}

  /* ---------- 报价表 ---------- */
  .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
  .tab{
    font-size:13.5px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);
    background:var(--card);cursor:pointer;color:var(--muted);font-family:inherit;transition:.15s;
  }
  .tab:hover{border-color:#2d4d70;color:var(--blue-d)}
  .tab.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
  .table-box{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
  .table-scroll{overflow-x:auto}
  table{width:100%;border-collapse:collapse;min-width:820px}
  th,td{padding:14px 16px;text-align:left;font-size:13.5px;border-bottom:1px solid #f0eade;vertical-align:middle}
  th{background:var(--soft);font-weight:600;font-size:12.5px;color:#4a4335;white-space:nowrap}
  tbody tr:last-child td{border-bottom:none}
  tbody tr:hover{background:#fbf7ef}
  td .country{font-weight:600}
  td .sub{display:block;font-size:12px;color:var(--hint);font-weight:400}
  .num{font-variant-numeric:tabular-nums;white-space:nowrap}
  .total{font-weight:600;color:var(--navy)}
  .pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap}
  .p-std{background:#e9f7ef;color:#1c7a48}
  .p-mid{background:var(--amber-l);color:var(--amber)}
  .p-strict{background:var(--red-l);color:var(--red-d)}
  .load-note{font-size:12.5px;color:var(--hint);padding:14px 16px;background:#fdfaf3;border-top:1px solid #f0eade}
  .warn-note{font-size:12.5px;color:var(--amber);background:var(--amber-l);padding:12px 16px;border-radius:10px;margin-bottom:14px}

  /* ---------- 流程 ---------- */
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
  .step{position:relative;padding-top:46px}
  .step::before{
    counter-increment:s;content:counter(s,decimal-leading-zero);
    position:absolute;top:0;left:0;font-size:13px;font-weight:600;color:var(--blue-d);
    background:var(--blue-l);width:34px;height:34px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
  }
  .step h3{font-size:15px;font-weight:600;margin-bottom:7px}
  .step p{font-size:13px;color:var(--muted)}
  .step:not(:last-child)::after{
    content:"";position:absolute;top:17px;left:46px;right:-8px;height:1px;background:#e8dfcd;
  }

  /* ---------- 优势 ---------- */
  .why{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .why-item{display:flex;gap:16px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:14px}
  .why-num{
    font-size:13px;font-weight:600;color:#fff;background:var(--blue-d);flex:none;
    width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  }
  .why-item h3{font-size:15.5px;font-weight:600;margin-bottom:6px}
  .why-item p{font-size:13.5px;color:var(--muted)}

  /* ---------- 评价 ---------- */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .quote{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:14px}
  .quote p{font-size:14px;color:#3a342a}
  .quote footer{margin-top:18px;padding-top:16px;border-top:1px solid #f0eade;font-size:12.5px;color:var(--muted)}
  .quote footer b{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
  .stars{color:#d9a400;font-size:13px;letter-spacing:2px;margin-bottom:10px}

  /* ---------- FAQ ---------- */
  .faq{max-width:820px}
  .qa{border-bottom:1px solid var(--line)}
  .qa button{
    width:100%;background:none;border:none;font-family:inherit;font-size:15.5px;font-weight:500;
    text-align:left;padding:20px 34px 20px 0;cursor:pointer;position:relative;color:var(--ink);
  }
  .qa button::after{
    content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;
    border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);
    transform:translateY(-70%) rotate(45deg);transition:.2s;
  }
  .qa.open button::after{transform:translateY(-30%) rotate(-135deg)}
  .qa .a{max-height:0;overflow:hidden;transition:max-height .25s ease}
  .qa .a p{font-size:14px;color:var(--muted);padding:0 40px 20px 0}
  .qa.open .a{max-height:340px}

  /* ---------- 表单 ---------- */
  .contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
  /* 免费评估区：左下角镜像祥云水印（与首屏右上的云方向相反，避免两处像复制粘贴） */
  #consult{position:relative;overflow:hidden}
  #consult::after{
    content:"";position:absolute;left:-80px;bottom:-70px;width:420px;height:274px;transform:scaleX(-1);
    background:url("bg/cloud-line.svg") no-repeat center/contain;opacity:.28;pointer-events:none;
  }
  #consult .wrap{position:relative;z-index:1}
  .contact-info h2{font-size:30px;font-weight:600;letter-spacing:-.4px;line-height:1.35}
  .contact-info > p{color:var(--muted);font-size:15px;margin-top:14px}
  .info-list{list-style:none;margin-top:30px}
  .info-list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:14px}
  .info-list li span{color:var(--muted)}
  .info-list li b{font-weight:600}
  .form-card{padding:32px}
  .form-card h3{font-size:19px;font-weight:600;margin-bottom:6px}
  .form-card > p{font-size:13px;color:var(--muted);margin-bottom:22px}
  .req{color:#d24a3d}
  .consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--muted);margin:14px 0 18px}
  .consent input{width:15px;height:15px;flex:none;margin-top:2px;accent-color:var(--red)}
  .form-msg{font-size:13.5px;margin-top:14px;padding:12px 14px;border-radius:9px;display:none}
  .form-msg.err{display:block;background:#fdecec;color:#a3281f}
  .form-msg.ok{display:block;background:#e9f7ef;color:#1c7a48}
  .form-msg a{text-decoration:underline}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

  /* ---------- 页脚 ---------- */
  footer.site{
    position:relative;overflow:hidden;
    background:url("bg/hui-border.svg") repeat-x top, url("bg/paper-grain.svg") repeat, var(--soft);
    color:var(--muted);font-size:13px;padding:38px 0 20px;border-top:1px solid var(--line);
  }
  /* 页脚右下祥云水印，压在内容层之下 */
  footer.site::after{
    content:"";position:absolute;right:-70px;bottom:-80px;width:460px;height:300px;
    background:url("bg/cloud-line.svg") no-repeat center/contain;opacity:.32;pointer-events:none;
  }
  footer.site .wrap{position:relative;z-index:1}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
  .foot-grid h4{color:var(--ink);font-size:14px;font-weight:600;margin-bottom:10px}
  .foot-grid ul{list-style:none}
  .foot-grid li{margin-bottom:6px}
  .foot-grid a:hover{color:var(--red)}
  .foot-brand{margin-bottom:10px}
  .foot-brand img{height:112px;width:auto;display:block}
  /* 页脚为浅暖底（与宣纸主题同调），按品牌规范使用彩色版标志（完整组合，云纹在上、文字在下，带注册商标标记） */
  .foot-reg{
    margin-top:16px;padding:10px 14px;border-radius:9px;
    background:rgba(255,255,255,.55);border:1px solid var(--line);
    font-size:12px;color:var(--muted);line-height:1.7;
  }
  .foot-reg b{color:var(--ink);font-weight:600}
  .foot-bottom{
    margin-top:12px;padding-top:12px;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--hint);
  }

  /* ---------- 在线支付 ---------- */
  .pay-btn{
    font:inherit;font-size:12.5px;font-weight:600;color:var(--blue-d);background:var(--blue-l);
    border:1px solid #2d4d70;border-radius:8px;padding:6px 12px;cursor:pointer;white-space:nowrap;transition:.15s;
  }
  .pay-btn:hover{background:#dfe3fa;border-color:#2d4d70}
  .pay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}
  .pay-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .pay-card i{
    font-style:normal;display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:10px;background:var(--blue-l);color:var(--blue);
    font-size:12.5px;font-weight:700;margin-bottom:12px;
  }
  .pay-card h4{font-size:14.5px;font-weight:600;margin-bottom:7px}
  .pay-card p{font-size:12.8px;color:var(--muted);line-height:1.7}

  /* 支付宝付款返回提示（payment.html?pay=return） */
  .pay-return{border:1px solid #d5e5d5;background:#eef5ee;color:#2f4f34;border-radius:12px;
    padding:14px 16px;font-size:13.5px;line-height:1.75;margin-bottom:18px}
  .pay-return b{font-weight:600;margin-right:6px}
  .pay-ways-line{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
  .pay-chip{
    display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;
    border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:var(--card);color:#3a342a;
  }
  .pay-chip em{font-style:normal;width:16px;height:16px;border-radius:5px;display:block}

  /* 对公账户 */
  .bank-box{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
  .bank-info{flex:1 1 330px;min-width:0}
  .acct-no{
    font-variant-numeric:tabular-nums;letter-spacing:.5px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;
  }
  .copy-btn{
    margin-left:9px;border:1px solid var(--line);background:var(--card);color:var(--navy);
    font-size:11.5px;font-weight:600;border-radius:7px;padding:3px 9px;cursor:pointer;
    font-family:inherit;line-height:1.5;white-space:nowrap;
  }
  .copy-btn:hover{background:var(--blue-l);border-color:#c3c8f2}

  /* 订单弹层 */
  .pay-mask{
    position:fixed;inset:0;z-index:80;background:rgba(10,16,60,.44);
    display:flex;align-items:flex-start;justify-content:center;padding:26px 18px;overflow:auto;
  }
  .pay-mask[hidden]{display:none}
  .pay-dialog{
    position:relative;width:100%;max-width:520px;background:var(--card);border-radius:18px;padding:26px;
    box-shadow:0 34px 80px -28px rgba(10,16,60,.55);margin:auto;
  }
  .pay-dialog h3{font-size:17px;font-weight:600;padding-right:30px}
  .pay-dialog .sub{font-size:12.8px;color:var(--muted);margin-top:5px}
  .pay-close{
    position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:9px;
    background:var(--soft);color:var(--muted);font-size:17px;line-height:1;cursor:pointer;
  }
  .pay-close:hover{background:#eceff7}
  .pay-sum{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:18px 0 14px}
  .pay-sum .r-row{display:flex;justify-content:space-between;gap:14px;font-size:13px;padding:4px 0;color:var(--muted)}
  .pay-sum .r-row b{font-weight:600;color:var(--ink);text-align:right}
  .pay-amt{
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    padding:13px 16px;border-radius:12px;background:var(--red-l);border:1px solid #f6d5d2;margin-bottom:18px;
  }
  .pay-amt span{font-size:13px;color:#8a3b33}
  .pay-amt b{font-size:25px;font-weight:600;color:var(--red);letter-spacing:-.5px}
  .pay-ways{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
  .pay-way{
    display:flex;align-items:center;gap:9px;border:1px solid #e3dbc9;border-radius:11px;
    padding:12px 13px;font-size:13.5px;cursor:pointer;background:#fdfaf3;transition:.15s;
  }
  .pay-way.on{border-color:var(--blue);background:var(--blue-l);box-shadow:0 0 0 3px rgba(47,111,208,.07)}
  .pay-way input{width:auto;margin:0;accent-color:var(--blue)}
  .pay-ok{display:flex;gap:9px;align-items:flex-start;font-size:12.3px;color:var(--muted);margin-bottom:16px;line-height:1.6}
  .pay-ok input{width:auto;margin:3px 0 0;flex:none;accent-color:var(--blue)}
  .pay-note{font-size:11.5px;color:var(--hint);line-height:1.7;margin-top:14px}
  .pay-mid{text-align:center}
  .pay-mid .ono{
    display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,Consolas,monospace;
    font-size:14px;font-weight:600;color:var(--navy);background:var(--soft);
    border:1px solid var(--line);border-radius:9px;padding:8px 13px;margin:12px 0 4px;
  }
  .pay-mid .ono button{
    font:inherit;font-size:11.5px;font-weight:600;color:var(--blue-d);background:var(--card);
    border:1px solid #2d4d70;border-radius:6px;padding:2px 8px;cursor:pointer;
  }
  .qr-box{
    width:196px;height:196px;margin:12px auto;border:1px dashed var(--line);border-radius:12px;
    background:var(--card);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;
  }
  .qr-box img,.qr-box canvas{width:100%;height:100%;display:block}
  .qr-box .ph{font-size:12px;color:var(--hint);padding:0 12px;line-height:1.7}
  .pay-state{
    display:inline-block;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;margin-top:4px;
  }
  .pay-state.wait{background:var(--amber-l);color:var(--amber)}
  .pay-state.open{background:var(--blue-l);color:var(--blue-d)}
  .pay-state.done{background:#e6f6ec;color:#1c7a44}
  .pay-state.mock{background:var(--red-l);color:var(--red-d)}
  .pay-links{display:flex;gap:12px;justify-content:center;font-size:12.5px;margin-top:16px;flex-wrap:wrap}
  .pay-links a{color:var(--blue-d);font-weight:600}

  /* ---------- 响应式 ---------- */
  /* 顶栏里现在是完整组合标志，比原来的云纹单体+文字宽，所以收窄断点提前一点，
     免得电话和按钮被挤成两行 */
  @media (max-width:900px){ .nav-phone{display:none} }
  /* 窄屏先藏「工作日」小字、再藏整段电话：既防号码折三行，也给右侧按钮留足单行宽度 */
  @media (max-width:1180px){ .nav-phone span{display:none} }
  @media (max-width:1140px){ .nav-phone{display:none} }
  @media (max-width:900px){ .nav-links{display:none} }
  @media (max-width:1000px){
    .hero-grid{grid-template-columns:1fr;gap:40px;padding:52px 24px 60px}
    .hero h1{font-size:34px}
    .cards,.quotes{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:repeat(2,1fr);gap:24px}
    .step:not(:last-child)::after{display:none}
    .contact{grid-template-columns:1fr;gap:36px}
    .foot-grid{grid-template-columns:1fr 1fr}
    /* 四张「付/账/票/退」卡片在窄屏挤成四列会变成逐字换行，提前折成两列 */
    .pay-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  }
  @media (max-width:720px){
    :root{--bar-h:84px;--logo-h:64px;--bar-h-s:60px;--logo-h-s:44px}
    .sec{padding:60px 0}
    .hero h1{font-size:29px}
    .stats{grid-template-columns:1fr 1fr;gap:18px 0}
    .cards,.quotes,.why,.grid-2{grid-template-columns:1fr}
    .sec-head h2,.contact-info h2{font-size:24px}
    .trust ul{grid-template-columns:1fr;gap:14px}
    .form-card,.assess{padding:22px}
    .pay-grid{grid-template-columns:1fr}
    /* 窄屏云纹水印会压到正文，整体撤掉；宣纸颗粒与页脚回纹保留 */
    .hero::after{display:none}
    footer.site::after{opacity:.22}
  }

  /* ============ AI 在线客服 ============
     注意这条 [hidden] 规则不能省：下方的 .cs-panel{display:flex} / .cs-fab{display:flex}
     是作者样式，优先级高于浏览器默认的 [hidden]{display:none}，
     不加 !important 的话 el.hidden = true 完全失效，浮窗关不掉。 */
  [hidden]{display:none!important}

  .cs-fab{
    position:fixed;right:22px;bottom:22px;z-index:70;
    width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;padding:0;
    background:linear-gradient(135deg,#e8452e,var(--red));color:#fff;
    box-shadow:0 12px 28px -8px rgba(220,26,12,.6);
    display:flex;align-items:center;justify-content:center;
    transition:transform .18s ease;
  }
  .cs-fab:hover{transform:translateY(-2px) scale(1.04)}
  .cs-fab svg{width:25px;height:25px;fill:currentColor;display:block}
  .cs-fab b{
    position:absolute;right:68px;top:50%;transform:translateY(-50%);
    white-space:nowrap;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:600;
    padding:7px 13px;border-radius:999px;border:1px solid var(--line);
    box-shadow:0 8px 20px -8px rgba(10,16,60,.35);pointer-events:none;
  }
  .cs-fab i{
    position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;
    background:#22b07d;border:2px solid #fff;
  }
  .cs-panel{
    position:fixed;right:22px;bottom:22px;z-index:75;
    width:392px;max-width:calc(100vw - 28px);
    height:min(628px,calc(100vh - 40px));
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    box-shadow:0 30px 70px -24px rgba(10,16,60,.5);
    display:flex;flex-direction:column;overflow:hidden;
    animation:cs-in .2s cubic-bezier(.4,0,.2,1);
  }
  @keyframes cs-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @media (max-width:560px){
    .cs-panel{right:8px;left:8px;bottom:8px;width:auto;height:calc(100vh - 16px);max-width:none}
    .cs-fab{right:14px;bottom:14px}
    .cs-fab b{display:none}
  }
  .cs-head{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:13px 14px;background:linear-gradient(135deg,#1b3f73,#1d2ad4);color:#fff;flex:0 0 auto;
  }
  .cs-head-l{display:flex;align-items:center;gap:10px;min-width:0}
  .cs-av{
    width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.16);
    display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;
    letter-spacing:.5px;flex:0 0 auto;border:1px solid rgba(255,255,255,.28);
  }
  .cs-head-l span{display:block;min-width:0}
  .cs-head-l b{display:block;font-size:14.5px;font-weight:600;line-height:1.35}
  .cs-head-l em{
    display:block;font-style:normal;font-size:11.5px;opacity:.82;line-height:1.4;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .cs-x{
    width:28px;height:28px;flex:0 0 auto;border:0;border-radius:8px;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;font-size:16px;line-height:1;
  }
  .cs-x:hover{background:rgba(255,255,255,.26)}
  .cs-body{flex:1 1 auto;overflow-y:auto;padding:16px 14px 8px;background:var(--soft);scroll-behavior:smooth}
  .cs-m{display:flex;margin-bottom:11px}
  .cs-m-u{justify-content:flex-end}
  .cs-b{
    max-width:86%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.72;
    white-space:pre-wrap;word-break:break-word;
  }
  .cs-m-a .cs-b{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:5px}
  .cs-m-u .cs-b{background:var(--blue);color:#fff;border-bottom-right-radius:5px}
  .cs-m-sys{justify-content:center;margin:14px 0}
  .cs-m-sys .cs-b{
    max-width:100%;background:var(--card);border:1px dashed #ded5c2;border-radius:10px;
    font-size:12.3px;color:var(--muted);text-align:center;padding:9px 13px;
  }
  .cs-hot{padding:0 14px 10px;background:var(--soft);display:flex;flex-wrap:wrap;gap:7px;flex:0 0 auto}
  .cs-hot button{
    font:inherit;font-size:12.2px;color:var(--blue-d);background:var(--card);border:1px solid #2d4d70;
    border-radius:999px;padding:6px 12px;cursor:pointer;transition:.15s;
  }
  .cs-hot button:hover{background:var(--blue-l);border-color:#2d4d70}
  .cs-form{display:flex;gap:8px;align-items:flex-end;padding:10px 14px;border-top:1px solid var(--line);background:var(--card);flex:0 0 auto}
  .cs-form textarea{
    flex:1 1 auto;font:inherit;font-size:13.5px;line-height:1.6;resize:none;
    border:1px solid var(--line);border-radius:11px;padding:9px 11px;max-height:104px;
    outline:none;background:var(--card);color:var(--ink);
  }
  .cs-form textarea:focus{border-color:#1f5cbe;box-shadow:0 0 0 3px rgba(47,111,208,.08)}
  .cs-send{
    flex:0 0 auto;font:inherit;font-size:13.5px;font-weight:600;color:#fff;background:var(--blue);
    border:0;border-radius:11px;padding:10px 16px;cursor:pointer;line-height:1.5;
  }
  .cs-send:hover{background:var(--blue-d)}
  .cs-send:disabled{background:#c2c7e0;cursor:not-allowed}
  .cs-foot{
    flex:0 0 auto;padding:8px 14px 11px;background:var(--card);border-top:1px solid var(--line);
    font-size:11.4px;color:var(--hint);line-height:1.6;
  }
  .cs-foot a{color:var(--blue);font-weight:600}
  .cs-acts{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;background:var(--soft)}
  .cs-acts button{
    font:inherit;font-size:12.2px;font-weight:600;border-radius:999px;padding:6px 13px;cursor:pointer;
    border:1px solid #f3c9c4;background:var(--red-l);color:var(--red-d);
  }
  .cs-acts button:hover{background:#fbdcd8}
  .cs-acts button.ghost{border-color:var(--line);background:var(--card);color:var(--muted);font-weight:500}
  .cs-dots span{
    display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;
    background:#c3b9a5;animation:cs-blink 1.1s infinite;
  }
  .cs-dots span:nth-child(2){animation-delay:.16s}
  .cs-dots span:nth-child(3){animation-delay:.32s}
  @keyframes cs-blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
  .cs-hand{padding:12px 14px;background:var(--card);border-top:1px solid var(--line);flex:0 0 auto}
  .cs-hand .fld{display:block;margin-bottom:9px}
  .cs-hand .fld span{display:block;font-size:12.3px;font-weight:600;color:#3a342a;margin-bottom:4px}
  .cs-hand input{
    width:100%;font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--line);
    border-radius:10px;outline:none;color:var(--ink);
  }
  .cs-hand input:focus{border-color:#1f5cbe;box-shadow:0 0 0 3px rgba(47,111,208,.08)}
  .cs-hand .row{display:flex;gap:8px;margin-top:2px}
  .cs-hand .row button{flex:1 1 auto}
  .cs-msgline{
    font-size:12.4px;line-height:1.65;padding:9px 12px;border-radius:10px;margin-bottom:9px;
  }
  .cs-msgline.ok{background:#eaf7f0;color:#17664a;border:1px solid #c8e9d9}
  .cs-msgline.err{background:#fdecec;color:#a3281f;border:1px solid #f6d5d2}
  .cs-msgline.info{background:var(--blue-l);color:#2a3390;border:1px solid #2d4d70}

  /* ============ 热门目的地（国家卡片 + 关键词跳转） ============
     整张卡可点用的是绝对定位的 .dst-hit 覆盖层，而不是把 <button> 嵌进 <a> 里 ——
     交互元素套交互元素是无效 HTML，读屏和键盘也会乱。标签按钮用 z-index 压在覆盖层之上。
     图片在 assets/dest/，已裁掉 AI 生图平台水印、统一 16:10 并压缩；
     .dst-img 上的 aspect-ratio 是防抖动的关键：图未加载时也占住高度，滚动时不会跳版。 */
  .dst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .dst{position:relative;display:flex;flex-direction:column;background:var(--card);
    border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.22s}
  .dst:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(96,72,32,.14);border-color:#e2d3b2}
  .dst-hit{position:absolute;inset:0;z-index:1;border-radius:14px}
  .dst-hit:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
  .dst-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f0eade}
  .dst-img img{width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .55s cubic-bezier(.4,0,.2,1)}
  .dst:hover .dst-img img{transform:scale(1.05)}
  .dst-img::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(9,11,28,0) 38%,rgba(9,11,28,.62) 100%)}
  .dst-name{position:absolute;left:14px;bottom:10px;z-index:2;color:#fff;
    font-size:17px;font-weight:700;letter-spacing:.4px;text-shadow:0 1px 8px rgba(0,0,0,.35);
    pointer-events:none}
  .dst-region{position:absolute;right:11px;top:11px;z-index:2;font-size:11.5px;color:#fff;
    background:rgba(9,11,28,.40);padding:3px 9px;border-radius:999px;backdrop-filter:blur(4px);
    pointer-events:none}
  .dst-body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:9px;flex:1}
  .dst-types{font-size:12.5px;color:var(--muted);line-height:1.55;min-height:39px}
  /* 每张卡都是 4 个标签、必然折成两行；给固定最小高度，卡片之间才会齐平 */
  .dst-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:60px;align-content:flex-start}
  .dst-tag{position:relative;z-index:3;font-family:inherit;font-size:12.5px;line-height:1;
    padding:6px 10px;border-radius:999px;background:#f6f1e6;border:1px solid #eae2d2;
    color:#4a4335;cursor:pointer;transition:.15s}
  .dst-tag:hover{background:var(--red-l);border-color:#f7d2ce;color:var(--red-d)}
  .dst-tag:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
  .dst-meta{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;
    padding-top:10px;border-top:1px dashed var(--line)}
  .dst-meta b{color:var(--red);font-size:16px;font-variant-numeric:tabular-nums}
  .dst-meta span{font-size:12px;color:var(--muted);text-align:right}
  .dst-note{font-size:13px;color:var(--hint);margin-top:22px}
  .dst-note a{color:var(--blue-d);text-decoration:underline}

  /* 报价表：国家筛选提示条 + 列高亮（表头与单元格同时生效） */
  .pf-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0 10px}
  .pf-chip{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--navy);
    background:var(--blue-l);border:1px solid #2d4d70;border-radius:999px;padding:6px 8px 6px 14px}
  .pf-chip b{font-weight:700}
  .pf-chip button{width:20px;height:20px;border-radius:50%;border:none;cursor:pointer;
    background:rgba(47,111,208,.14);color:var(--navy);font-size:14px;line-height:1;
    font-family:inherit;padding:0;display:flex;align-items:center;justify-content:center}
  .pf-chip button:hover{background:rgba(47,111,208,.28)}
  .pf-tip{font-size:12.5px;color:var(--hint)}
  th,td{transition:background .4s ease}
  th.col-hi,td.col-hi{background:#fff3d4!important}

  @media (max-width:1080px){.dst-grid{grid-template-columns:repeat(3,1fr)}
    .dst-types{min-height:0}}
  @media (max-width:860px){.dst-grid{grid-template-columns:repeat(2,1fr);gap:14px}
    .dst-types{min-height:0}.dst-tags{min-height:0}}
  @media (max-width:480px){.dst-grid{grid-template-columns:1fr}
    .dst-name{font-size:18px}}

  /* ==================== 模块化版式 + 政策动态（本轮新增） ====================
     三块互不依赖，任何一块失效都不影响其它内容：

     ① 模块编号徽标 —— 纯 CSS，编号写在 .kicker 的 <i> 里。

     ② 滚动渐入 —— 由 JS 给元素加 .reveal，用 animation 而不是 transition。
        原因是 .nc / .svc 自己带 transition（hover 用），若用 transition 做渐入
        会把它们的 transition 整个覆盖掉，hover 就没有过渡了。用 animation 互不干扰。
        动画结束由 JS 摘掉 .reveal/.in 两个类，否则 animation 的终态 transform:none
        会钉住元素，.svc:hover 的 translateY 上浮就失效了。
        JS 不可用时元素不带 .reveal，内容照常可见（不会白屏）。

     ③ 右侧浮动进度导航 —— 1320px 以下不显示，否则会压到正文。 */

  .kicker i{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;opacity:.5;margin-right:7px}
  .sec-head{position:relative}
  .sec-head::after{
    content:"";position:absolute;left:0;bottom:-22px;width:56px;height:3px;border-radius:2px;
    background:linear-gradient(90deg,var(--red),#e0a94a 62%,rgba(224,169,74,0));
    transform-origin:left center;   /* 渐入时从左端展开（见文末「整体美化」段） */
  }

  .reveal{opacity:0}
  .reveal.in{animation:revIn .62s cubic-bezier(.22,.7,.3,1) both}
  @keyframes revIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1}.reveal.in{animation:none}}

  .modnav{
    position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:40;display:none;
    flex-direction:column;gap:1px;padding:9px 7px;border-radius:14px;
    background:rgba(255,255,255,.9);backdrop-filter:blur(9px);border:1px solid var(--line);
    box-shadow:0 14px 36px -24px rgba(14,22,143,.34);
  }
  @media (min-width:1320px){.modnav{display:flex}}
  .modnav a{
    display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:9px;
    font-size:12.5px;color:var(--muted);transition:background .18s,color .18s;white-space:nowrap;
  }
  .modnav a:hover{background:var(--soft);color:var(--ink)}
  .modnav .md{width:7px;height:7px;border-radius:50%;background:#cdc4b2;flex:none;transition:.2s}
  .modnav a.on{color:var(--red-d);font-weight:600}
  .modnav a.on .md{background:var(--red);box-shadow:0 0 0 4px rgba(220,26,12,.13)}
  @media (min-width:1560px){.modnav .mt{display:block}}
  @media (max-width:1559px){.modnav .mt{display:none}.modnav:hover .mt{display:block}}
  @media (prefers-reduced-motion:reduce){.modnav a,.modnav .md{transition:none}}

  /* ---------- 政策动态 ---------- */
  .news-stat{
    display:grid;grid-template-columns:repeat(3,1fr);border-radius:14px;overflow:hidden;
    margin-bottom:22px;background:var(--navy);
  }
  .news-stat>div{padding:17px 22px;border-right:1px solid rgba(255,255,255,.13)}
  .news-stat>div:last-child{border-right:none}
  .news-stat b{display:block;font-size:23px;font-weight:700;color:#fff;line-height:1.25;
    font-variant-numeric:tabular-nums;letter-spacing:.2px}
  .news-stat span{font-size:12.5px;color:#9fb0e8}
  @media (max-width:560px){
    .news-stat{grid-template-columns:1fr}
    .news-stat>div{border-right:none;border-bottom:1px solid rgba(255,255,255,.13)}
    .news-stat>div:last-child{border-bottom:none}
  }

  .news-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
  .news-cats{display:flex;flex-wrap:wrap;gap:8px}
  .nc-chip{
    font-size:13px;padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:var(--card);
    cursor:pointer;color:var(--muted);font-family:inherit;transition:.15s;
    display:inline-flex;align-items:center;gap:6px;
  }
  .nc-chip:hover{border-color:#e8d3ac;color:#8a6a12}
  .nc-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
  .nc-chip em{font-style:normal;font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}
  .nc-chip.on em{opacity:.72}
  .news-meta{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--hint)}
  .news-meta .live{width:7px;height:7px;border-radius:50%;background:#22b07d;flex:none;animation:ncPulse 2.4s ease-out infinite}
  @keyframes ncPulse{0%{box-shadow:0 0 0 0 rgba(34,176,125,.5)}70%{box-shadow:0 0 0 7px rgba(34,176,125,0)}100%{box-shadow:0 0 0 0 rgba(34,176,125,0)}}
  @media (prefers-reduced-motion:reduce){.news-meta .live{animation:none}}

  .news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}
  @media (max-width:880px){.news-list{grid-template-columns:1fr}}

  .nc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:.22s}
  .nc:hover{border-color:#e8d3ac;box-shadow:0 16px 36px -24px rgba(122,92,44,.32)}
  .nc.open{grid-column:1 / -1;border-color:#e8d3ac;box-shadow:0 18px 42px -26px rgba(122,92,44,.34)}
  .nc-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
  .nc-cat{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap}
  .nc-cat.cu{background:var(--blue-l);color:#2a3390}
  .nc-cat.mf{background:#e9f7ef;color:#1c7a48}
  .nc-cat.gg{background:#efeafd;color:#5b3ec9}
  .nc-cat.xz{background:#f0eade;color:#44506b}
  .nc-cat.fy{background:var(--amber-l);color:var(--amber)}
  .nc-cat.jj{background:var(--red-l);color:var(--red-d)}
  .nc-country{font-size:11.5px;color:var(--muted);padding:3px 9px;border-radius:6px;background:var(--soft);white-space:nowrap}
  .nc-pin{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;background:var(--red-l);color:var(--red-d);white-space:nowrap}
  .nc-date{margin-left:auto;font-size:12px;color:var(--hint);font-variant-numeric:tabular-nums;white-space:nowrap}
  .nc h3{font-size:16px;font-weight:600;line-height:1.5;margin-bottom:8px}
  .nc-sum{font-size:13.5px;color:var(--muted);line-height:1.75}
  .nc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
    margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
  .nc-src{flex:1 1 auto;min-width:0;font-size:12px;color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nc-toggle{
    flex:none;display:inline-flex;align-items:center;gap:5px;padding:4px 0;background:none;border:none;
    font-family:inherit;font-size:12.5px;font-weight:600;color:var(--blue-d);cursor:pointer;
  }
  .nc-toggle::after{
    content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.6px 1.6px 0;
    transform:rotate(45deg);margin-top:-3px;transition:transform .2s;
  }
  .nc.open .nc-toggle::after{transform:rotate(-135deg);margin-top:2px}
  .nc-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
  .nc-body p{font-size:13.5px;color:#4a4335;line-height:1.9;margin-bottom:11px;white-space:pre-line}
  .nc-body p:last-child{margin-bottom:0}
  .nc-link{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--blue-d)}
  .nc-link:hover{text-decoration:underline}
  .news-more{display:flex;justify-content:center;margin-top:22px}
  .news-more button{
    font-family:inherit;font-size:13.5px;font-weight:600;color:var(--blue-d);cursor:pointer;
    padding:11px 26px;border-radius:999px;border:1px solid #2d4d70;background:var(--card);transition:.18s;
  }
  .news-more button:hover{background:var(--blue-l);border-color:var(--blue)}
  .news-empty{
    grid-column:1 / -1;text-align:center;padding:50px 20px;font-size:14px;color:var(--hint);
    border:1px dashed var(--line);border-radius:14px;
  }
  .nc-skel{
    height:152px;border-radius:14px;
    background:linear-gradient(90deg,#f6f1e6 25%,#efe8da 37%,#f6f1e6 63%);
    background-size:400% 100%;animation:ncSkel 1.3s ease-in-out infinite;
  }
  @keyframes ncSkel{0%{background-position:100% 50%}100%{background-position:0 50%}}
  @media (prefers-reduced-motion:reduce){.nc-skel{animation:none}}
/* ========== 首页精简报价（#mini-price）与支付页可付列表（#payable-list） ========== */
.mini-price{display:flex;flex-direction:column;gap:10px}
.mp-row{
  display:flex;align-items:center;gap:18px;padding:15px 20px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.mp-row:hover{border-color:#e8b3ac;box-shadow:0 6px 22px rgba(220,26,12,.08);transform:translateY(-1px)}
.mp-c{flex:1;min-width:0;color:var(--ink);font-weight:700;font-size:15.5px}
.mp-c em{display:block;font-style:normal;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:2px}
.mp-t{color:var(--red);font-weight:800;font-size:16px;white-space:nowrap}
.mp-d{color:var(--muted);font-size:12.5px;white-space:nowrap}
.mp-go{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--blue-d);white-space:nowrap}
.mp-go i{font-style:normal;transition:transform .18s}
.mp-row:hover .mp-go i{transform:translateX(3px)}
.mp-empty,.pb-empty{padding:26px 16px;text-align:center;font-size:13.5px;color:var(--hint);
  border:1px dashed var(--line);border-radius:12px}
@media (max-width:560px){
  .mp-row{flex-wrap:wrap;gap:8px 14px;padding:13px 15px}
  .mp-d{display:none}
}
.mini-more{display:flex;justify-content:center;margin-top:20px}

/* 支付页：可在线支付项目列表 */
.payable-list{display:flex;flex-direction:column;gap:10px}
.pb-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 20px;background:var(--card);border:1px solid var(--line);border-radius:12px;
}
.pb-row:hover{border-color:#e8b3ac}
.pb-info{flex:1;min-width:0}
.pb-info>b{font-size:15.5px;color:var(--ink)}
.pb-info>em{font-style:normal;font-size:12.5px;color:var(--blue-d);margin-left:8px}
.pb-info>span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.6}
@media (max-width:560px){
  .pb-row{flex-direction:column;align-items:stretch;gap:10px}
}

/* 面包屑（二级页顶部） */
.crumbs{padding:14px 0 0;font-size:12.5px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--red)}
.crumbs b{color:var(--ink);font-weight:600}

/* ============================================================
   签证指南（knowledge.html）· 国家大全（countries.html）· 法务声明（legal.html）
   五页共用本样式表；新增样式统一放在文件末尾，避免打乱原有分区。
   ============================================================ */

/* ---------- 签证指南：主题板块 ---------- */
.kb-sec{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:30px 32px;margin-bottom:26px}
/* 五大板块并列网格：桌面 3 列（3+2）、笔记本 2 列、窄屏 1 列；align-items:start 让卡片保持自然高度 */
/* 五板块并列网格：用 flex 而不是 grid —— 第二行的卡片能整行居中（grid 的 1fr 列做不到） */
.kb-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:22px;margin-bottom:26px}
.kb-grid .kb-sec{margin-bottom:0;display:flex;flex-direction:column;flex:0 1 calc((100% - 44px)/3)}
.kb-grid .kb-sec .kb-news{flex:1}
@media (max-width:1280px){ .kb-grid .kb-sec{flex-basis:calc((100% - 22px)/2)} }
@media (max-width:860px){ .kb-grid{gap:16px} .kb-grid .kb-sec{flex-basis:100%} }
.kb-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.kb-sec-head h3{font-size:20px;font-weight:600;letter-spacing:-.2px}
.kb-sec-head h3 i{font-style:normal;font-size:12px;font-weight:700;color:var(--blue-d);opacity:.55;margin-right:8px;font-variant-numeric:tabular-nums}
.kb-sec-head .kb-jump{font-size:12.5px;color:var(--muted);flex:none}
.kb-sec-head .kb-jump a{color:var(--blue-d);margin-left:10px}
.kb-sec-head .kb-jump a:hover{color:var(--red)}
.kb-intro{font-size:13.5px;color:#4a4335;line-height:1.85;margin-bottom:18px}
.kb-intro b{color:var(--ink)}
.kb-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 18px;margin-bottom:20px}
.kb-points span{font-size:12.5px;color:var(--muted);line-height:1.6;padding-left:14px;position:relative}
.kb-points span::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:2px;background:var(--red)}
.kb-news-title{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted);margin:6px 0 12px;display:flex;align-items:center;gap:10px}
.kb-news-title::after{content:'';flex:1;height:1px;background:var(--line)}
.kb-news{display:flex;flex-direction:column;gap:10px}
.kb-news-item{border:1px solid var(--line);border-radius:12px;padding:13px 16px;transition:border-color .15s}
.kb-news-item:hover{border-color:#2d4d70}
.kb-news-item .nt{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.kb-news-item .nt time{font-size:12px;color:var(--hint);font-variant-numeric:tabular-nums;flex:none}
.kb-news-item .nt b{font-size:13.5px;font-weight:600;line-height:1.55}
.kb-news-item .ns{font-size:12.5px;color:var(--muted);line-height:1.75;margin-top:5px}
.kb-news-item .nf{font-size:12px;color:var(--hint);margin-top:6px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.kb-news-item .nf a{color:var(--blue-d)}
.kb-news-item .nf a:hover{color:var(--red)}
.kb-news-empty{font-size:12.5px;color:var(--hint);padding:10px 0}
/* 实事动态滚动展示：条目超过一屏时自动向上滚（双份轨道无缝循环），悬停暂停；
   不足一屏的板块保持静态平铺（JS 不加 .kb-news-roll）。 */
.kb-news-roll{position:relative;overflow:hidden;max-height:330px;
  -webkit-mask-image:linear-gradient(#000 84%,transparent);
  mask-image:linear-gradient(#000 84%,transparent)}
.kb-news-track{display:flex;flex-direction:column}
.kb-news-set{display:flex;flex-direction:column;gap:10px;padding-bottom:10px}
@keyframes kbRoll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.kb-news-roll .kb-news-track{animation:kbRoll var(--kb-dur,30s) linear infinite}
.kb-news-roll:hover .kb-news-track,
.kb-news-roll:focus-within .kb-news-track{animation-play-state:paused}
/* 系统开了「减少动态效果」时不滚，改成可手动滚动；mask 保留 */
@media (prefers-reduced-motion:reduce){
  .kb-news-roll{overflow-y:auto}
  .kb-news-roll .kb-news-track{animation:none}
}

/* ---------- 签证指南：表格下载与官方入口 ---------- */
.kb-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:22px}
.kb-form{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--soft)}
.kb-form i{font-style:normal;display:inline-flex;width:38px;height:38px;border-radius:10px;background:var(--red-l);color:var(--red);font-weight:700;align-items:center;justify-content:center;font-size:15px;margin-bottom:12px}
.kb-form h4{font-size:15px;font-weight:600;margin-bottom:6px}
.kb-form p{font-size:12.5px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.kb-portal-title{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted);margin:22px 0 12px}
.kb-portals{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 20px}
.kb-portals a{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:8px 2px;border-bottom:1px dashed var(--line);color:var(--ink)}
.kb-portals a:hover{color:var(--red)}
.kb-portals a em{font-style:normal;font-size:11.5px;color:var(--hint);flex:none}

/* ---------- 国家大全 ---------- */
.cty-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
.cty-search{flex:1 1 300px;max-width:420px;position:relative}
.cty-search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px 11px 38px;font-size:14px;font-family:inherit;background:#fff}
.cty-search input:focus{outline:none;border-color:#a9b2ea;box-shadow:0 0 0 3px rgba(47,111,208,.08)}
.cty-search::before{content:'⌕';position:absolute;left:13px;top:50%;transform:translateY(-52%);color:var(--hint);font-size:16px}
.cty-stat{font-size:12.5px;color:var(--muted)}
.cty-stat b{color:var(--red);font-variant-numeric:tabular-nums}
.cty-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.cty-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 15px;font-size:13px;color:var(--muted);cursor:pointer;font-family:inherit;transition:.15s}
.cty-chip:hover{border-color:#2d4d70;color:var(--blue-d)}
.cty-chip.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.cty-sec{margin-bottom:40px;scroll-margin-top:90px}
.cty-sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.cty-sec-head h3{font-size:18px;font-weight:600}
.cty-sec-head span{font-size:12.5px;color:var(--hint);font-variant-numeric:tabular-nums}
.cty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.cty-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13.5px;background:var(--card);transition:.15s}
/* 报价页上国家卡片渲染成 button（同页筛选），压掉 UA 默认的字体/颜色/居中 */
button.cty-item{font:inherit;color:inherit;text-align:left;width:100%}
.cty-item b{font-weight:500}
.cty-item.has{cursor:pointer}
.cty-item.has:hover{border-color:var(--red);box-shadow:0 2px 10px rgba(220,26,12,.07)}
.cty-item.has b::after{content:' →';color:var(--red);font-size:12px}
.cty-item em{font-style:normal;font-size:11px;color:var(--hint);flex:none}
.cty-item.no{color:var(--muted);background:var(--soft);border-style:dashed}
.cty-item.no:hover{color:var(--red)}
.cty-empty{padding:34px 10px;text-align:center;color:var(--hint);font-size:13px}

/* ---------- 页脚免责与版权声明（2026-10-01 21:13 用户要求：整块删除，页面最底下横条为主；完整版在 legal.html） ---------- */

/* ---------- 法务声明 ---------- */
.legal-doc{max-width:820px}
.legal-doc h3{font-size:17px;font-weight:600;margin:30px 0 10px;color:var(--navy)}
.legal-doc h3:first-child{margin-top:0}
.legal-doc p,.legal-doc li{font-size:13.5px;color:#4a4335;line-height:1.95}
.legal-doc ul{padding-left:22px;margin:8px 0}
.legal-doc li{margin-bottom:5px}
.legal-doc .up{margin-top:18px;font-size:12px;color:var(--hint)}
.legal-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:30px 34px;margin-bottom:24px}

/* ---------- 响应式 ---------- */
@media (max-width:760px){
  .kb-sec{padding:22px 18px}
  .cty-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}

/* ================= 整体动态与美化 =================
   四条原则：
     ① 只用 animation / transform / opacity —— 不碰 width/height/top，滚动不掉帧；
     ② 所有「动」统一收进 prefers-reduced-motion:no-preference，系统开了
        「减少动态效果」就整体静默（不是加快，是不播）；
     ③ 动画终态必须等于基础态 —— .reveal/.in 会被 JS 摘掉，终态写错就「啪」地回弹
        （这条踩过坑，见 .svc/.nc 的 hover 位移）；
     ④ 首屏入场用纯 CSS，不等 JS、不等网络，断网也照常出现、不闪白。 */

/* ---- 首屏级联入场 ---- */
@keyframes upIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* 背景素材漂移：位移极小，只为让纸面「活」起来 */
@keyframes driftA{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-16px,10px,0)}100%{transform:translate3d(0,0,0)}}
/* 咨询区那朵云是镜像的，位移方向要一起翻 */
@keyframes driftB{0%{transform:scaleX(-1) translate3d(0,0,0)}50%{transform:scaleX(-1) translate3d(14px,10px,0)}100%{transform:scaleX(-1) translate3d(0,0,0)}}
/* 远山只呼吸不位移：贴着底边平移会露出画布边缘 */
@keyframes breathe{0%,100%{opacity:.88}50%{opacity:1}}
/* 标题墨线展开（基础态无 transform，即 scaleX(1)，摘类不回弹） */
@keyframes lineGrow{from{transform:scaleX(0);opacity:.25}to{transform:scaleX(1);opacity:1}}
/* 主按钮高光扫过 */
@keyframes sheen{from{left:-70%}to{left:120%}}

@media (prefers-reduced-motion:no-preference){
  /* ① 首屏（含自测卡）逐级落位，间隔 60~80ms 最舒服，再密就显得躁 */
  .hero .badge-line,.hero h1,.hero-sub,.hero-cta,.hero-note,.hero .assess,.stats{
    animation:upIn .72s cubic-bezier(.22,.7,.3,1) both;
  }
  .hero .badge-line{animation-delay:.02s}
  .hero h1{animation-delay:.08s}
  .hero-sub{animation-delay:.16s}
  .hero-cta{animation-delay:.22s}
  .hero-note{animation-delay:.28s}
  .hero .assess{animation-delay:.12s}
  .stats{animation-delay:.34s}

  /* ② 背景素材极缓漂移（云 26~34s、山 12s 呼吸），几乎察觉不到在动，但页面不「死」 */
  .hero::after{animation:driftA 26s ease-in-out infinite}
  footer.site::after{animation:driftA 34s ease-in-out infinite}
  #consult::after{animation:driftB 30s ease-in-out infinite}
  .hero::before{animation:breathe 12s ease-in-out infinite}

  /* ③ 标题墨线在同一区块渐入时从左端展开 */
  .sec-head.reveal.in::after{animation:lineGrow .8s .12s cubic-bezier(.22,.7,.3,1) both}

  /* ④ 同一排卡片依次进场 —— 逐个延迟由 JS 按 DOM 序号写在内联 animationDelay 上
        （内联优先级高于样式表，所以这里不写 nth-child 延迟，写了也是死代码） */

  /* ⑤ 悬停微交互：只做 2~4px 的位移与色温变化，不做放大镜式的夸张反馈 */
  .nav-links a{position:relative}
  .nav-links a::after{
    content:"";position:absolute;left:12%;right:12%;bottom:-7px;height:2px;border-radius:2px;
    background:var(--red);transform:scaleX(0);transform-origin:center;
    transition:transform .26s cubic-bezier(.22,.7,.3,1);
  }
  .nav-links a:hover::after{transform:scaleX(1)}

  .btn-primary{position:relative;overflow:hidden}
  .btn-primary::after{
    content:"";position:absolute;top:-20%;bottom:-20%;left:-70%;width:38%;pointer-events:none;
    background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));
    transform:skewX(-18deg);
  }
  .btn-primary:hover::after{animation:sheen .75s cubic-bezier(.3,.7,.4,1)}

  .svc .svc-icon{transition:transform .34s cubic-bezier(.34,1.3,.5,1)}
  .svc:hover .svc-icon{transform:translateY(-2px) rotate(-4deg) scale(1.05)}
  .step h3{transition:color .24s}
  .step:hover h3{color:var(--red)}
  .dst .dst-img img{transition:transform .5s cubic-bezier(.22,.7,.3,1)}
}

/* ---- 数字滚动：JS 只负责把 .count 的文本从 0 累加到目标值，
       容器类挂在初始化前，脚本不可用时数字照常是 HTML 里的默认值 ---- */
.stat b,.news-stat b{font-variant-numeric:tabular-nums}

/* ============================================================
   深色主题覆盖层 + 新版组件（2026-10-01）
   应用户要求：网页要有视觉效果、颜色深色为主、多模块可交互。
   做法：:root 已切深色调色板；本段集中覆盖所有写死的浅色值，
   再补齐新组件（跑马灯 / 模块矩阵 / 服务详页 / 流程页 / 夜景 hero）。
   深色基调用的是品牌深蓝 navy 的近邻色，红金点缀直接沿用品牌色。
   ============================================================ */

/* ---------- 顶栏 / 导航 ---------- */
header{background:rgba(237,245,252,.92);border-bottom:1px solid var(--line)}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,rgba(220,26,12,0),rgba(224,180,92,.55) 30%,rgba(220,26,12,.4) 65%,rgba(220,26,12,0));
  pointer-events:none}
.nav-links a:hover{color:#a4771a}
.nav-phone{color:#a4771a}
.modnav{background:rgba(21,26,56,.92);border-color:var(--line)}
.modnav .md{background:#8fb6da}
.modnav a.on{color:var(--red-b)}
.modnav a:hover{background:var(--card)}

/* ---------- 按钮 ---------- */
.btn-ghost{color:var(--ink);border-color:#a6c6e4}
.btn-ghost:hover{border-color:var(--gold-b);color:var(--gold-b);background:rgba(224,180,92,.06)}
.btn-primary{box-shadow:0 10px 30px -12px rgba(220,26,12,.55)}

/* ---------- Hero（浩瀚银河版）：CSS 星空 + 星云 + 流星，底部夜山剪影 ---------- */
.hero{
  background:
    radial-gradient(1200px 600px at 50% -12%, #cfe5fa 0%, rgba(207,229,250,0) 60%),
    linear-gradient(180deg,#edf5fc 0%,#e8f3fd 62%,var(--paper) 100%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero::after,.hero::before{display:none}   /* 旧暖棕云纹/远山线稿让位给银河层 */
.hero h1 em{color:#b58900}
.badge-line{border-color:#a6c6e4;color:#a4771a}
.stat b{color:#a4771a}

/* 银河容器：绝对定位铺满 hero，纯装饰（aria-hidden），不挡交互 */
.galaxy{position:absolute;inset:0;pointer-events:none;z-index:0}
/* 星云：品牌红金蓝三团微光，极缓慢漂移 */
.galaxy::before{
  content:"";position:absolute;inset:-10%;
  background:
    radial-gradient(640px 300px at 80% 16%, rgba(220,26,12,.14), transparent 70%),
    radial-gradient(520px 280px at 10% 70%, rgba(224,180,92,.11), transparent 70%),
    radial-gradient(760px 360px at 52% 38%, rgba(40,88,178,.18), transparent 75%);
  animation:nebulaShift 26s ease-in-out infinite alternate;
}
@keyframes nebulaShift{
  0%{opacity:.85;transform:translate3d(0,0,0)}
  100%{opacity:1;transform:translate3d(-22px,14px,0)}
}
/* 三层星点：不同平铺尺寸与闪烁节奏，叠出纵深 */
.galaxy .st{position:absolute;inset:0;background-repeat:repeat}
.galaxy .st1{
  background-image:
    radial-gradient(1.6px 1.6px at 14px 26px, rgba(255,248,230,.95) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 96px 72px, rgba(255,248,230,.7) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 168px 34px, rgba(240,234,217,.8) 50%, transparent 51%),
    radial-gradient(.9px .9px at 214px 128px, rgba(255,248,230,.6) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 58px 158px, rgba(255,248,230,.75) 50%, transparent 51%);
  background-size:260px 210px;
  animation:twinkle 5.2s ease-in-out infinite;
}
.galaxy .st2{
  background-image:
    radial-gradient(1.4px 1.4px at 40px 60px, rgba(224,234,255,.9) 50%, transparent 51%),
    radial-gradient(1px 1px at 180px 20px, rgba(224,234,255,.6) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 250px 140px, rgba(255,240,214,.85) 50%, transparent 51%),
    radial-gradient(1px 1px at 90px 190px, rgba(224,234,255,.55) 50%, transparent 51%);
  background-size:340px 270px;
  animation:twinkle 7.4s ease-in-out infinite reverse;
}
.galaxy .st3{
  background-image:
    radial-gradient(2.2px 2.2px at 70px 40px, rgba(255,250,236,1) 18%, rgba(224,180,92,.5) 42%, transparent 60%),
    radial-gradient(2px 2px at 300px 190px, rgba(240,244,255,1) 18%, rgba(31,99,196,.45) 42%, transparent 60%),
    radial-gradient(1.8px 1.8px at 180px 300px, rgba(255,250,236,.95) 18%, rgba(220,26,12,.4) 42%, transparent 60%);
  background-size:520px 380px;
  animation:twinkle 9.6s ease-in-out infinite;
}
@keyframes twinkle{0%,100%{opacity:.4}50%{opacity:1}}
/* 流星：每 11 秒划过一颗，从右上往左下 */
.galaxy .shoot{
  position:absolute;top:20%;left:80%;width:120px;height:1.6px;border-radius:2px;
  background:linear-gradient(270deg, rgba(255,248,230,0), rgba(255,248,230,.95) 78%, #fffdf4);
  transform:rotate(205deg);opacity:0;
  animation:shootBy 11s 3.5s cubic-bezier(.2,.6,.4,1) infinite;
  filter:drop-shadow(0 0 4px rgba(255,248,230,.7));
}
@keyframes shootBy{
  0%{opacity:0;transform:rotate(205deg) translateX(0)}
  1.5%{opacity:1}
  6%{opacity:0;transform:rotate(205deg) translateX(-340px)}
  100%{opacity:0;transform:rotate(205deg) translateX(-340px)}
}
/* 夜山剪影：AI 夜山图只留底部山脊，向上淡出融进银河 */
.hero-mount{
  position:absolute;left:0;right:0;bottom:0;height:52%;pointer-events:none;z-index:0;
  background:url("bg/hero-day.jpg") center bottom/cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 34%,rgba(0,0,0,.9) 78%);
  mask-image:linear-gradient(180deg,transparent 34%,rgba(0,0,0,.9) 78%);
  opacity:.8;
}
.hero-center{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){
  .galaxy::before,.galaxy .st,.galaxy .shoot{animation:none}
  .galaxy .shoot{display:none}
  .galaxy .st2{opacity:.7}.galaxy .st3{opacity:.85}
}

/* ---------- 表单 / 输入 ---------- */
.field label{color:#3d5877}
select,input,textarea{background:#f9fcfe;border-color:#bfd8ef;color:var(--ink)}
select:focus,input:focus,textarea:focus{border-color:var(--gold-b);background:var(--card);
  box-shadow:0 0 0 3px rgba(224,180,92,.12)}
select option{background:#ffffff;color:var(--ink)}
.result{background:var(--blue-l);border-color:#bfd8ef}
.result .r-row b,.result h4{color:#d9c58a}
.disclaimer{color:var(--hint)}
.form-msg.err{background:#3a1712;color:#ff9c8d}
.form-msg.ok{background:#173726;color:#6fd598}

/* ---------- 信任条 / 服务卡 ---------- */
.trust{background:#f7fbff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc:hover{border-color:rgba(224,180,92,.55);box-shadow:0 16px 34px -20px rgba(224,180,92,.28)}
.svc-icon{background:var(--blue-l)}
.svc-icon span{border-color:var(--gold-b)}
.svc ul li{color:#3d5877}
.card{box-shadow:0 12px 34px -18px rgba(0,0,0,.55)}

/* ---------- 报价表 ---------- */
.table-box{background:#f9fcfe}
th{color:var(--muted)}
td{border-bottom-color:#ddebf8}
tbody tr:hover{background:#eef6fd}
.total{color:#a4771a}
.p-std{background:#173726;color:#6fd598}
.p-mid{background:var(--amber-l);color:var(--gold-b)}
.p-strict{background:var(--red-l);color:var(--red-b)}
.load-note{background:#f9fcfe;border-top-color:#ddebf8}
.warn-note{background:var(--amber-l)}
.tab:hover{border-color:#a6c6e4}
th.col-hi,td.col-hi{background:#3a2d10!important}
.pf-chip{border-color:#bfd8ef}
.pf-chip button{background:rgba(224,180,92,.15);color:#a4771a}
.pf-chip button:hover{background:rgba(224,180,92,.3)}

/* ---------- 流程 / 优势 / 评价 ---------- */
.step::before{background:var(--blue-l);color:#a4771a}
.step:not(:last-child)::after{background:#bfd8ef}
.quote p{color:#d5cdb8}
.quote footer{border-top-color:#ddebf8}
.stars{color:var(--gold-b)}

/* ---------- 目的地卡 ---------- */
.dst:hover{border-color:rgba(224,180,92,.5);box-shadow:0 16px 32px rgba(224,180,92,.16)}
.dst-img{background:#f9fcfe}
.dst-tag{background:#d9e9f9;border-color:#bfd8ef;color:#3d5877}
.dst-tag:hover{background:var(--red-l);border-color:#5a241d;color:var(--red-b)}

/* ---------- 政策动态 ---------- */
.nc:hover{border-color:rgba(224,180,92,.5);box-shadow:0 16px 36px -24px rgba(224,180,92,.3)}
.nc.open{border-color:rgba(224,180,92,.6)}
.nc-cat.cu{color:#1f63c4}
.nc-cat.mf{background:#173726;color:#6fd598}
.nc-cat.gg{background:#efeafd;color:#5b3ec9}
.nc-cat.xz{background:#ddebf8;color:#aab3d6}
.nc-cat.jj{color:var(--red-b)}
.nc-body p{color:#3d5877}
.news-more button{border-color:#a6c6e4}
.news-more button:hover{background:var(--blue-l)}
.nc-skel{background:linear-gradient(90deg,#f4f9fe 25%,#ddebf8 37%,#f4f9fe 63%);background-size:400% 100%}

/* ---------- 精简报价 / 支付 ---------- */
.mp-row:hover{border-color:rgba(255,122,104,.5);box-shadow:0 6px 22px rgba(220,26,12,.18)}
.mp-t{color:var(--red-b)}
.pb-row:hover{border-color:rgba(255,122,104,.4)}
.pay-card{background:var(--card)}
.pay-btn{border-color:#bfd8ef}
.pay-chip{color:#3d5877}
.copy-btn{color:#a4771a}
.pay-close:hover{background:#ddebf8}
.pay-way{background:#f9fcfe;border-color:#bfd8ef}
.pay-way.on{border-color:var(--gold-b);background:rgba(224,180,92,.08);box-shadow:0 0 0 3px rgba(224,180,92,.1)}
.pay-amt{border-color:#5a241d}
.pay-amt span{color:#d99c92}
.pay-amt b{color:var(--red-b)}
.pay-state.done{background:#173726;color:#6fd598}
.pay-state.mock{color:var(--red-b)}
.pay-mid .ono{color:var(--gold-b)}

/* ---------- 客服浮窗 ---------- */
.cs-m-sys .cs-b{border-color:#bfd8ef}
.cs-hot button{border-color:#bfd8ef}
.cs-hot button:hover{background:var(--blue-l);border-color:#8fb6da}
.cs-acts button{color:var(--red-b)}
.cs-acts button:hover{background:#4a1d16}
.cs-send:disabled{background:#a6c6e4}
.cs-msgline.ok{background:#173726;color:#6fd598;border-color:#1f4a33}
.cs-msgline.err{background:#3a1712;color:#ff9c8d;border-color:#5a241d}
.cs-msgline.info{background:var(--blue-l);color:#1f63c4;border-color:#bfd8ef}

/* ---------- 页脚 ---------- */
footer.site{border-top-color:var(--line)}
.foot-reg{background:rgba(255,255,255,.05)}
.legal-doc p,.legal-doc li{color:#3d5877}
.kb-intro{color:#3d5877}
.kb-intro b{color:var(--ink)}
.kb-form i{color:var(--red-b)}
.kb-news-item:hover{border-color:#a6c6e4}
.cty-search input{background:#f9fcfe}

/* ============================================================
   新版首页组件：政策速递跑马灯 + 模块矩阵
   ============================================================ */

/* ---------- 政策速递跑马灯：数据来自 news_articles，双份轨道无缝循环 ---------- */
.ticker{
  display:flex;align-items:center;gap:14px;max-width:1160px;margin:-34px auto 0;padding:0 24px;
  position:relative;z-index:2;
}
.tk-label{
  flex:none;display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:1px;color:var(--gold-b);
  background:linear-gradient(135deg,#a3281f,#7a1c14);border:1px solid #8a3b33;
  padding:9px 14px;border-radius:999px;white-space:nowrap;
}
.tk-label .live{width:7px;height:7px;border-radius:50%;background:var(--red-b);flex:none;
  animation:ncPulse 2.4s ease-out infinite}
.tk-view{flex:1;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tk-track{display:flex;gap:0;width:max-content;animation:tkMove var(--tk-dur,46s) linear infinite}
.ticker:hover .tk-track,.ticker:focus-within .tk-track{animation-play-state:paused}
@keyframes tkMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk-set{display:flex}
.tk-item{
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  padding:9px 17px;margin-right:10px;border-radius:999px;
  border:1px solid var(--line);background:var(--card);color:var(--ink);
  font-size:13px;transition:border-color .15s,background .15s;
}
.tk-item:hover{border-color:rgba(224,180,92,.55);background:#f4f9fe}
.tk-item .tkc{font-size:11px;font-weight:600;padding:2px 8px;border-radius:5px;
  background:var(--red-l);color:var(--red-b);flex:none}
.tk-item time{font-size:11.5px;color:var(--hint);flex:none;font-variant-numeric:tabular-nums}
.tk-more{flex:none;font-size:12.5px;font-weight:600;color:var(--gold-b);white-space:nowrap}
.tk-more:hover{text-decoration:underline}
.tk-empty{font-size:13px;color:var(--hint);padding:9px 4px}
@media (max-width:760px){
  .ticker{flex-wrap:wrap;row-gap:8px;margin-top:-26px}
  .tk-label{padding:7px 11px}
  .tk-more{display:none}
}
@media (prefers-reduced-motion:reduce){
  .tk-track{animation:none}
  .tk-view{overflow-x:auto}
}

/* ---------- 模块矩阵（首页多模块导航）：每个导航项一张可交互卡 ---------- */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mod{
  position:relative;display:flex;flex-direction:column;gap:6px;
  padding:22px 22px 20px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(160deg,var(--card),#eaf3fc 78%);
  transition:transform .22s cubic-bezier(.22,.7,.3,1),border-color .22s,box-shadow .22s;
  overflow:hidden;
}
.mod::before{ /* 角落的云纹金点装饰：hover 时亮起 */
  content:"";position:absolute;right:-26px;top:-26px;width:92px;height:92px;border-radius:50%;
  background:radial-gradient(circle,rgba(224,180,92,.14),rgba(224,180,92,0) 70%);
  opacity:0;transition:opacity .25s;
}
.mod:hover{transform:translateY(-4px);border-color:rgba(224,180,92,.55);
  box-shadow:0 18px 40px -22px rgba(224,180,92,.3)}
.mod:hover::before{opacity:1}
.mod .m-no{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--hint);
  font-variant-numeric:tabular-nums}
.mod h3{font-size:16.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.mod h3 i{font-style:normal;font-size:13px;color:var(--gold-b);opacity:0;
  transform:translateX(-4px);transition:.22s}
.mod:hover h3 i{opacity:1;transform:none}
.mod p{font-size:12.8px;color:var(--muted);line-height:1.65}
.mod .m-meta{margin-top:auto;padding-top:12px;font-size:12px;color:var(--gold-b);
  font-variant-numeric:tabular-nums}
/* 大卡：报价 / 动态 / 目的地 占两列，形成 4+2+3 的 bento 节奏 */
.mod.wide{grid-column:span 2}
@media (max-width:1000px){.mods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.mods{grid-template-columns:1fr}.mod.wide{grid-column:auto}}
@media (prefers-reduced-motion:reduce){
  .mod,.mod h3 i,.mod::before{transition:none}
  .mod:hover{transform:none}
}

/* ---------- 子页组件：服务详页 / 流程页 ---------- */
.svc-detail{display:flex;flex-direction:column;gap:18px}
.svcd{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:28px 30px}
.svcd-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.svcd-head .svc-icon{margin-bottom:0}
.svcd-head h3{font-size:19px;font-weight:600}
.svcd-tag{font-size:12.5px;color:var(--gold-b);margin-top:3px}
.svcd-jump{margin-left:auto;display:flex;gap:8px;flex:none}
.svcd-jump a{font-size:12.5px;font-weight:600;color:var(--blue-d);border:1px solid #a6c6e4;
  border-radius:999px;padding:6px 14px;transition:.15s}
.svcd-jump a:hover{border-color:var(--gold-b);color:var(--gold-b)}
.svcd > p{font-size:14px;color:var(--muted);line-height:1.85}
.svcd-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:16px}
.svcd-cols h4{font-size:12.5px;font-weight:700;letter-spacing:1px;color:var(--gold-b);margin-bottom:9px}
.svcd-cols ul{list-style:none}
.svcd-cols li{font-size:13.5px;color:#3d5877;padding-left:15px;position:relative;margin-bottom:6px;line-height:1.7}
.svcd-cols li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:1.6px;background:var(--gold-b)}
.svcd-acts{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);
  font-size:13px;color:var(--muted)}
.svcd-acts span{color:var(--gold-b);font-weight:600;margin-right:6px}
@media (max-width:760px){.svcd{padding:22px 18px}.svcd-cols{grid-template-columns:1fr}}

.steps-x{display:flex;flex-direction:column;gap:0;max-width:820px}
.stepx{position:relative;padding:0 0 34px 74px}
.stepx::before{content:"";position:absolute;left:25px;top:38px;bottom:0;width:1px;
  background:linear-gradient(var(--line) 70%,transparent)}
.stepx:last-child::before{display:none}
.stepx-n{position:absolute;left:0;top:0;width:50px;height:50px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;color:var(--gold-b);
  background:var(--blue-l);border:1px solid #bfd8ef;font-variant-numeric:tabular-nums}
.stepx h3{font-size:17px;font-weight:600;margin-bottom:7px;padding-top:12px}
.stepx p{font-size:13.5px;color:var(--muted);line-height:1.85}
.stepx-out{margin-top:12px;display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;color:#3d5877;background:var(--soft);border:1px solid var(--line);
  border-radius:10px;padding:9px 14px}
.stepx-out b{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--gold-b);flex:none}
@media (max-width:560px){.stepx{padding-left:62px}.stepx-n{width:42px;height:42px;border-radius:11px}}

/* ---------- 咨询区背景：金点世界地图（AI 素材图，压暗保对比） ---------- */
#consult{
  background:
    linear-gradient(180deg,var(--paper),rgba(237,245,252,.72) 40%,rgba(237,245,252,.88)),
    url("bg/world-map.jpg") center/cover no-repeat,
    var(--paper);
}
@media (max-width:760px){ #consult{background:
    linear-gradient(180deg,var(--paper),rgba(237,245,252,.86) 40%,rgba(237,245,252,.94)),
    url("bg/world-map.jpg") center/cover no-repeat,var(--paper)} }

/* ---------- 首页新版布局：居中 hero / 自测区栅格 / bento 修正 ---------- */
.hero-center{max-width:860px;margin:0 auto;text-align:center;padding:88px 24px 96px;position:relative;z-index:1}
.hero-center .hero-sub{margin-left:auto;margin-right:auto}
.hero-center .hero-cta{justify-content:center}
.hero-center .hero-note{text-align:center}
.hero-center .stats{text-align:left;max-width:820px;margin-left:auto;margin-right:auto}
@media (max-width:1000px){.hero-center{padding:60px 24px 68px}}
.assess-grid{display:grid;grid-template-columns:1fr 440px;gap:52px;align-items:center}
.assess-pts{list-style:none;margin-top:24px}
.assess-pts li{font-size:14px;color:var(--muted);padding:9px 0 9px 26px;position:relative;
  border-bottom:1px dashed var(--line)}
.assess-pts li::before{content:"✓";position:absolute;left:0;top:9px;color:var(--gold-b);font-weight:700}
@media (max-width:960px){.assess-grid{grid-template-columns:1fr;gap:34px}}
/* bento：6 列网格，默认 2 列宽，.w3 半幅、.w4 全幅的 2/3 */
.mods{grid-template-columns:repeat(6,1fr)}
.mod{grid-column:span 2}
.mod.w3{grid-column:span 3}
.mod.w4{grid-column:span 4}
@media (max-width:1000px){.mods{grid-template-columns:repeat(2,1fr)}.mod,.mod.w3,.mod.w4{grid-column:auto}}
.ticker{margin-bottom:44px}

/* ===== logo 区域整块浅色（2026-10-01 21:01 用户拍板：顶栏与页脚 logo 所在区域整块变浅色，
        logo 直接融入浅色区，无「贴补丁」感；logo 文件本身一字未改，颜色不变） ===== */
/* 顶栏：logo 区从内容列左缘垂下的浅色块，随顶栏高度自适应（常态/收缩态都占满） */
.brand{
  background:#f5f1e6;
  margin:0 0 0 -24px;            /* 抵消 .wrap 的 24px 左内边距，让浅色块通到内容列左缘 */
  padding:0 12px 0 12px;
  align-self:stretch;             /* flex 默认拉伸，占满 .nav 整条高度 */
  display:flex;align-items:center;flex:none;line-height:0;
  border-radius:0 0 16px 0;
}
.brand-logo{height:var(--logo-h);width:auto;display:block}

/* 页脚：logo 浅色块（比原衬板更舒展，logo 居中融入） */
.foot-brand{
  margin-bottom:10px;
  background:#f5f1e6;border-radius:16px;
  padding:16px 22px;display:inline-block;
}
/* 2026-10-01 紧凑页脚：178→120→96（两轮压低；® 标记随之变小，
   注册声明由紧随其后的 foot-reg 文字完整表达，故此处接受该折中） */
.foot-brand img{height:96px;width:auto;display:block}

/* ===== Hero 热门签证国家直达标签（一进首页即点明签证网站） ===== */
.hero-tags{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  justify-content:center;margin-top:26px;
  animation:upIn .72s cubic-bezier(.22,.7,.3,1) both;animation-delay:.30s;
}
.hero-tags .ht-cap{
  font-size:12px;letter-spacing:2px;color:var(--muted);
  padding-right:4px;
}
.hero-tags a{
  font-size:13px;color:#2a5d9e;text-decoration:none;
  padding:7px 14px;border-radius:999px;
  border:1px solid rgba(31,99,196,.35);
  background:rgba(255,255,255,.72);
  transition:transform .18s ease,border-color .18s ease,color .18s ease;
}
.hero-tags a:hover{
  color:#fff;border-color:var(--blue-d);
  transform:translateY(-2px);
}
.hero-tags a.more{
  border-style:dashed;color:var(--blue-d);
}
.hero-tags a.more:hover{color:#fff}
@media (prefers-reduced-motion:reduce){
  .hero-tags{animation:none}
  .hero-tags a,.hero-tags a:hover{transition:none;transform:none}
}

/* ===== 首页签证指南概览卡（2026-10-01 22:12 替换原政策动态区块） ===== */
.kg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kg-card{
  display:flex;flex-direction:column;gap:10px;
  padding:22px 22px 18px;border:1px solid var(--line);border-radius:14px;
  background:var(--card);text-decoration:none;color:var(--ink);
  transition:transform .18s ease,border-color .18s ease;
}
.kg-card:hover{transform:translateY(-3px);border-color:var(--blue-d)}
.kg-card h3{font-size:17px;color:var(--ink)}
.kg-card p{font-size:13px;color:var(--muted);line-height:1.7}
.kg-card .kg-pts{font-size:12.5px;color:var(--hint);line-height:1.9}
.kg-card .kg-go{margin-top:auto;font-size:13px;color:var(--blue-d);font-weight:600}
@media (prefers-reduced-motion:reduce){.kg-card,.kg-card:hover{transition:none;transform:none}}
@media (max-width:900px){.kg-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.kg-grid{grid-template-columns:1fr}}

/* ===== 客户案例 · 动态滚动（2026-10-01 #reviews 区，双轨无缝循环） ===== */
.case-roll{margin:24px 0 34px}
.cr-cap{font-size:12px;letter-spacing:1px;color:var(--muted);margin:0 0 12px}
.cr-view{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.cr-track{display:flex;width:max-content;animation:crMove 68s linear infinite}
.case-roll:hover .cr-track,.case-roll:focus-within .cr-track{animation-play-state:paused}
@keyframes crMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cr-set{display:flex;gap:14px;padding-right:14px;flex:none}
.cr-card{
  flex:none;width:296px;display:flex;flex-direction:column;gap:9px;
  padding:16px 18px 13px;border:1px solid var(--line);border-radius:14px;
  background:var(--card);text-decoration:none;
  transition:transform .18s ease,border-color .18s ease;
}
.cr-card:hover{transform:translateY(-3px);border-color:var(--blue-d)}
.cr-card .cr-head{display:flex;align-items:center;gap:8px}
.cr-card .cr-flag{
  flex:none;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:6px;
  background:var(--red-l);color:var(--red-b);white-space:nowrap;
}
.cr-card .cr-head b{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-card .cr-head time{
  margin-left:auto;font-size:11.5px;color:var(--gold-b);white-space:nowrap;flex:none;
  font-variant-numeric:tabular-nums;
}
.cr-card p{font-size:12.5px;line-height:1.7;color:var(--muted);margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cr-card .cr-foot{display:flex;gap:6px;margin-top:auto}
.cr-card footer span{
  font-size:11px;color:var(--hint);border:1px solid var(--line);
  padding:2px 8px;border-radius:999px;white-space:nowrap;
}
.cr-card footer span:last-child{color:var(--blue-d);border-color:rgba(31,99,196,.35)}
@media (prefers-reduced-motion:reduce){
  .cr-track{animation:none}
  .cr-card,.cr-card:hover{transition:none;transform:none}
}
/* 窄屏：停动画改为可横拖 */
@media (max-width:760px){
  .cr-track{animation:none}
  .cr-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none;
    scrollbar-width:thin;scroll-snap-type:x proximity}
  .cr-card{scroll-snap-align:start}
}

/* ===== 客户反馈 · 竖向滚动（2026-10-01 #reviews 区，8 条评价双轨循环） ===== */
.qr-roll{
  position:relative;overflow:hidden;max-height:620px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 5%,#000 90%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 5%,#000 90%,transparent);
}
.qr-track{display:flex;flex-direction:column}
.qr-set{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:20px;flex:none}
@media (max-width:1280px){.qr-set{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.qr-set{grid-template-columns:1fr}}
.qr-roll.qr-roll-on .qr-track{animation:qrRoll 60s linear infinite}
.qr-roll:hover .qr-track,.qr-roll:focus-within .qr-track{animation-play-state:paused}
@keyframes qrRoll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.qr-roll .quote{flex:none}
@media (prefers-reduced-motion:reduce){
  .qr-roll.qr-roll-on .qr-track{animation:none}
}
@media (max-width:760px){
  .qr-roll{max-height:480px}
}

/* ===== 全站大背景纹理（2026-10-01 深藏青蓝主题，祥云暗纹若隐若现） =====
   body::before 固定视口层：纹理压在 body 底色之上、页面内容之下；
   各区块自带底色的地方自然盖住纹理，只在留白处露出 —— 低调不抢内容。 */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:url(bg/texture-light.jpg) center/cover no-repeat;
}

/* =====================================================================
   浅色蓝天白云 · 山水主题（2026-10-01 23:28 用户拍板，覆盖此前银河深色层）
   1. 白云层：复用 .galaxy 三层容器，从星点改为体积云团（白渐变+blur）
   2. 山水底图：hero-day.jpg（水墨远山+白云），向上渐隐融进天蓝底
   3. 3D 动态：云/山分层视差（滚动+鼠标，site.js heroParallaxInit），
      热门国家卡 3D 倾斜（tiltInit）；reduced-motion 全部停用
   ===================================================================== */

/* 星云光晕 → 天空柔光（淡金晨光 + 淡蓝天光） */
.galaxy::before{
  background:
    radial-gradient(640px 300px at 82% 14%, rgba(255,244,214,.5), transparent 70%),
    radial-gradient(520px 280px at 8% 66%, rgba(214,235,255,.55), transparent 70%),
    radial-gradient(760px 360px at 50% 36%, rgba(228,242,255,.65), transparent 75%);
}

/* 三层体积云：远景高云（淡小慢）→ 中景 → 近景（大白团）。
   每层多团椭圆渐变叠出云形，blur 柔化出真实体积感；drift 缓慢漂移。 */
.galaxy .st{position:absolute;inset:-12%;background-repeat:no-repeat;pointer-events:none}
.galaxy .st1{
  background-image:
    radial-gradient(30% 8% at 16% 18%, rgba(255,255,255,.62), transparent 72%),
    radial-gradient(22% 6% at 44% 12%, rgba(255,255,255,.5), transparent 72%),
    radial-gradient(26% 7% at 74% 22%, rgba(255,255,255,.66), transparent 72%);
  filter:blur(10px);
  animation:cloudDriftA 130s linear infinite alternate;
}
.galaxy .st2{
  background-image:
    radial-gradient(34% 10% at 10% 46%, rgba(255,255,255,.8), transparent 72%),
    radial-gradient(24% 8% at 46% 38%, rgba(255,255,255,.72), transparent 72%),
    radial-gradient(28% 9% at 84% 52%, rgba(255,255,255,.78), transparent 72%);
  filter:blur(7px);
  animation:cloudDriftB 95s linear infinite alternate;
}
.galaxy .st3{
  background-image:
    radial-gradient(38% 12% at 22% 66%, rgba(255,255,255,.92), transparent 74%),
    radial-gradient(30% 10% at 58% 74%, rgba(255,255,255,.88), transparent 74%),
    radial-gradient(34% 11% at 88% 84%, rgba(255,255,255,.9), transparent 74%);
  filter:blur(5px);
  animation:cloudDriftA 70s linear infinite alternate-reverse;
}
@keyframes cloudDriftA{from{transform:translate3d(0,0,0)}to{transform:translate3d(64px,-8px,0)}}
@keyframes cloudDriftB{from{transform:translate3d(0,0,0)}to{transform:translate3d(-56px,6px,0)}}

/* 流星停用（白天场景） */
.galaxy .shoot{display:none}

/* 山水底图：底部显示、向上渐隐，微调透明度 */
.hero-mount{
  -webkit-mask-image:linear-gradient(180deg,transparent 26%,rgba(0,0,0,.92) 78%);
  mask-image:linear-gradient(180deg,transparent 26%,rgba(0,0,0,.92) 78%);
  opacity:.94;
}

/* ---------- 3D 动态配套 ---------- */
/* 视差由 JS 写 transform（云层 inset:-12% 已留位移余量，不会露边） */
/* 热门国家卡 3D 倾斜：hover 时随鼠标立体翻转（JS tiltInit） */
@media (hover:hover) and (pointer:fine){
  .dst{transform-style:preserve-3d}
  .dst .dst-img img{transform:translateZ(0)}
  .dst:hover .dst-img img{transform:translateZ(0) scale(1.05)}
}

/* ---------- Logo 镶入浅色背景（去掉为深色主题加的浅色衬板区） ---------- */
.brand{
  background:transparent;
  margin:0;
  padding:0;
  border-radius:0;
}
.foot-brand{
  background:transparent;
  padding:0;
  border-radius:0;
}
/* hero-logo 已按用户要求移除（原 160px 完整组合，出国签证服务徽标行上方），
   保留此注释占位防止误解为遗漏；样式块一并删除。 */

/* 浅色下微调 */
.hero .badge-line{border-color:#a6c6e4}
.hero-note{color:#4a6683}

/* ===== 紧凑页脚 v2（2026-10-01：删除公司说明段，四栏改横向展开，进一步压低） =====
   品牌列只剩 logo；服务/了解/联系三组链接由竖排列表改为横向流式排列（自动换行）。
   公司全称与业务描述不再出现在页脚（版权行、logo alt、法律页仍有公司名）。
   本块为最终覆盖层，取代 v15 的并排布局，全部 12 页共用。 */
footer.site{padding:22px 0 14px}
.foot-grid{display:flex;flex-wrap:wrap;gap:16px 34px;align-items:flex-start}
.foot-grid > div{flex:1 1 240px}
.foot-grid > div:first-child{flex:0 0 auto}
.foot-grid h4{margin-bottom:7px}
.foot-grid ul{display:flex;flex-wrap:wrap;column-gap:22px}
.foot-grid li{margin:0;line-height:1.7}
.foot-brand{margin-bottom:0}
.foot-reg{
  margin-top:14px;padding:0;background:none;border:none;border-radius:0;
  font-size:11.5px;line-height:1.6;
}
.foot-bottom{margin-top:6px;padding-top:10px}
@media (max-width:720px){
  /* 窄屏：每组占满整行，地址等长项不被挤成竖条 */
  .foot-grid > div{flex:1 1 100%}
}

/* ===== 信任条浅色修正 + 收尾（2026-10-01 深夜 v17） =====
   .trust 换浅色底时只改了 background（1135 行），文字仍沿用深底配色
   （正文 #cfe0f0、加粗 #fff），浅底上几乎不可见——用户要求加深。
   对勾圆圈同步换成品牌蓝系。 */
.trust{color:var(--muted)}
.trust li b{color:var(--ink)}
.tick{background:var(--blue-l)}
.tick::after{border-color:var(--blue-d)}

/* ===== 合规补充（2026-10-02 v19） =====
   1) 在线客服 AI 生成内容标识（《人工智能生成合成内容标识办法》，2025-09-01 施行）
   2) 公安联网备案号占位：后台 site_content 填了 footer.police 才显示，没办下来前整链隐藏 */
.cs-ai-note{
  font-size:11px;color:var(--hint);padding:5px 14px 6px;
  border-bottom:1px solid var(--line);background:var(--soft);
  letter-spacing:.2px;
}
.foot-police{margin-left:2px}

/* ===== 退款到账说明（2026-10-02 v24） =====
   新签约商户资金按 T+1 结算，退款在结算完成后 1 个工作日内原路退回。
   加在首页与支付页「退款规则先说清」卡片内。
   用 .pay-card .pay-refund-eta 提特异性，否则被 .pay-card p 压住。 */
.pay-card .pay-refund-eta{
  margin-top:9px;padding-top:9px;
  border-top:1px dashed var(--line);
  font-size:12px;color:var(--muted);line-height:1.65;
}
