@charset "utf-8";
/* ═══════════ insu.cn 站点样式（首页 + 内页共用） ═══════════ */

:root{
  --ink:#0A1317; --surface:#F4F6F9; --hair:#E4E8EE;
  --steel:#5D6C7B; --stone:#8595A4; --cobalt:#0064E0;
  --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--ink); background:#fff; overflow-x:hidden;
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(20px,6vw,120px)}
a{color:inherit}

/* ═══════ ① 首屏（视频背景，仅首页） ═══════ */
.stage{position:relative; height:100dvh; min-height:640px; overflow:hidden; background:var(--ink)}
.bg{position:absolute; inset:0; z-index:0; overflow:hidden}
.layer{position:absolute; inset:0; width:100%; height:100%;
       object-fit:cover; object-position:center 46%; display:block}
.layer.video{display:none}
body.video-on .layer.photo{display:none}
body.video-on .layer.video{display:block}

/* 遮罩两层：①-a 基座（页头可读 + 底部过渡）  ①-b 文字区局部压暗（四角不受影响） */
.scrim{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,19,23,.42) 0%, rgba(10,19,23,.14) 45%, rgba(10,19,23,.48) 100%);}
.scrim-text{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(66% 46% at 50% 45%,
    rgba(10,19,23,.44) 0%, rgba(10,19,23,.42) 58%, rgba(10,19,23,0) 100%);}
.vig{position:absolute; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(125% 82% at 50% 44%, transparent 44%, rgba(3,6,9,.46) 100%);}

/* 页头 */
.nav{position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; height:96px}
.logo{display:flex; flex-direction:column; gap:3px; text-decoration:none; color:#fff}
.logo b{font-size:23px; letter-spacing:-.03em; font-weight:800; font-style:italic; line-height:1.1}
.logo i{font-size:10.5px; color:#8FA3B8; font-style:normal; letter-spacing:.02em}
.menu{display:flex; gap:32px; align-items:center}
.menu a{color:#D6E0EA; text-decoration:none; font-size:14px; letter-spacing:.02em; padding-bottom:2px; border-bottom:1px solid transparent}
.menu a:hover, .menu a.on{color:#fff; border-bottom-color:rgba(255,255,255,.6)}
.cta{display:inline-flex; align-items:center; padding:14px 28px; border-radius:100px;
     background:#fff; color:var(--ink); text-decoration:none; font-size:14px; font-weight:500; letter-spacing:.03em}

.hero{position:relative; z-index:5; height:calc(100dvh - 96px); min-height:560px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center}
.eyebrow{margin:0; font-size:11.5px; font-weight:500; color:#A8BCCF; letter-spacing:.23em}
h1{margin:30px 0 0; font-size:clamp(34px,4.6vw,72px); line-height:1.36; font-weight:500;
   letter-spacing:-.01em; color:#fff; text-shadow:0 2px 30px rgba(0,0,0,.45)}
.sub{margin:30px 0 0; font-size:17px; line-height:2; color:#C2D2E0; letter-spacing:.02em;
     max-width:620px; text-shadow:0 1px 18px rgba(0,0,0,.5)}
.btns{margin-top:48px; display:flex; gap:16px; flex-wrap:wrap; justify-content:center}
.btn{display:inline-flex; align-items:center; padding:17px 36px; border-radius:100px; font-size:15px;
     font-weight:500; letter-spacing:.03em; text-decoration:none; transition:transform .18s, opacity .18s}
.btn:hover{transform:translateY(-1px); opacity:.92}
.btn-p{background:var(--cobalt); color:#fff}
.btn-g{background:rgba(10,19,23,.28); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}

/* ═══════ ② 航线跑马灯（真滚动：内容复制两遍 + 平移 -50%） ═══════ */
.ticker{background:#fff; border-bottom:1px solid var(--hair); overflow:hidden; padding:26px 0}
.ticker-track{display:inline-flex; white-space:nowrap; animation:marquee 60s linear infinite}
.ticker-track span{font-size:15px; color:#8595A4; letter-spacing:.14em; padding-right:34px}
@keyframes marquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ═══════ ③ 通用区块 ═══════ */
.svc,.lanes,.track{background:var(--surface); padding:clamp(80px,10vw,150px) 0}
.lanes{background:#fff}
.eyebrow-d{font-size:11.5px; font-weight:600; letter-spacing:.2em; color:var(--cobalt)}
h2{margin:22px 0 0; font-size:clamp(28px,3vw,40px); line-height:1.3; font-weight:500; letter-spacing:-.01em}
.lead{margin:18px 0 0; font-size:15.5px; line-height:1.9; color:var(--steel); max-width:560px}

/* 三列服务 */
.grid3{margin-top:clamp(56px,6vw,76px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,64px)}
.item .no{font-size:13px; font-weight:600; letter-spacing:.1em; color:var(--cobalt); font-family:Inter,system-ui,sans-serif}
.item h3{margin:16px 0 0; font-size:21px; font-weight:500; letter-spacing:.01em}
.item p{margin:14px 0 0; font-size:14.5px; line-height:1.9; color:var(--steel)}

/* 四列航线 */
.grid4{margin-top:clamp(56px,6vw,76px); display:grid; grid-template-columns:repeat(4,1fr); gap:40px}
.lane{border-top:1px solid var(--hair); padding-top:22px}
.lane b{display:block; font-size:19px; font-weight:500; letter-spacing:.02em}
.lane span{display:block; margin-top:8px; font-size:13px; color:var(--stone); letter-spacing:.03em}

/* 跟踪卡 */
.track-head{text-align:center}
.track-head .lead{margin-left:auto; margin-right:auto}
.card{margin:clamp(48px,5vw,64px) auto 0; max-width:1000px; background:#fff; border-radius:32px;
  padding:clamp(28px,3.4vw,44px); box-shadow:0 24px 60px -24px rgba(10,25,40,.10)}
.qrow{display:flex; gap:12px; align-items:center}
.qbox{flex:1; height:62px; border:1px solid var(--hair); border-radius:100px; padding:0 26px;
      display:flex; align-items:center; font-size:15px; color:#A8B2BE}
.qbtn{height:62px; padding:0 40px; border:0; border-radius:100px; background:var(--cobalt); color:#fff;
      font-size:15px; font-weight:500; letter-spacing:.06em; cursor:pointer; font-family:inherit}
.qbtn:hover{opacity:.92}
.res{margin-top:44px}
.res-top{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.res-no{font-size:19px; font-weight:500; letter-spacing:.02em; font-family:Inter,system-ui,sans-serif}
.chip{display:inline-flex; align-items:center; padding:6px 14px; border-radius:100px; background:#EAF2FD;
      color:var(--cobalt); font-size:12px; font-weight:500; letter-spacing:.04em; margin-left:14px}
.sync{font-size:12px; color:var(--stone)}
.hr{height:1px; background:var(--hair); margin:26px 0}
.kv{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.kv div label{display:block; font-size:12px; color:var(--stone); letter-spacing:.05em}
.kv div b{display:block; margin-top:10px; font-size:15px; font-weight:500; letter-spacing:.02em}
.bar{height:3px; border-radius:2px; margin-top:36px; background:#EDF0F4; overflow:hidden}
.bar i{display:block; height:100%; width:62%; border-radius:2px; background:var(--cobalt)}
.note{margin-top:22px; font-size:12.5px; line-height:1.9; color:var(--stone)}

/* ═══════ ⑤ 内页：紧凑页头 ═══════ */

/* 内页通用区块 */
.psec{padding:clamp(72px,8vw,120px) 0}
.psec.alt{background:var(--surface)}
.psec.white{background:#fff}

/* 服务页：条目卡 */
.svc-list{margin-top:clamp(48px,5vw,64px); display:grid; gap:24px}
.svc-card{background:#fff; border:1px solid var(--hair); border-radius:24px; padding:clamp(26px,3vw,36px);
          display:grid; grid-template-columns:88px 1fr; gap:clamp(20px,3vw,36px); align-items:start}
.svc-card .no{font-size:15px; font-weight:700; letter-spacing:.06em; color:var(--cobalt); font-family:Inter,system-ui,sans-serif; padding-top:6px}
.svc-card h3{margin:0; font-size:22px; font-weight:500}
.svc-card p{margin:14px 0 0; font-size:14.5px; line-height:1.9; color:var(--steel)}
.svc-card ul{margin:16px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px}
.svc-card li{font-size:13.5px; color:var(--steel)}
.svc-card li::before{content:""; display:inline-block; width:5px; height:5px; border-radius:50%;
                     background:var(--cobalt); margin-right:9px; vertical-align:middle}

/* 联系页 */
.contact-grid{margin-top:clamp(48px,5vw,64px); display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(24px,3vw,40px)}
.cbox{background:#fff; border:1px solid var(--hair); border-radius:24px; padding:clamp(26px,3vw,36px)}
.cbox label{display:block; font-size:12px; letter-spacing:.08em; color:var(--stone)}
.cbox b{display:block; margin-top:12px; font-size:clamp(19px,2vw,24px); font-weight:500; letter-spacing:.01em}
.cbox span{display:block; margin-top:10px; font-size:13.5px; line-height:1.9; color:var(--steel)}
.cbox.wide{grid-column:1 / -1}
.cbox.wide b{font-size:17px; line-height:1.9; font-weight:400}

/* ═══════ ⑥ 页脚（紧凑版） ═══════ */
footer{background:var(--ink); color:#fff; padding:clamp(40px,4.5vw,56px) 0 24px}
.closing{font-size:clamp(17px,1.5vw,21px); line-height:1.4; font-weight:500; letter-spacing:-.01em}
.closing-sub{margin-top:8px; font-size:13px; line-height:1.7; color:#8FA6BF}
.fbtn{margin-top:18px; display:inline-flex; align-items:center; padding:10px 24px; border-radius:100px;
      background:#fff; color:var(--ink); text-decoration:none; font-size:13px; font-weight:500; letter-spacing:.03em}
.fhr{height:1px; background:#1C2A3E; margin:30px 0 26px}
.fcols{display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:clamp(24px,3vw,40px)}
.fbrand b{font-size:19px; font-weight:800; font-style:italic; letter-spacing:-.03em}
.fbrand .legal{display:block; margin-top:6px; font-size:11.5px; color:#6B8299; letter-spacing:.02em}
.fbrand .contact{margin-top:10px; font-size:12px; line-height:1.9; color:#8FA6BF}
.fcol h4{margin:0 0 10px; font-size:11px; font-weight:600; letter-spacing:.14em; color:#6B8299}
.fcol a{display:block; font-size:12.5px; line-height:2; color:#8FA6BF; text-decoration:none}
.fcol a:hover{color:#fff}
.fbottom{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:28px;
         padding-top:14px; border-top:1px solid #1C2A3E; font-size:11.5px; color:#5A6C80}

/* 页脚收尾行：收束语居左、按钮居右，同一行排布 */
footer .wrap{display:grid; grid-template-columns:1fr auto; column-gap:32px; align-items:center}
footer .closing{grid-row:1; grid-column:1}
footer .fbtn{grid-row:1; grid-column:2; margin-top:0}
footer .closing-sub{grid-row:2; grid-column:1 / -1; margin-top:6px}
footer .fhr, footer .fcols, footer .fbottom{grid-column:1 / -1}

/* ═══════ 响应式 ═══════ */
@media (max-width:1024px){
  .menu{display:none}
  .grid3{grid-template-columns:1fr 1fr}
  .grid4{grid-template-columns:1fr 1fr}
  .fcols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav{height:auto; flex-wrap:wrap; gap:10px; padding-block:11px}
  .logo{flex:1 1 100%} .cta{flex:1 1 100%; justify-content:center}
  .grid3,.grid4,.kv{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .qrow{flex-direction:column; align-items:stretch}
  .qbtn{width:100%}
  .res-top{align-items:flex-start}
  .svc-card{grid-template-columns:1fr; gap:12px}
  .svc-card .no{padding-top:0}
  footer .wrap{display:block}
  footer .fbtn{margin-top:14px}
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none}
  html{scroll-behavior:auto}
}

/* ═══════ 内页页头视频（可选） ═══════
   拖入对应 mp4 后给 .phead 加 has-video 类即生效；没有视频时下面这些规则不影响任何显示。
   手机端 / 省流量只显示 poster 静帧，不加载视频。 */
@media (prefers-reduced-motion: reduce){ .phead .bgv video{display:none} }

/* ═══════ 内页页头「浅色版」：明亮视频 → 白色压暗 + 深色文字 ═══════
   明亮素材上用深色文字（对比度远好于白字），页面观感也更通透 */
.phead.light .headscrim{
  background:linear-gradient(180deg, rgba(255,255,255,.56) 0%, rgba(255,255,255,.40) 55%, rgba(255,255,255,.62) 100%);}
.phead.light, .phead.light h1, .phead.light .lead, .phead.light .eyebrow{color:#132430}
.phead.light .logo b{color:#132430}
.phead.light .logo i{color:#5C7288}
.phead.light .menu a{color:#2A3B4C}
.phead.light .menu a:hover, .phead.light .menu a.on{color:#0A1317; border-bottom-color:rgba(10,19,23,.5)}
.phead.light .cta{background:var(--ink); color:#fff}


/* ═══════ 内页页头：与首页同结构的整屏视频层（同尺寸、导航同位置） ═══════
   内页素材多为明亮 → 用「浅色变体」：白色压暗 + 深色文字（实测 ≥4.5:1） */
.phead{position:relative; height:100dvh; min-height:640px; overflow:hidden; background:var(--ink)}
.phead .bg{position:absolute; inset:0; z-index:0; overflow:hidden}
.phead .layer{position:absolute; inset:0; width:100%; height:100%;
              object-fit:cover; object-position:center 46%; display:block}
.phead .layer.video{display:none}
body.pvid-on .phead .layer.photo{display:none}
body.pvid-on .phead .layer.video{display:block}
.phead .scrim{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,19,23,.42) 0%, rgba(10,19,23,.14) 45%, rgba(10,19,23,.48) 100%);}
.phead .scrim-text{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(66% 46% at 50% 45%,
    rgba(10,19,23,.44) 0%, rgba(10,19,23,.42) 58%, rgba(10,19,23,0) 100%);}
.phead .vig{position:absolute; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(125% 82% at 50% 44%, transparent 44%, rgba(3,6,9,.46) 100%);}
/* 浅色变体（明亮素材）。元素本身是 <div class="stage phead light">，遮罩与文字直接挂在它身上 */
.phead.light .scrim{background:linear-gradient(180deg, rgba(255,255,255,.40) 0%, rgba(255,255,255,.30) 45%, rgba(255,255,255,.52) 100%);}
.phead.light .scrim-text{background:radial-gradient(66% 46% at 50% 45%,
  rgba(255,255,255,.44) 0%, rgba(255,255,255,.42) 58%, rgba(255,255,255,0) 100%);}
.phead.light .vig{background:radial-gradient(125% 82% at 50% 44%, transparent 44%, rgba(255,255,255,.5) 100%);}
.phead.light, .phead.light h1, .phead.light .lead, .phead.light .eyebrow{color:#132430}
.phead.light .sub{color:#2A3B4C; text-shadow:0 1px 18px rgba(255,255,255,.6)}
.phead.light .lead{text-shadow:0 1px 18px rgba(255,255,255,.6)}
.phead.light .nav .logo b{color:#132430}
.phead.light .nav .logo i{color:#5C7288}
.phead.light .menu a{color:#2A3B4C}
.phead.light .menu a:hover, .phead.light .menu a.on{color:#0A1317; border-bottom-color:rgba(10,19,23,.5)}
.phead.light .cta{background:var(--ink); color:#fff}

/* ═══ 语言切换器：下拉（平铺 9 项会把导航栏撑到换行） ═══ */
.navact{display:flex; align-items:center; gap:14px; flex-shrink:0}
.langsw{position:relative; display:inline-flex; align-items:center}
.langsw .langsel{
  appearance:none; -webkit-appearance:none;
  font-family:inherit; font-size:12.5px; letter-spacing:.03em; color:#2A3B4C;
  background:rgba(255,255,255,.55); border:1px solid rgba(10,19,23,.18); border-radius:100px;
  padding:8px 30px 8px 14px; cursor:pointer; line-height:1.2;
}
.langsw .langsel:hover{border-color:rgba(10,19,23,.34)}
.langsw .langsel:focus-visible{outline:2px solid #0064E0; outline-offset:2px}
.langsw .chev{position:absolute; right:11px; width:13px; height:13px; color:#5C7288; pointer-events:none}
/* 深色页头（首页 .stage）里的下拉要反色 */
.stage:not(.phead) .langsw .langsel{background:rgba(10,19,23,.30); color:#D6E0EA; border-color:rgba(255,255,255,.34)}
.stage:not(.phead) .langsw .chev{color:#A8BCCF}
.menu{flex-shrink:0}

/* ═══ 公司全称（LOGO 副标）不换行 ═══
   俄语/法语/意语的导航文字更长（俄语 menu 达 510px），会把 .logo 挤到只剩 218px，
   公司全称被迫折成两行。做法：logo 不参与收缩 + 全称 nowrap，再靠缩小菜单间距与
   下拉内边距把空间省出来；窄屏按档位继续收紧（1024px 以下菜单本就隐藏，无需处理）。 */
.logo{flex-shrink:0}
.logo i{white-space:nowrap; letter-spacing:.01em}
.menu{gap:20px}
.menu a{font-size:13.5px}
.langsw .langsel{padding:7px 24px 7px 11px; font-size:12px}
@media (max-width:1200px){ .menu{gap:16px} .menu a{font-size:13px} .logo i{font-size:10px} }
@media (max-width:1120px){ .menu{gap:13px} .menu a{font-size:12.5px} .logo i{font-size:9.5px; letter-spacing:0} }
/* 宽屏反而更挤：.wrap 的 padding 是 6vw，超过 max-width 后内容区随视口变窄
   （1440px→1027px，1600px→1008px），所以 ≥1500px 要再收一档 */
@media (min-width:1500px){ .menu{gap:14px} .logo i{letter-spacing:0} }
@media (min-width:1700px){ .menu{gap:10px} .menu a{font-size:12.5px} .logo i{font-size:9.5px} }

/* ═══ 跟踪：查询输入框 ═══ */
.qbox input{
  width:100%; height:100%; border:0; background:transparent; outline:none;
  font-family:inherit; font-size:15px; color:#0A1317; letter-spacing:.02em;
}
.qbox input::placeholder{color:#A8B2BE}
.qbox{overflow:hidden}
.qbtn[disabled]{opacity:.6; cursor:default}

/* ═══ 跟踪：结果渲染（里程碑 / 柜号表 / 异常） ═══ */
.sub2{margin:34px 0 14px; font-size:15px; font-weight:600; letter-spacing:.02em; color:#0A1317}
.miles,.ctab{width:100%; border-collapse:collapse; font-size:13.5px}
.miles td,.ctab td,.ctab th{padding:11px 12px; border-bottom:1px solid #EDF0F4; text-align:left}
.ctab th{font-size:11.5px; font-weight:600; letter-spacing:.08em; color:#8595A4; text-transform:uppercase}
.miles .mt{width:170px; color:#8595A4; font-family:Inter,system-ui,sans-serif; white-space:nowrap}
.miles .mn{color:#0A1317}
.miles tr.done .mn{color:#0A1317}
.miles tr.done .mt{color:#5D6C7B}
.miles tr.cur .mn{color:#0064E0; font-weight:600}
.miles tr:not(.done):not(.cur) .mn,.miles tr:not(.done):not(.cur) .mt{color:#A8B2BE}
.warn{display:flex; gap:12px; align-items:flex-start; margin-top:22px; padding:16px 18px;
  border-radius:14px; background:#FFF6E8; border:1px solid #F3DFC0; font-size:13.5px;
  line-height:1.9; color:#7A4E12}

/* ═══ 阿语 RTL 修正 ═══ */
[dir="rtl"] .nav{flex-direction:row-reverse}
[dir="rtl"] .menu{flex-direction:row-reverse}
[dir="rtl"] .navact{flex-direction:row-reverse}
[dir="rtl"] .logo{align-items:flex-end; text-align:right}
[dir="rtl"] .kv{direction:rtl}
[dir="rtl"] .kv div{text-align:right}
[dir="rtl"] .fcol a{text-align:right}
[dir="rtl"] .fbrand{text-align:right}
[dir="rtl"] .res-top{flex-direction:row-reverse}
[dir="rtl"] .qrow{flex-direction:row-reverse}
[dir="rtl"] .svc-card{direction:rtl}
[dir="rtl"] .svc-card h3, [dir="rtl"] .svc-card p{text-align:right}
[dir="rtl"] .cbox{text-align:right}
[dir="rtl"] .ticker-track{direction:rtl}

/* ═══════════════ 移动端优化 ═══════════════
   原来的移动端只有 `@media(max-width:1024px){.menu{display:none}}`——
   手机上导航直接消失，用户只能拖到页脚找链接。这里补汉堡菜单，并收紧字号/间距/控件。 */

/* 汉堡按钮：桌面隐藏 */
.burger{display:none; align-items:center; justify-content:center; flex-direction:column;
  width:44px; height:44px; padding:0; cursor:pointer; flex:0 0 auto;
  background:rgba(255,255,255,.55); border:1px solid rgba(10,19,23,.18); border-radius:12px}
.burger span{display:block; width:18px; height:2px; margin:2px 0; border-radius:2px; background:#132430}
.burger:focus-visible{outline:2px solid #0064E0; outline-offset:2px}
/* 首页是深色页头，按钮反色 */
.stage:not(.phead) .burger{background:rgba(10,19,23,.34); border-color:rgba(255,255,255,.36)}
.stage:not(.phead) .burger span{background:#fff}

@media (max-width:1024px){
  .burger{display:inline-flex}
  /* ⚠️ 必须抬高层级：.hero 也是 z-index:5 且在 DOM 中位于 .nav 之后，
     展开后的菜单面板会落到 hero 区域上被它盖住 —— 实测表现为「菜单展开了但点不动」。 */
  .nav{position:relative; z-index:40}
  /* menu 收进白色浮层面板，默认隐藏，展开时显示 */
  .menu{display:none; position:absolute; top:calc(100% + 8px); right:0; z-index:30;
    flex-direction:column; align-items:stretch; gap:2px; min-width:196px;
    padding:8px; background:#fff; border-radius:16px;
    box-shadow:0 20px 48px -14px rgba(10,25,40,.30), 0 0 0 1px rgba(10,19,23,.06)}
  .nav.menu-open .menu{display:flex}
  .nav .menu a{color:#132430; border-bottom:0; padding:12px 14px; border-radius:10px; font-size:14px}
  .nav .menu a.on{background:#EAF2FD; color:#0064E0; font-weight:600}
  .nav .menu a:active{background:#F1F5FA}
}

@media (max-width:720px){
  /* —— 页头：logo 与操作区同行，控件高度对齐 —— */
  .nav{height:auto; flex-wrap:nowrap; gap:10px; padding-block:10px; align-items:center}
  .logo{flex:1 1 auto; min-width:0}
  .logo b{font-size:20px}
  .logo i{font-size:9.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
  .navact{flex:0 0 auto; gap:8px}
  .navact .cta{flex:0 0 auto; padding:10px 16px; font-size:12.5px; height:44px}
  .langsw .langsel{height:44px; padding:0 24px 0 11px; font-size:12px}

  /* —— 首屏：字号与按钮收紧 —— */
  h1{font-size:29px; line-height:1.32; margin-top:20px}
  .sub{font-size:15px; line-height:1.8; margin-top:18px}
  .eyebrow{font-size:10.5px; letter-spacing:.18em}
  .btns{margin-top:28px; gap:12px}
  .btn{padding:14px 24px; font-size:14px}
  .hero{padding-bottom:24px}

  /* —— 区块间距整体压缩 —— */
  .svc,.lanes,.track{padding:52px 0}
  .psec{padding:52px 0}
  h2{font-size:25px}
  .lead{font-size:14.5px; margin-top:14px}
  .ticker{padding:14px 0}
  .ticker-track span{font-size:13px; padding-right:22px}

  /* —— 跟踪：输入框被 flex 压成 25px 高，强制回正常高度 —— */
  .qrow{flex-direction:column; align-items:stretch; gap:10px}
  .qbox{flex:0 0 auto; height:56px; padding:0 18px}
  .qbox input{font-size:15px}
  .qbtn{flex:0 0 auto; width:100%; height:52px}
  .card{padding:20px 16px; border-radius:20px; margin-top:36px}
  .res{margin-top:30px}
  .res-no{font-size:17px}
  .kv{gap:14px}
  .kv div label{font-size:11.5px}
  .kv div b{font-size:14px; margin-top:6px}
  .miles td,.ctab td,.ctab th{padding:9px 8px; font-size:12.5px}
  .miles .mt{width:118px; font-size:11.5px}

  /* —— 服务 / 航线 / 联系 —— */
  .svc-card{padding:20px 18px; border-radius:18px}
  .svc-card h3{font-size:19px}
  .svc-card p{font-size:14px}
  .svc-card li{font-size:13px}
  .grid4{gap:26px}
  .lane b{font-size:17px}
  .contact-grid{gap:16px}
  .cbox{padding:20px 18px; border-radius:18px}
  .cbox b{font-size:18px}

  /* —— 页脚：原单列堆叠高达 1178px，改双列 + 收紧 —— */
  footer{padding:40px 0 24px}
  .closing{font-size:19px}
  .closing-sub{font-size:13.5px; margin-top:12px}
  .fbtn{margin-top:20px; padding:12px 24px; font-size:13.5px}
  .fhr{margin:26px 0 20px}
  /* 链接栏改 2 列（品牌块跨列），比单列堆叠省约 40% 高度 */
  .fcols{grid-template-columns:1fr 1fr; gap:20px}
  .fbrand{grid-column:1 / -1}
  .fbrand b{font-size:21px}
  .fbrand .legal{font-size:11px; margin-top:8px}
  .fbrand .contact{font-size:12.5px; line-height:1.85; margin-top:12px}
  .fcol h4{margin:0 0 8px; font-size:11px}
  .fcol a{font-size:12.5px; line-height:1.85}
  .fbottom{margin-top:24px; padding-top:14px; font-size:11.5px; flex-direction:column; gap:5px}
}
