/* 呼叫机长 · 静态原型 公共样式 v0.1 */
:root{
  --blue:#0B5FFF; --blue-d:#0849C4; --blue-l:#E8F0FF;
  --orange:#FF7A00; --orange-l:#FFF1E6;
  --green:#12A150; --green-l:#E7F7EE;
  --red:#DC2626; --red-l:#FDECEC;
  --gold:#E8A317;
  --bg:#F4F6FA; --card:#FFFFFF; --text:#20242E; --muted:#69707E; --line:#E4E8F0;
  --radius:12px; --shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
  --shadow-lg:0 10px 30px rgba(16,24,40,.14);
}
*{box-sizing:border-box; margin:0; padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--text); font-size:14px; line-height:1.6}
a{color:var(--blue); text-decoration:none}
img{max-width:100%; display:block}
button{font-family:inherit; cursor:pointer}
input,select,textarea{font-family:inherit; font-size:14px}
.container{max-width:1200px; margin:0 auto; padding:0 16px}

/* 演示条 */
.demo-bar{background:#0E1830; color:#CDD6EA; font-size:12px; padding:6px 0; text-align:center}
.demo-bar a{color:#9FC0FF; margin:0 8px}

/* 顶部导航 */
.topnav{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line)}
.topnav .container{display:flex; align-items:center; gap:22px; height:60px}
.logo{display:flex; align-items:center; gap:8px; font-weight:800; font-size:19px; color:var(--text); white-space:nowrap}
.logo .plane{width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,var(--blue),#3EA0FF); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px}
.nav-links{display:flex; gap:2px; flex:1}
.nav-links a{padding:6px 12px; border-radius:8px; color:var(--text); font-weight:500; white-space:nowrap}
.nav-links a:hover{background:var(--blue-l); color:var(--blue)}
.nav-links a.on{color:var(--blue); background:var(--blue-l)}
.nav-right{display:flex; align-items:center; gap:10px; white-space:nowrap}
.city{display:flex; align-items:center; gap:4px; color:var(--muted); cursor:pointer}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; border:none; border-radius:9px; padding:8px 16px; font-weight:600; font-size:14px; background:#E9EDF4; color:var(--text); transition:.15s}
.btn:hover{filter:brightness(.97)}
.btn.primary{background:var(--blue); color:#fff}
.btn.primary:hover{background:var(--blue-d)}
.btn.orange{background:var(--orange); color:#fff}
.btn.orange:hover{filter:brightness(.95)}
.btn.green{background:var(--green); color:#fff}
.btn.ghost{background:transparent; border:1px solid var(--line); color:var(--text)}
.btn.ghost:hover{border-color:var(--blue); color:var(--blue)}
.btn.sm{padding:4px 10px; font-size:12px; border-radius:7px}
.btn:disabled{opacity:.45; cursor:not-allowed}

/* 首页 Banner */
.banner{margin:18px 0; border-radius:16px; overflow:hidden; background:linear-gradient(120deg,#0A3D91 0%,#0B5FFF 45%,#1E9CFF 100%); color:#fff; display:flex; min-height:210px; position:relative}
.banner .txt{padding:34px 40px; flex:1; display:flex; flex-direction:column; justify-content:center; gap:10px}
.banner h1{font-size:26px; letter-spacing:.5px}
.banner p{color:#D5E6FF; max-width:560px}
.banner .acts{display:flex; gap:10px; margin-top:6px}
.banner .acts .btn{background:#fff; color:var(--blue)}
.banner .acts .btn.orange{background:var(--orange); color:#fff}
.banner .wimg{width:280px; display:flex; align-items:center; justify-content:center; font-size:64px; opacity:.9}
.weather-chip{position:absolute; top:16px; right:20px; background:rgba(255,255,255,.16); border-radius:999px; padding:4px 12px; font-size:12px}

/* 场景入口 */
.scene-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.scene-item{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px; display:flex; align-items:center; gap:12px; cursor:pointer; transition:.15s; text-align:left}
.scene-item:hover{border-color:var(--blue); box-shadow:var(--shadow)}
.scene-item .ic{width:38px; height:38px; border-radius:10px; background:var(--blue-l); color:var(--blue); display:flex; align-items:center; justify-content:center; font-size:18px; flex:none}
.scene-item b{font-size:14px}
.scene-item span{color:var(--muted); font-size:12px}

/* 区块 */
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.sec{margin:22px 0}
.sec-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px}
.sec-head h2{font-size:18px}
.sec-head .more{color:var(--muted); font-size:13px}

/* 徽标 */
.badge{display:inline-flex; align-items:center; gap:3px; border-radius:6px; padding:1px 7px; font-size:12px; font-weight:600; line-height:1.7}
.badge.blue{background:var(--blue-l); color:var(--blue)}
.badge.orange{background:var(--orange-l); color:var(--orange)}
.badge.green{background:var(--green-l); color:var(--green)}
.badge.red{background:var(--red-l); color:var(--red)}
.badge.gold{background:#FBF3DC; color:#9A6A00}
.badge.gray{background:#EEF1F6; color:var(--muted)}
.dot{display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:5px}
.dot.on{background:var(--green)}
.dot.off{background:#B6BCC8}

/* 任务卡/通用卡 */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.task-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px; cursor:pointer; transition:.15s; display:flex; flex-direction:column; gap:8px}
.task-card:hover{border-color:var(--blue); box-shadow:var(--shadow-lg); transform:translateY(-2px)}
.trow{display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.trow .tt{font-weight:600; font-size:14.5px; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.muted{color:var(--muted); font-size:12.5px}
.price{color:var(--orange); font-weight:700; font-size:15px}
.price small{font-weight:400; color:var(--muted)}

/* 头像 */
.avatar{width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#7FB2FF,#0B5FFF); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; flex:none}
.avatar.lg{width:64px; height:64px; font-size:22px}

/* 通用表单 */
.field{margin-bottom:14px}
.field label{display:block; font-size:13px; font-weight:600; margin-bottom:5px}
.field .hint{color:var(--muted); font-size:12px; font-weight:400; margin-left:6px}
.input, .field input, .field select, .field textarea{width:100%; border:1px solid var(--line); border-radius:9px; padding:9px 12px; background:#fff; outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,95,255,.1)}
.field textarea{resize:vertical; min-height:80px}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.form-grid{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px}
.foot-note{font-size:12px; color:var(--muted)}

/* 步骤条 */
.wizard{max-width:860px; margin:0 auto}
.wbar-track{height:4px; background:#E4E8F0; border-radius:4px; margin:14px 0 22px; overflow:hidden}
.wbar{height:100%; width:0; background:var(--blue); transition:width .3s}
.wsteps{display:flex; gap:0; counter-reset:w}
.wstep{flex:1; text-align:center; position:relative; color:var(--muted); font-size:13px}
.wstep::before{counter-increment:w; content:counter(w); width:26px; height:26px; border-radius:50%; background:#E4E8F0; color:var(--muted); display:inline-flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:4px}
.wstep.active{color:var(--blue); font-weight:700}
.wstep.active::before{background:var(--blue); color:#fff}
.wstep.done{color:var(--green)}
.wstep.done::before{background:var(--green); color:#fff; content:"✓"}
.wpanel{display:none}
.wpanel.active{display:block; animation:fade .25s}
@keyframes fade{from{opacity:0; transform:translateY(6px)} to{opacity:1}}

/* 场景选择卡（向导里） */
.scene-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.scene-card{border:1.5px solid var(--line); background:#fff; border-radius:var(--radius); padding:18px 12px; text-align:center; cursor:pointer; transition:.15s}
.scene-card .ic{font-size:30px; margin-bottom:8px}
.scene-card b{display:block; font-size:14px}
.scene-card span{color:var(--muted); font-size:12px}
.scene-card.selected{border-color:var(--blue); background:var(--blue-l)}
.scene-card.selected::after{content:"✓ 已选"; display:inline-block; margin-top:6px; color:var(--blue); font-size:12px; font-weight:700}
.opt-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.opt-card{border:1.5px solid var(--line); background:#fff; border-radius:10px; padding:12px; cursor:pointer; text-align:left}
.opt-card b{display:block; font-size:13.5px}
.opt-card span{color:var(--muted); font-size:12px}
.opt-card.selected{border-color:var(--blue); background:var(--blue-l)}

/* 详情通用 */
.page-head{background:#fff; border-bottom:1px solid var(--line)}
.crumb{padding:12px 0; font-size:12.5px; color:var(--muted)}
.detail-wrap{display:grid; grid-template-columns:1fr 360px; gap:18px; margin:18px 0 40px; align-items:start}
.detail-main{display:flex; flex-direction:column; gap:14px}
.detail-side{display:flex; flex-direction:column; gap:14px; position:sticky; top:78px}
.info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px}
.info-cell{background:#F7F9FC; border:1px solid var(--line); border-radius:10px; padding:10px 12px}
.info-cell b{display:block; font-size:13px}
.info-cell span{font-size:12.5px; color:var(--muted)}
.status-pill{display:inline-flex; align-items:center; gap:6px; background:var(--green-l); color:var(--green); border-radius:999px; padding:3px 12px; font-weight:700; font-size:13px}
.status-pill.orange{background:var(--orange-l); color:var(--orange)}
.status-pill.blue{background:var(--blue-l); color:var(--blue)}
.status-pill.red{background:var(--red-l); color:var(--red)}
.status-pill.gray{background:#EEF1F6; color:var(--muted)}

/* 列表行 */
.list-row{display:flex; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; margin-bottom:10px}
.list-row .grow{flex:1; min-width:0}
.list-row .name{font-weight:600}
.stars{color:var(--gold); letter-spacing:1px; font-size:13px}
.tagcloud{display:flex; gap:6px; flex-wrap:wrap}
.tag{background:#F2F5FA; border-radius:6px; padding:1px 8px; font-size:12px; color:#4B5563}

/* 金额卡 */
.money-card{background:linear-gradient(135deg,#0A3D91,#0B5FFF); color:#fff; border-radius:var(--radius); padding:18px}
.money-card .big{font-size:24px; font-weight:800; margin:4px 0}
.money-row{display:flex; justify-content:space-between; font-size:13px; padding:3px 0; color:#DCE9FF}
.money-row b{color:#fff}

/* 弹窗 */
.modal{position:fixed; inset:0; background:rgba(15,23,42,.5); display:none; align-items:flex-start; justify-content:center; z-index:100; padding:60px 16px; overflow:auto}
.modal.open{display:flex}
.modal-box{background:#fff; border-radius:14px; max-width:520px; width:100%; padding:22px; box-shadow:var(--shadow-lg); animation:fadeUp .25s}
@keyframes fadeUp{from{opacity:0; transform:translateY(16px)} to{opacity:1}}
.modal-box h3{font-size:17px; margin-bottom:12px; display:flex; align-items:center; gap:8px}
.modal-ok{width:52px; height:52px; border-radius:50%; background:var(--green-l); color:var(--green); font-size:26px; display:flex; align-items:center; justify-content:center; margin:0 auto 12px}
.modal-acts{display:flex; gap:10px; justify-content:flex-end; margin-top:18px}

/* Toast */
#toasts{position:fixed; top:74px; right:18px; z-index:200; display:flex; flex-direction:column; gap:8px}
.toast{background:#20242E; color:#fff; padding:10px 16px; border-radius:10px; font-size:13px; box-shadow:var(--shadow-lg); animation:fade .2s}

/* 支付 */
.pay-summary{background:#F7F9FC; border:1px solid var(--line); border-radius:10px; padding:14px; margin:10px 0}
.pay-summary .row{display:flex; justify-content:space-between; padding:2px 0; font-size:13.5px}
.pay-summary .total{font-size:16px; font-weight:800; color:var(--orange); border-top:1px dashed var(--line); margin-top:6px; padding-top:6px}
.check-item{display:flex; gap:8px; align-items:flex-start; font-size:13px; color:#374151; padding:10px 0; border-bottom:1px dashed var(--line)}
.check-item:last-child{border-bottom:none}
.ok{color:var(--green); font-weight:700}

/* 合规卡 */
.comply{border-radius:var(--radius); padding:12px 14px; display:flex; gap:10px; align-items:flex-start; font-size:13px}
.comply.green{background:var(--green-l); color:#0C7A3B}
.comply.red{background:var(--red-l); color:#A31515}
.comply.yellow{background:var(--orange-l); color:#B45A00}

/* Tab */
.tabs{display:flex; gap:2px; border-bottom:2px solid var(--line); margin-bottom:14px}
.tab-btn{padding:9px 16px; font-size:14px; font-weight:600; color:var(--muted); background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-2px}
.tab-btn.on{color:var(--blue); border-color:var(--blue)}
.tab-panel{display:none}
.tab-panel.on{display:block}

/* 时间线 */
.timeline{position:relative; padding-left:20px}
.timeline::before{content:""; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background:#E4E8F0}
.tl-node{position:relative; padding:6px 0 14px; color:var(--muted)}
.tl-node::before{content:""; position:absolute; left:-19px; top:10px; width:12px; height:12px; border-radius:50%; background:#fff; border:2px solid #C9D2E0}
.tl-node.on{color:var(--text)}
.tl-node.on::before{border-color:var(--blue); background:var(--blue)}
.tl-node.on b{color:var(--blue)}
.tl-node .when{font-size:12px}

/* 操作条 */
.ops-bar{display:flex; gap:10px; flex-wrap:wrap; padding:14px 0 4px}
.sticky-actions{position:sticky; bottom:0; background:#fff; border-top:1px solid var(--line); padding:10px 0; z-index:40}
.sticky-actions .container{display:flex; gap:10px; align-items:center; justify-content:flex-end}

/* 机长工作台（移动样式，居中展示） */
.phone{max-width:430px; margin:0 auto; background:#F4F6FA; min-height:100vh; position:relative; padding-bottom:70px}
.phone .ph-nav{position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--line); padding:10px 14px; display:flex; align-items:center; gap:10px}
.identity-strip{background:linear-gradient(120deg,#0A3D91,#0B5FFF); color:#fff; padding:12px 14px; display:flex; align-items:center; gap:10px}
.identity-strip .credit{font-size:12px; color:#DCE9FF}
.phone-tabs{display:flex; background:#fff; border-bottom:1px solid var(--line)}
.phone-tabs .pbtn{flex:1; text-align:center; padding:11px 0; font-size:13px; color:var(--muted); background:none; border:none; border-bottom:2px solid transparent; font-weight:600}
.phone-tabs .pbtn.on{color:var(--blue); border-color:var(--blue)}
.panel-pad{padding:12px}
.p-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:10px}
.p-card .pt{font-weight:600; font-size:14px; display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.p-meta{color:var(--muted); font-size:12px; margin:6px 0}
.p-acts{display:flex; gap:8px; margin-top:8px}
.p-acts .btn{flex:1}
.ph-bar{position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:430px; background:#fff; border-top:1px solid var(--line); display:flex; z-index:40}
.ph-bar a{flex:1; text-align:center; padding:9px 0; font-size:11px; color:var(--muted); display:flex; flex-direction:column; gap:2px; align-items:center}
.ph-bar a.on{color:var(--blue)}
.count-badge{background:var(--red); color:#fff; border-radius:999px; font-size:10px; min-width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; padding:0 4px}

/* 演示状态切换器 */
.demo-switch{display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:10px 0}
.demo-switch .chip{border:1px solid var(--line); background:#fff; border-radius:999px; padding:4px 12px; font-size:12.5px; color:var(--muted); cursor:pointer}
.demo-switch .chip.on{background:var(--blue); border-color:var(--blue); color:#fff}

/* 页脚 */
.footer{margin-top:40px; background:#fff; border-top:1px solid var(--line); padding:26px 0; color:var(--muted); font-size:12.5px; text-align:center; line-height:2}
.footer a{margin:0 8px; color:var(--muted)}

/* 响应式 */
@media(max-width:960px){
  .grid3,.scene-grid,.scene-cards{grid-template-columns:repeat(2,1fr)}
  .detail-wrap{grid-template-columns:1fr}
  .detail-side{position:static}
  .banner .wimg{display:none}
  .nav-links{display:none}
}
@media(max-width:560px){
  .grid3,.scene-grid,.scene-cards,.opt-cards{grid-template-columns:1fr 1fr}
  .info-grid,.row2{grid-template-columns:1fr 1fr}
  .banner .txt{padding:22px}
  .banner h1{font-size:20px}
}

/* ---------- 新增：列表页 / 筛选 / 缩略图 / 页面总览 ---------- */
.thumb{width:116px; height:78px; border-radius:9px; flex:none; background:linear-gradient(135deg,#E8F0FF,#CFE0FF); display:flex; align-items:center; justify-content:center; color:#6E9BFF; font-size:26px}
.thumb.map{background:linear-gradient(135deg,#E7F7EE,#CDEFDD); color:#12A150}
.chips-row{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.chipf{border:1px solid var(--line); background:#fff; border-radius:999px; padding:4px 13px; font-size:12.5px; color:var(--muted); cursor:pointer; transition:.15s}
.chipf:hover{border-color:var(--blue); color:var(--blue)}
.chipf.on{background:var(--blue); border-color:var(--blue); color:#fff}
.toolbar{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:12px 16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px}
.toolbar .input{width:auto; min-width:180px}
.sel{appearance:none; border:1px solid var(--line); border-radius:9px; padding:7px 12px; background:#fff; color:var(--text)}
.mini-hero{background:linear-gradient(120deg,#0A3D91,#1E9CFF); color:#fff; border-radius:14px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:14px 0}
.mini-hero h1{font-size:20px}
.mini-hero p{color:#D5E6FF; font-size:13px}
.trust-tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.trust-tile{border:1px solid var(--line); border-radius:10px; padding:12px; text-align:center; background:#F7F9FC}
.trust-tile .ic{font-size:22px}
.trust-tile b{display:block; font-size:13px; margin-top:4px}
.trust-tile span{font-size:11.5px; color:var(--muted)}
.rate-bars{margin-top:8px}
.rate-line{display:flex; align-items:center; gap:8px; font-size:12px; margin:4px 0}
.rate-line .track{flex:1; height:6px; border-radius:4px; background:#EEF1F6; overflow:hidden}
.rate-line .track i{display:block; height:100%; background:var(--gold)}
.owner-actions{position:sticky; bottom:0; background:#fff; border-top:1px solid var(--line); margin-top:14px; padding:12px 0; z-index:40}
.cal{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center}
.cal .d{padding:6px 0; border-radius:6px; font-size:11.5px; color:var(--muted); background:#F7F9FC}
.cal .d.busy{background:#EEF1F6; color:#B6BCC8; text-decoration:line-through}
.cal .d.free{color:var(--blue); background:var(--blue-l); cursor:pointer}
.pg-tbl{width:100%; border-collapse:collapse; font-size:13px}
.pg-tbl th,.pg-tbl td{border:1px solid var(--line); padding:8px 10px; text-align:left}
.pg-tbl th{background:#F7F9FC}
.article-body p{margin:10px 0; color:#374151; font-size:13.5px}
.hub-group{margin:22px 0}
.hub-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.hub-card{border:1px solid var(--line); border-radius:12px; padding:16px; background:#fff; text-decoration:none; color:var(--text); display:block; transition:.15s}
.hub-card:hover{border-color:var(--blue); box-shadow:var(--shadow-lg); transform:translateY(-2px)}
.hub-card .ic{font-size:26px; margin-bottom:6px}
.hub-card b{display:block; font-size:14px}
.hub-card span{font-size:12px; color:var(--muted)}
@media(max-width:960px){.hub-grid{grid-template-columns:repeat(2,1fr)}.trust-tiles{grid-template-columns:1fr}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr 1fr}}

/* ============ 站点展示版补充样式 ============ */
.site-hero{background:linear-gradient(120deg,#081F4D 0%,#0B5FFF 55%,#1E9CFF 100%); color:#fff; padding:76px 0 92px; position:relative; overflow:hidden}
.site-hero .kicker{display:inline-flex; gap:8px; align-items:center; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:4px 14px; font-size:12.5px; margin-bottom:16px}
.site-hero h1{font-size:42px; line-height:1.25; letter-spacing:.5px; max-width:840px}
.site-hero .sub{color:#CFE0FF; font-size:17px; margin:16px 0 26px; max-width:680px}
.site-hero .acts{display:flex; gap:12px; flex-wrap:wrap}
.site-hero .acts .btn{background:#fff; color:var(--blue); padding:11px 22px; font-size:15px}
.site-hero .acts .btn.orange{background:var(--orange); color:#fff}
.site-hero .acts .btn.ghost{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.45)}
.stat-strip{background:#fff; border:1px solid var(--line); border-radius:14px; margin-top:-40px; position:relative; z-index:2; padding:16px 8px; display:grid; grid-template-columns:repeat(4,1fr); box-shadow:var(--shadow-lg)}
.stat-strip .st{text-align:center; padding:6px 8px; border-left:1px solid var(--line)}
.stat-strip .st:first-child{border-left:none}
.stat-strip .st b{font-size:22px; color:var(--blue); display:block}
.stat-strip .st span{font-size:12.5px; color:var(--muted)}
@media(max-width:960px){.stat-strip{grid-template-columns:repeat(2,1fr); gap:6px}.stat-strip .st:nth-child(3){border-left:none}.site-hero h1{font-size:30px}.site-hero{padding:54px 0 96px}}
.prelaunch{display:inline-block; background:#FFE9D6; color:#B45A00; font-size:12px; font-weight:700; border-radius:999px; padding:2px 12px}
.lead-box{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; box-shadow:var(--shadow)}
.lead-box h3{font-size:17px; margin-bottom:4px}
.step-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px}
.step-card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px 20px 18px; position:relative; box-shadow:var(--shadow)}
.step-card .num{position:absolute; top:-15px; left:18px; width:30px; height:30px; border-radius:50%; background:var(--blue); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center}
.step-card h3{font-size:15.5px; margin:8px 0 6px}
.step-card p{font-size:13px; color:var(--muted)}
@media(max-width:760px){.step-row{grid-template-columns:1fr; gap:24px}}
.sec-pad{padding:56px 0}
.sec-gray{background:#EDF1F8}
.sec-title{font-size:26px; margin-bottom:8px}
.sec-sub{color:var(--muted); margin-bottom:26px; max-width:720px}
.dual{display:grid; grid-template-columns:1.05fr 1fr; gap:34px; align-items:center}
@media(max-width:960px){.dual{grid-template-columns:1fr}}
.safe-list{list-style:none}
.safe-list li{display:flex; gap:12px; padding:11px 0; border-bottom:1px dashed var(--line); font-size:14px}
.safe-list li:last-child{border-bottom:none}
.safe-list .ic{font-size:20px; flex:none}
.safe-list b{display:block; font-size:14px}
.safe-list span{color:var(--muted); font-size:12.5px}
.site-footer{background:#0E1830; color:#AEB9CF; padding:44px 0 22px; font-size:13px; margin-top:0}
.site-footer .cols{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:30px; margin-bottom:26px}
.site-footer h4{color:#fff; font-size:14px; margin-bottom:12px}
.site-footer a{color:#AEB9CF; display:block; padding:3px 0}
.site-footer a:hover{color:#fff}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:16px; text-align:center; color:#7C88A3; font-size:12px; line-height:2}
@media(max-width:760px){.site-footer .cols{grid-template-columns:1fr 1fr; gap:20px}}
.note-tip{background:var(--blue-l); color:var(--blue-d); border-radius:10px; padding:10px 14px; font-size:13px; margin:14px 0}
.page-hero{background:linear-gradient(120deg,#0A3D91,#1E9CFF); color:#fff; padding:44px 0; margin-bottom:0}
.page-hero h1{font-size:30px}
.page-hero p{color:#D5E6FF; margin-top:6px; max-width:700px}
.page-hero .prelaunch{background:rgba(255,255,255,.16); color:#fff}
.copy-article p{color:#374151; font-size:14.5px; margin:10px 0; line-height:1.9}
.copy-article h3{font-size:16px; margin-top:20px}
.gallery-card{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden}
.gallery-card .ph{height:120px; background:linear-gradient(135deg,#E8F0FF,#CFE0FF); display:flex; align-items:center; justify-content:center; font-size:34px}
.gallery-card .bd{padding:12px 14px}
.gallery-card .bd b{font-size:14px}
.gallery-card .bd span{font-size:12.5px; color:var(--muted); display:block}

/* ============ 站点 Logo 图片 ============ */
.logo .logo-mark{height:32px; width:auto; flex:none; display:block}
.topnav .logo{line-height:1}
.site-footer .logo .logo-mark{height:28px}

/* ============ 首页 Hero 分栏 + 低空飞行媒体舞台 ============ */
.site-hero .grid{display:grid; grid-template-columns:1.15fr .85fr; gap:46px; align-items:center}
.hero-copy{min-width:0}
.hero-stage{position:relative; border-radius:18px; overflow:hidden;
  background:linear-gradient(165deg,#08245E 0%,#0D4FC4 48%,#1588F6 78%,#35B6FF 100%);
  border:1px solid rgba(255,255,255,.18); box-shadow:0 26px 70px rgba(3,16,54,.5);
  aspect-ratio:4/3.2; min-height:300px}
.hero-stage::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,0) 30%, rgba(0,10,40,.28));
  mix-blend-mode:overlay}
.hero-stage svg.fallback{position:absolute; inset:0; width:100%; height:100%; display:block}
.hero-stage video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none}
.hero-stage.video video{display:block}
.hero-stage.video svg.fallback{display:none}
.stage-badge{position:absolute; top:12px; left:12px; z-index:3;
  background:rgba(8,20,54,.55); border:1px solid rgba(255,255,255,.35);
  color:#DFF0FF; font-size:11px; letter-spacing:1px; padding:4px 12px; border-radius:999px; backdrop-filter:blur(4px)}
.stage-tag{position:absolute; top:12px; right:12px; z-index:3;
  background:rgba(255,255,255,.16); color:#fff; font-size:11px; padding:4px 10px; border-radius:6px}
.stage-caption{position:absolute; left:12px; right:12px; bottom:12px; z-index:3; display:flex; gap:8px; flex-wrap:wrap}
.chipdark{background:rgba(6,18,48,.55); border:1px solid rgba(255,255,255,.22); color:#EAF4FF;
  font-size:11.5px; padding:3px 10px; border-radius:999px; backdrop-filter:blur(4px)}
/* SVG 动态元素 */
.route{fill:none; stroke:#8FCEFF; stroke-width:1.6; stroke-dasharray:4 14; stroke-linecap:round; opacity:.45; animation:dashflow 5s linear infinite}
@keyframes dashflow{to{stroke-dashoffset:-36}}
.star{animation:twinkle 2.6s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.2}50%{opacity:1}}
.navlight{animation:navblink 1.1s steps(2,start) infinite}
@keyframes navblink{50%{opacity:.15}}
.rotor{transform-box:fill-box; transform-origin:center; animation:rotorspin 1.1s linear infinite}
@keyframes rotorspin{to{transform:rotate(360deg)}}
@media(max-width:1000px){
  .site-hero .grid{grid-template-columns:1fr; gap:22px}
  .hero-stage{aspect-ratio:16/9; min-height:220px}
}

/* ============ Hero 全屏背景视频（与天空渐变融合） ============ */
.site-hero.hero-media{position:relative; overflow:hidden; isolation:isolate;
  display:flex; align-items:center; min-height:540px; padding:96px 0 130px}
.site-hero.hero-media .container{position:relative; z-index:3; width:100%}
.hero-inner{max-width:840px}
.hero-bg-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
  opacity:0; transition:opacity 1.1s ease;
  -webkit-mask-image:linear-gradient(100deg, rgba(0,0,0,.22) 0%, #000 46%, #000 100%);
  mask-image:linear-gradient(100deg, rgba(0,0,0,.22) 0%, #000 46%, #000 100%)}
.site-hero.hero-media.video-on .hero-bg-video{opacity:.78}
.hero-tint{position:absolute; inset:0; z-index:1;
  background:linear-gradient(112deg,
    rgba(6,18,50,.92) 0%,
    rgba(9,40,105,.72) 26%,
    rgba(16,88,205,.38) 55%,
    rgba(32,140,240,.16) 100%)}
.hero-fade-b{position:absolute; left:0; right:0; bottom:-1px; height:140px; z-index:2;
  background:linear-gradient(to top, #F4F6FA 6%, rgba(244,246,250,0) 100%)}
@media(max-width:1000px){
  .site-hero.hero-media{min-height:470px; padding:64px 0 120px}
  .hero-bg-video{-webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.25) 0%, #000 42%, #000); mask-image:linear-gradient(180deg, rgba(0,0,0,.25) 0%, #000 42%, #000)}
  .hero-tint{background:linear-gradient(180deg, rgba(6,18,50,.86) 0%, rgba(12,60,150,.55) 60%, rgba(30,120,225,.35) 100%)}
}
@media (prefers-reduced-motion: reduce){
  .site-hero.hero-media .hero-bg-video{opacity:.78}
}

/* ============ 统一线性图标 ============ */
.ic-svg{display:inline-block; width:20px; height:20px; flex:none; vertical-align:-3px;
  stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; fill:none}
.scene-item .ic .ic-svg{width:22px; height:22px; color:var(--blue)}
.scene-card .ic .ic-svg{width:30px; height:30px; color:var(--blue)}
.safe-list .ic .ic-svg{width:22px; height:22px}
.safe-list .ic-svg{width:22px; height:22px}
.thumb .ic-svg{width:32px; height:32px; color:#6E9BFF}
.thumb.map .ic-svg{color:#12A150}
.gallery-card .ph .ic-svg{width:42px; height:42px; color:#1B5BB8}
.ph-bar .ic-svg{width:18px; height:18px; margin:0 auto}
.big-icon{display:flex; align-items:center; justify-content:center}
.big-icon .ic-svg{width:34px; height:34px; color:var(--blue)}
.list-row > span.ic-svg{color:var(--blue)}


