/* ==========================================================================
   宸鑫国际物流 · 马来西亚 / 新加坡专线官网样式
   设计令牌 → 通用组件 → 区块样式 → 响应式
   ========================================================================== */

:root{
  --navy-900:#061832;
  --navy-800:#0A1F3C;
  --navy-700:#123156;
  --navy-600:#1B4272;
  --navy-500:#2A5A96;

  --ink:#16202E;
  --ink-2:#41506A;
  --ink-3:#6B7A93;
  --line:#E2E8F1;
  --bg:#F4F7FB;
  --white:#fff;

  --brand-1:#FF5A1F;
  --brand-2:#FF8A2B;
  --brand-grad:linear-gradient(135deg,#FF5A1F 0%,#FF9A2E 100%);
  --brand-soft:#FFF3EB;
  --gold:#FFC24B;

  --ok:#12A150;
  --bad:#D9453B;

  --r-s:8px; --r-m:14px; --r-l:20px;
  --sh-s:0 2px 10px rgba(12,32,64,.06);
  --sh-m:0 10px 30px rgba(12,32,64,.10);
  --sh-l:0 20px 50px rgba(12,32,64,.16);
  --maxw:1240px;
  --nav-h:70px;
  --f:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;font-family:var(--f);color:var(--ink);background:var(--white);font-size:16px;line-height:1.75;letter-spacing:.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{margin:0;font-weight:800;line-height:1.28;letter-spacing:-.01em}
p{margin:0}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:3px solid var(--brand-2);outline-offset:2px;border-radius:4px}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 26px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:16px;border:0;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;line-height:1.3;text-align:center}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn.sm{padding:11px 20px;font-size:14.5px}
.btn-p{background:var(--brand-grad);color:#fff;box-shadow:0 12px 28px rgba(255,90,31,.34)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,90,31,.44)}
.btn-g{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.32)}
.btn-g:hover{background:rgba(255,255,255,.17)}
.btn-o{background:#fff;color:var(--navy-800);border:1.5px solid var(--line)}
.btn-o:hover{border-color:var(--brand-1);color:var(--brand-1)}

/* ---------- 顶部信息条 ---------- */
.topbar{background:var(--navy-900);color:#A9BCD3;font-size:13px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:40px}
.tb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-r{display:flex;align-items:center;gap:20px;flex-shrink:0}
.tb-r span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(18,161,80,.22);flex-shrink:0}
.tb-r .tel{color:#fff;font-weight:800;font-size:14.5px;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.tb-r .tel span{color:var(--gold);font-weight:600;font-size:12.5px}

/* ---------- 导航 ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.nav.stuck{box-shadow:0 6px 22px rgba(12,32,64,.09)}
.nav .wrap{display:flex;align-items:center;gap:14px;min-height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}
.logo .mark{width:42px;height:42px;border-radius:12px;background:var(--brand-grad);display:grid;place-items:center;box-shadow:0 6px 16px rgba(255,90,31,.34)}
.logo .mark svg{width:24px;height:24px}
.logo .txt{display:flex;flex-direction:column;line-height:1.15}
.logo .cn{font-size:17.5px;font-weight:800;color:var(--navy-800);letter-spacing:.02em;white-space:nowrap}
.logo .en{font-size:9.5px;color:var(--ink-3);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.menu{display:flex;align-items:center;gap:0;margin-left:auto}
.menu a{padding:9px 11px;border-radius:var(--r-s);font-size:14.5px;color:var(--ink-2);font-weight:500;white-space:nowrap;transition:.18s}
.menu a:hover{background:var(--bg);color:var(--navy-700)}
.menu a.on{color:var(--brand-1);font-weight:700}
.nav-cta{margin-left:10px;background:var(--brand-grad);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;font-size:14.5px;box-shadow:0 8px 20px rgba(255,90,31,.3);white-space:nowrap;flex-shrink:0;transition:transform .18s}
.nav-cta:hover{transform:translateY(-2px)}
.burger{display:none;width:44px;height:44px;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:11px;cursor:pointer;padding:0;position:relative;flex-shrink:0}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--navy-800);border-radius:2px;transition:.22s}
.burger i:nth-child(1){top:15px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:27px}
.burger.open i:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.open i:nth-child(2){opacity:0}
.burger.open i:nth-child(3){top:21px;transform:rotate(-45deg)}
.drawer{display:none;border-top:1px solid var(--line);background:#fff}
.drawer.open{display:block}
.drawer a{display:block;padding:14px 26px;border-bottom:1px solid var(--bg);font-size:16px;font-weight:500;color:var(--ink)}
.drawer a:active{background:var(--brand-soft)}

/* ---------- Hero ---------- */
.hero{position:relative;background:radial-gradient(1100px 600px at 80% 6%,#1B4272 0%,rgba(27,66,114,0) 60%),linear-gradient(160deg,#0A1F3C 0%,#061832 100%);color:#fff;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(760px 460px at 32% 34%,#000 0%,transparent 80%);mask-image:radial-gradient(760px 460px at 32% 34%,#000 0%,transparent 80%);pointer-events:none}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:46px;align-items:center;padding-top:62px;padding-bottom:62px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:#FFD9A6;background:rgba(255,194,75,.13);border:1px solid rgba(255,194,75,.34);padding:7px 14px;border-radius:999px;margin-bottom:22px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(255,194,75,.22);flex-shrink:0}
.hero h1{font-size:clamp(28px,3.9vw,50px);line-height:1.24;letter-spacing:-.02em}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,#FF7A33,#FFC24B);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .sub{margin-top:20px;font-size:clamp(14.5px,1.4vw,17px);color:#BCCBDD;line-height:1.9}
.hero .sub b{color:#fff;font-weight:700}
.hero-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:24px}
.hero-ticks li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#DDE8F4;line-height:1.6}
.hero-ticks li::before{content:"✓";flex-shrink:0;width:19px;height:19px;border-radius:50%;background:rgba(255,138,43,.2);border:1px solid rgba(255,138,43,.5);color:var(--gold);font-size:11.5px;font-weight:800;display:grid;place-items:center;margin-top:3px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* 首屏时效卡 */
.eta-card{background:#fff;border-radius:var(--r-l);box-shadow:var(--sh-l);overflow:hidden;color:var(--ink)}
.ec-h{padding:22px 26px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#FBFCFE,#fff)}
.ec-h h2{font-size:19px;color:var(--navy-800)}
.ec-h p{font-size:12.5px;color:var(--ink-3);margin-top:5px}
.ec-list{padding:6px 26px 8px}
.ec-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:0 -14px;border-bottom:1px dashed var(--line);font-size:14.5px;border-radius:9px}
.ec-list li:last-child{border-bottom:0}
.ec-list li span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-list li b{color:var(--navy-800);font-weight:800;font-size:15.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ec-list li.hot{background:var(--brand-soft)}
.ec-list li.hot b{color:var(--brand-1)}
.ec-note{padding:0 26px;font-size:12px;color:var(--ink-3);line-height:1.75}
.ec-btn{width:calc(100% - 52px);margin:16px 26px 24px;padding:14px 20px;font-size:15.5px}

/* ---------- 数据条 ---------- */
.band{background:#fff;border-bottom:1px solid var(--line)}
.band-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:30px;padding-bottom:30px}
.band .b{text-align:center;padding:4px 10px;border-right:1px solid var(--line)}
.band .b:last-child{border-right:0}
.band .k{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--navy-800);line-height:1.1;letter-spacing:-.02em}
.band .k small{font-size:.44em;font-weight:800;color:var(--brand-1);margin-left:3px;letter-spacing:0}
.band .v{font-size:13px;color:var(--ink-3);margin-top:7px}

/* ---------- 区块通用 ---------- */
.section{padding:clamp(56px,6.6vw,92px) 0}
.section.alt{background:var(--bg)}
.head{max-width:780px;margin-bottom:clamp(30px,4vw,46px)}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--brand-1);text-transform:uppercase;margin-bottom:12px}
.head h2{font-size:clamp(23px,3.2vw,37px);color:var(--navy-800)}
.head p{margin-top:14px;color:var(--ink-2);font-size:clamp(14.5px,1.35vw,16px)}
.grid{display:grid;gap:22px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:28px 26px;box-shadow:var(--sh-s);transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-m);border-color:#CFDCEC}
.card .ico,.svc .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px}
.card .ico svg,.svc .ico svg{width:26px;height:26px}
.card h3,.svc h3{font-size:19px;color:var(--navy-800);margin-bottom:10px}
.card p,.svc p{color:var(--ink-2);font-size:14.5px;line-height:1.82}
.i-blue{background:#EAF2FF;color:#1E63D6}
.i-amber{background:#FFF4E0;color:#B87700}
.i-rose{background:#FFECF0;color:#D4436A}
.i-green{background:#E7F8EF;color:#0E8A46}
.i-navy{background:#E9EFFA;color:var(--navy-700)}

.tl{margin-top:16px;padding-top:15px;border-top:1px dashed var(--line)}
.tl li{display:flex;gap:9px;font-size:13.5px;color:var(--ink-2);line-height:1.7;padding:3.5px 0}
.tl li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand-2);flex-shrink:0;margin-top:10px}

.ck li{display:flex;gap:9px;font-size:14px;color:var(--ink-2);padding:4.5px 0;line-height:1.7}
.ck li::before{content:"✓";color:var(--ok);font-weight:800;font-size:13px;flex-shrink:0;width:15px}

/* ---------- 专线卡 ---------- */
.lane{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:24px 24px 0;box-shadow:var(--sh-s);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s}
.lane:hover{transform:translateY(-4px);box-shadow:var(--sh-m);border-color:#CFDCEC}
.lane .flag{position:absolute;top:0;right:0;font-size:11px;font-weight:800;padding:5px 12px;border-radius:0 0 0 10px;letter-spacing:.03em;background:var(--brand-grad);color:#fff}
.l-h{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.l-h .code{width:46px;height:40px;border-radius:10px;background:#EEF3FA;color:var(--navy-700);font-size:14px;font-weight:800;display:grid;place-items:center;letter-spacing:.02em;flex-shrink:0}
.l-h h3{font-size:18.5px;color:var(--navy-800);line-height:1.3}
.l-h .en{font-size:11px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.l-b{flex:1}
.l-b li{position:relative;padding-left:16px;font-size:14px;color:var(--ink-2);line-height:1.8;margin-bottom:6px}
.l-b li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--brand-2)}
.l-f{margin:14px -24px 0;padding:14px 24px;border-top:1px solid var(--line);background:#FBFCFE;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-3);flex-wrap:wrap}
.l-f b{color:var(--brand-1);font-weight:800;font-variant-numeric:tabular-nums}
.l-f a{color:var(--navy-700);font-weight:700;font-size:13.5px;white-space:nowrap}
.l-f a:hover{color:var(--brand-1)}

/* ---------- 禁运条 ---------- */
.notice{margin-top:26px;background:#fff;border:1px solid #F3D9D6;border-left:4px solid var(--bad);border-radius:var(--r-m);padding:22px 24px}
.notice h4{font-size:16px;color:#9C2B22;margin-bottom:9px;display:flex;align-items:center;gap:9px}
.notice h4 svg{width:19px;height:19px;flex-shrink:0}
.notice p{font-size:14px;color:#6C4A46;line-height:1.85}
.notice b{color:#9C2B22}

/* ---------- 服务卡 ---------- */
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:26px 24px;box-shadow:var(--sh-s);transition:transform .22s,box-shadow .22s,border-color .22s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--sh-m);border-color:#CFDCEC}
.svc .ck{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}

/* ---------- 试算器 ---------- */
.calc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:26px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(22px,3vw,32px);box-shadow:var(--sh-m)}
.panel h3{font-size:19px;color:var(--navy-800);margin-bottom:6px}
.panel .desc,.fdesc{font-size:13.5px;color:var(--ink-3);margin-bottom:22px}
.fld{margin-bottom:17px}
.fld > label{display:block;font-size:13.5px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.fld > label i{color:var(--bad);font-style:normal}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.seg label{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border:1.5px solid var(--line);border-radius:10px;font-size:14.5px;font-weight:600;color:var(--ink-2);cursor:pointer;background:#fff;transition:.16s;flex:1 1 auto;min-width:80px;text-align:center;line-height:1.35}
.seg label:hover{border-color:#BCCFE4}
.seg input:checked + label{border-color:var(--brand-1);background:var(--brand-soft);color:var(--brand-1);box-shadow:inset 0 0 0 1px var(--brand-1)}
.seg input:focus-visible + label{outline:3px solid var(--brand-2);outline-offset:2px}
.dims{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.inp{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;color:var(--ink);background:#fff;transition:.16s;min-width:0;font-variant-numeric:tabular-nums}
select.inp{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7A93' stroke-width='2.6' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
textarea.inp{resize:vertical;line-height:1.7;min-height:96px}
.inp:focus{outline:0;border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,31,.14)}
.inp::placeholder{color:#A9B6C8}
.dims .u{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:5px}
.calc-btn{width:100%;margin-top:8px}

.res{background:linear-gradient(160deg,var(--navy-800),var(--navy-900));color:#fff;border-radius:var(--r-l);padding:clamp(22px,3vw,30px);box-shadow:var(--sh-l);position:sticky;top:calc(var(--nav-h) + 16px)}
.res .rlab,.rlab{font-size:12.5px;color:#9FB3CA;letter-spacing:.08em}
.res .big{font-size:clamp(30px,4.6vw,44px);font-weight:800;line-height:1.15;margin:6px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.res .big small{font-size:.4em;font-weight:700;color:var(--gold);margin-left:6px}
.res .range{font-size:13.5px;color:#A9BCD3;min-height:22px}
.res hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:20px 0}
.kv{display:flex;justify-content:space-between;gap:14px;font-size:14px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.kv:last-of-type{border-bottom:0}
.kv .k{color:#93A6BE;flex-shrink:0}
.kv .v{font-weight:700;text-align:right;font-variant-numeric:tabular-nums;word-break:break-word}
.kv .v.hi{color:var(--gold)}
.res .note{margin-top:16px;font-size:12.5px;color:#8FA3BC;line-height:1.75}
.res .cta{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.res .cta .btn{flex:1 1 auto;padding:12px 18px;font-size:14.5px}
.sample{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#FFE0B2;background:rgba(255,194,75,.16);border:1px solid rgba(255,194,75,.4);padding:4px 10px;border-radius:999px;letter-spacing:.03em}

/* ---------- 表格 ---------- */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;box-shadow:var(--sh-s)}
table{width:100%;border-collapse:collapse;min-width:720px;font-size:14.5px}
caption{caption-side:top;text-align:left;padding:16px 20px 4px;font-size:13px;color:var(--ink-3)}
th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--navy-800);color:#fff;font-weight:700;font-size:14px;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#FAFCFE}
td b{color:var(--navy-800)}
.num{font-variant-numeric:tabular-nums;font-weight:800;color:var(--brand-1);white-space:nowrap;font-size:16px}
.hint{font-size:12.5px;color:var(--ink-3);margin-top:10px;line-height:1.8}

/* ---------- 包含 / 不包含 ---------- */
.incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.incl .box{border-radius:var(--r-m);padding:26px;border:1px solid var(--line);background:#fff}
.incl .box.yes{border-color:#CDEBD9;background:linear-gradient(180deg,#F3FCF6,#fff)}
.incl .box.no{border-color:#F1DDD9;background:linear-gradient(180deg,#FDF6F4,#fff)}
.incl h4{font-size:17px;margin-bottom:14px;display:flex;align-items:center;gap:9px}
.incl .yes h4{color:#0E7A3E}
.incl .no h4{color:#A3372C}
.incl h4 svg{width:20px;height:20px;flex-shrink:0}
.incl li{display:flex;gap:10px;font-size:14.5px;color:var(--ink-2);padding:6px 0;line-height:1.75}
.incl li svg{width:16px;height:16px;flex-shrink:0;margin-top:5px}
.yes li svg{color:var(--ok)}
.no li svg{color:var(--bad)}

/* ---------- 流程 ---------- */
.flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:22px 18px;transition:transform .2s,border-color .2s,box-shadow .2s}
.step:hover{border-color:var(--brand-2);box-shadow:var(--sh-m);transform:translateY(-3px)}
.step .n{width:34px;height:34px;border-radius:10px;background:var(--brand-grad);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;margin-bottom:13px;box-shadow:0 5px 14px rgba(255,90,31,.3)}
.step h4{font-size:15.5px;color:var(--navy-800);margin-bottom:7px}
.step p{font-size:13px;color:var(--ink-3);line-height:1.72}

/* ---------- 长期合作 ---------- */
.p-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.p-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:28px;box-shadow:var(--sh-s)}
.p-col h3{font-size:18px;color:var(--navy-800);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.who li{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.who li:last-child{border-bottom:0}
.who svg{width:22px;height:22px;color:var(--brand-1);flex-shrink:0;margin-top:4px}
.who b{display:block;font-size:15.5px;color:var(--navy-800);font-weight:700}
.who i{display:block;font-style:normal;font-size:13.5px;color:var(--ink-3);margin-top:3px;line-height:1.65}
.give li{display:flex;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);align-items:flex-start}
.give li:last-child{border-bottom:0}
.give .gn{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:var(--brand-soft);color:var(--brand-1);font-size:13px;font-weight:800;display:grid;place-items:center;margin-top:2px}
.give b{display:block;font-size:15.5px;color:var(--navy-800);font-weight:700}
.give i{display:block;font-style:normal;font-size:13.5px;color:var(--ink-3);margin-top:3px;line-height:1.65}
.p-start{background:linear-gradient(135deg,var(--navy-800),var(--navy-600));border-radius:var(--r-l);padding:clamp(26px,3.4vw,36px);color:#fff}
.p-start h3{font-size:20px;color:#fff}
.psub{font-size:14px;color:#A9BCD3;margin-top:8px}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.ps-grid > div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-m);padding:20px}
.ps-grid .n{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--brand-grad);color:#fff;font-weight:800;font-size:14px;margin-bottom:12px}
.ps-grid b{display:block;font-size:16px;color:#fff;font-weight:700;margin-bottom:6px}
.ps-grid i{display:block;font-style:normal;font-size:13.5px;color:#A9BCD3;line-height:1.72}
.ps-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.ps-cta .btn-o{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.08);color:#fff}
.ps-cta .btn-o:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.5)}

/* ---------- 公司简介 ---------- */
.ab-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:34px;align-items:start}
.ab-txt p{font-size:15.5px;color:var(--ink-2);line-height:1.95}
.ab-txt p + p{margin-top:15px}
.ab-txt b{color:var(--navy-800)}
.ab-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.ab-side{display:grid;gap:18px}
.ab-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:24px;box-shadow:var(--sh-s)}
.ab-box h3{font-size:16.5px;color:var(--navy-800);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cover li{padding:10px 0;border-bottom:1px dashed var(--line)}
.cover li:last-child{border-bottom:0}
.cover span{display:block;font-size:14.5px;font-weight:700;color:var(--navy-800)}
.cover i{display:block;font-style:normal;font-size:13px;color:var(--ink-3);margin-top:3px;line-height:1.65}
.cover-note{margin-top:14px;font-size:12.5px;color:var(--ink-3);line-height:1.75}

/* ---------- FAQ ---------- */
.faq{max-width:940px;margin:0 auto}
details{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
details[open]{border-color:#C9DAEE;box-shadow:var(--sh-s)}
summary{list-style:none;cursor:pointer;padding:19px 56px 19px 22px;font-size:16px;font-weight:700;color:var(--navy-800);position:relative;line-height:1.55}
summary::-webkit-details-marker{display:none}
summary::before{content:"Q";position:absolute;left:22px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:7px;background:var(--brand-soft);color:var(--brand-1);font-size:12.5px;font-weight:800;display:grid;place-items:center}
summary{padding-left:58px}
summary::after{content:"";position:absolute;right:22px;top:50%;width:10px;height:10px;border-right:2.5px solid var(--brand-1);border-bottom:2.5px solid var(--brand-1);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details .a{padding:0 22px 21px 58px;font-size:14.8px;color:var(--ink-2);line-height:1.9}
details .a b{color:var(--navy-800)}

/* ---------- 联系 ---------- */
.contact{background:linear-gradient(160deg,var(--navy-800),var(--navy-900));color:#fff;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 84% 18%,rgba(255,138,43,.2),transparent 46%),radial-gradient(circle at 10% 86%,rgba(42,90,150,.32),transparent 44%);pointer-events:none}
.contact .wrap{position:relative;z-index:2}
.contact .head h2{color:#fff}
.contact .head p{color:#A9BCD3}
.contact .tag{color:var(--gold)}
.c-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}

.form{background:#fff;border-radius:var(--r-l);padding:clamp(24px,3vw,32px);box-shadow:var(--sh-l);color:var(--ink)}
.form h3{font-size:20px;color:var(--navy-800);margin-bottom:6px}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fbtn{width:100%;margin-top:6px}
.fout{margin-top:22px;padding:20px;border-radius:var(--r-m);background:var(--brand-soft);border:1px solid #FFD9BF}
.fo-h{font-size:15.5px;font-weight:800;color:var(--brand-1);margin-bottom:5px}
.fo-p{font-size:13px;color:#8A5B3C;margin-bottom:14px}
.fo-text{background:#fff;font-size:13.5px;line-height:1.8;min-height:170px;color:var(--ink-2)}
.fo-btns{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.fo-btns .btn{flex:1 1 auto;padding:12px 18px;font-size:14.5px}
.ferr{margin-top:14px;font-size:13.5px;color:#A3372C;background:#FDF1EF;border:1px solid #F1DDD9;border-radius:10px;padding:11px 14px}
.fnojs{margin-top:16px;font-size:13.5px;color:var(--ink-3);background:var(--bg);border-radius:10px;padding:12px 14px}
.fnojs a{color:var(--brand-1);font-weight:700}

.c-side{display:grid;gap:18px}
.cinfo{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-l);padding:8px 24px;backdrop-filter:blur(6px)}
.cline{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.11);align-items:center}
.cline:last-child{border-bottom:0}
.cline .ci{width:40px;height:40px;border-radius:11px;background:rgba(255,138,43,.16);border:1px solid rgba(255,138,43,.35);display:grid;place-items:center;flex-shrink:0}
.cline .ci svg{width:19px;height:19px;color:var(--gold)}
.cline .ct{min-width:0;flex:1}
.cline .cl{font-size:12px;color:#93A6BE;letter-spacing:.04em;margin-bottom:3px}
.cline .cv{font-size:19px;font-weight:800;color:#fff;line-height:1.4;word-break:break-word}
.cline .cv.tel{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cline .cv.tel a:hover{color:var(--gold)}
.cline .cv.sm{font-size:15.5px;font-weight:700}
.cline .cv small{display:block;font-size:12.5px;font-weight:400;color:#A9BCD3;margin-top:4px;line-height:1.6;letter-spacing:0}
.copy{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--navy-900);background:var(--gold);border:0;padding:8px 14px;border-radius:999px;cursor:pointer;transition:.18s}
.copy:hover{filter:brightness(1.07)}
.qr-mini{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:11px}
.qr-mini:hover{background:rgba(255,255,255,.22);filter:none}
.c-qr{background:#fff;border-radius:var(--r-l);padding:24px;text-align:center;color:var(--ink);box-shadow:var(--sh-l)}
.c-qr img{width:100%;max-width:222px;margin:0 auto 14px;border-radius:10px;border:1px solid var(--line)}
.cq-t{font-size:16.5px;font-weight:800;color:var(--navy-800)}
.cq-s{font-size:13px;color:var(--ink-3);line-height:1.75;margin-top:8px}
.cq-s b{color:var(--brand-1);font-variant-numeric:tabular-nums}

/* ---------- 页脚 ---------- */
footer{background:var(--navy-900);color:#8FA3BC;padding:48px 0 26px;font-size:13.5px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:32px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}
.fgrid h5{color:#fff;font-size:14.5px;margin:0 0 14px;font-weight:700;letter-spacing:.04em}
.fgrid li{padding:5px 0;line-height:1.7}
.fgrid a:hover{color:var(--gold)}
.fgrid .about{line-height:1.9;max-width:40em;margin-bottom:18px}
.fgrid .hl{color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.fbtns{display:flex;gap:10px;flex-wrap:wrap}
.fbtns .btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.fbtns .btn-o:hover{border-color:var(--gold);color:var(--gold)}
.fbrand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.fbrand .mark{width:36px;height:36px;border-radius:10px;background:var(--brand-grad);display:grid;place-items:center;flex-shrink:0}
.fbrand .mark svg{width:20px;height:20px}
.fbrand b{color:#fff;font-size:16.5px;letter-spacing:.02em}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:12.5px;color:#6F839C}
.fbot .fb-r{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.fbot .icp{color:#B9C8DC;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.fbot .icp:hover{color:var(--gold);text-decoration:underline}
.fbot .sep{color:#455A75;user-select:none}

/* ---------- 浮动工具 / 移动条 ---------- */
.float{position:fixed;right:18px;bottom:100px;z-index:70;display:flex;flex-direction:column;gap:10px}
.float a,.float button{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;box-shadow:var(--sh-m);transition:transform .18s;color:#fff;text-decoration:none}
.float a{background:var(--brand-grad)}
.float button{background:var(--navy-700)}
.float a:hover,.float button:hover{transform:translateY(-3px)}
.float svg{width:22px;height:22px}
.float #top{opacity:0;pointer-events:none;transition:opacity .25s}
.float #top.show{opacity:1;pointer-events:auto}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:75;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.mbar .in{display:flex;align-items:stretch}
.mbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 2px 7px;font-size:11.5px;color:var(--ink-2);font-weight:600;line-height:1.3}
.mbar a svg{width:20px;height:20px}
.mbar a.call{color:var(--brand-1)}
.mbar a.call .bub{width:46px;height:46px;margin-top:-24px;border-radius:50%;background:var(--brand-grad);display:grid;place-items:center;box-shadow:0 6px 16px rgba(255,90,31,.42)}
.mbar a.call .bub svg{width:23px;height:23px;color:#fff}

/* ---------- 二维码弹窗 ---------- */
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.m-mask{position:absolute;inset:0;background:rgba(6,24,50,.72);backdrop-filter:blur(3px)}
.m-box{position:relative;background:#fff;border-radius:var(--r-l);padding:30px 30px 26px;text-align:center;max-width:340px;width:100%;box-shadow:var(--sh-l);animation:pop .24s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.m-box img{width:100%;max-width:236px;margin:0 auto 16px;border-radius:10px;border:1px solid var(--line)}
.m-box p{font-size:13px;color:var(--ink-3);line-height:1.75;margin-bottom:16px}
.m-box p b{color:var(--brand-1);font-variant-numeric:tabular-nums}
.m-t{font-size:17px;font-weight:800;color:var(--navy-800);margin-bottom:16px}
.m-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:var(--bg);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.m-x:hover{background:#E6ECF4}
.m-x svg{width:16px;height:16px}

/* ---------- 进场动效 ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .m-box{animation:none}
  *{scroll-behavior:auto !important}
}

/* ============================ 响应式 ============================ */
@media (max-width:1240px){
  .menu a{padding:9px 8px;font-size:13.8px}
  .nav-cta{padding:11px 15px;font-size:13.8px}
}
@media (max-width:1120px){
  .menu{display:none}
  .nav-cta{display:none}
  .burger{display:block}
  .hero-in{grid-template-columns:1fr;gap:34px;padding-top:48px;padding-bottom:48px}
  .eta-card{max-width:520px}
  .ab-grid{grid-template-columns:1fr;gap:26px}
  .p-grid{grid-template-columns:1fr}
  .c-grid{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
  .res{position:static}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media (max-width:880px){
  :root{--nav-h:62px}
  .band-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .band .b:nth-child(2){border-right:0}
  .band .b:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:16px}
  .band .b:nth-child(n+3){padding-top:16px}
  .incl{grid-template-columns:1fr}
  .ps-grid{grid-template-columns:1fr}
  .float{bottom:92px;right:14px}
  .float a,.float button{width:44px;height:44px}
  .float svg{width:20px;height:20px}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .mbar{display:block}
  .section{padding:52px 0}
  details .a{padding-left:22px}
  summary{padding-left:22px;font-size:15.5px}
  summary::before{display:none}
  .hero-ticks{grid-template-columns:1fr}
}
@media (max-width:680px){
  .wrap{padding:0 18px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr;gap:10px}
  .step{display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-items:start;padding:16px}
  .step .n{grid-row:span 2;margin-bottom:0}
  .topbar .wrap{justify-content:center;text-align:center;min-height:36px;flex-wrap:wrap;gap:2px}
  .topbar .tb-l,.topbar .hide-s{display:none}
  .tb-r{gap:12px;flex-wrap:wrap;justify-content:center}
  .dims{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .dims > div.wide,.dims > div:first-child{grid-column:1/-1}
  .card,.svc,.p-col,.ab-box{padding:24px 20px}
  .head{margin-bottom:26px}
  .hero-in{padding-top:38px;padding-bottom:40px}
  .hero-cta .btn{flex:1 1 100%}
  .ec-list{padding:4px 18px 6px}
  .ec-h,.ec-note{padding-left:18px;padding-right:18px}
  .ec-btn{width:calc(100% - 36px);margin-left:18px;margin-right:18px}
  .ec-list li{flex-wrap:wrap;gap:2px 12px}
  .ec-list li span{flex:1 1 100%}
  .l-f{margin-left:-20px;margin-right:-20px;padding:14px 20px}
  .lane{padding:22px 20px 0}
  table{min-width:620px;font-size:13.5px}
  th,td{padding:12px 13px}
  .num{font-size:15px}
  .cinfo{padding:6px 20px}
  .copy{font-size:12px;padding:7px 12px}
  .fgrid{grid-template-columns:1fr;gap:24px}
  .fbot{flex-direction:column;gap:8px}
  .modal{padding:16px}
  .m-box{padding:24px 20px 20px}
  .res .cta .btn{flex:1 1 100%}
  .mbar a{font-size:10.5px;padding:8px 0 7px;min-width:0}
  .mbar a svg{width:19px;height:19px}
}
@media (max-width:420px){
  .band-in{grid-template-columns:1fr}
  .band .b{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}
  .band .b:last-child{border-bottom:0;padding-bottom:0}
  .band .b:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .logo .cn{font-size:16px}
  .hero h1{font-size:26px}
  .cline{flex-wrap:wrap}
  .copy{margin-left:55px}
}
