/* 新联航空官网 · 共享样式
   色板沿用公众号图文已定稿的品牌色（新联航空-公众号/版式规范.md 第一节），未新造颜色。
   视觉语言取自品牌里已有的「虚线航迹 + 深色夜空 + 细网格」，全部用 CSS 与 data-URI SVG 实现：
   零外链、零字体 CDN、零图片依赖（服务器在国内，任何外部依赖都可能被限速或被墙）。 */

:root {
  --ink: #1a2b45;
  --blue: #2b5cad;
  --gold: #b8892b;
  --gray: #8a94a6;
  --orange: #b8541f;
  --hair: #e6ebf3;
  --track: #c9d4e4;
  --body: #3f3f3f;
  --wash: #f4f7fb;

  /* 深色层 */
  --night: #0d1728;
  --night-2: #101d33;
  --star: #ffd479;
  --mist: #c9d4e4;

  --r: 16px;
  --r-sm: 12px;
  --sh-1: 0 1px 2px rgba(16, 29, 51, .05), 0 10px 26px -14px rgba(16, 29, 51, .12);
  --sh-2: 0 2px 6px rgba(16, 29, 51, .06), 0 26px 54px -20px rgba(16, 29, 51, .22);

  /* 细网格（48px）与暗光，供深色块复用 */
  --mesh:
    radial-gradient(46% 44% at 16% 18%, rgba(43, 92, 173, .55) 0%, transparent 62%),
    radial-gradient(40% 44% at 84% 10%, rgba(184, 137, 43, .22) 0%, transparent 60%),
    radial-gradient(58% 54% at 74% 92%, rgba(21, 58, 112, .7) 0%, transparent 64%);
  --grid-lines:
    linear-gradient(to right, rgba(201, 212, 228, .08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201, 212, 228, .08) 1px, transparent 1px);

  /* 黄昏场景三层：山脊剪影 / 地平线暖光 / 天空 —— .shot、内页首屏、深色通栏共用一套 */
  --ridge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M0 205 L110 158 L235 196 L352 138 L470 184 L600 126 L724 172 L846 118 L968 168 L1082 132 L1200 178 L1200 300 L0 300 Z' fill='%2316222f'/%3E%3Cpath d='M0 248 L150 214 L300 244 L452 204 L600 238 L752 199 L900 234 L1050 208 L1200 243 L1200 300 L0 300 Z' fill='%23080e18'/%3E%3C/svg%3E");
  --glow:
    radial-gradient(52% 34% at 76% 70%, rgba(230, 140, 60, .5) 0%, rgba(230, 140, 60, 0) 72%),
    radial-gradient(40% 30% at 18% 74%, rgba(43, 92, 173, .38) 0%, rgba(43, 92, 173, 0) 70%);
  --sky: linear-gradient(180deg, #080d18 0%, #0d1728 36%, #1b2740 70%, #2b3a55 100%);
  /* 暖光换个方向，三块并排时不像复制粘贴 */
  --glow-l:
    radial-gradient(52% 34% at 22% 74%, rgba(230, 140, 60, .46) 0%, rgba(230, 140, 60, 0) 72%),
    radial-gradient(40% 30% at 84% 66%, rgba(43, 92, 173, .36) 0%, rgba(43, 92, 173, 0) 70%);
  --glow-c:
    radial-gradient(50% 32% at 50% 80%, rgba(230, 140, 60, .42) 0%, rgba(230, 140, 60, 0) 72%),
    radial-gradient(42% 30% at 24% 58%, rgba(43, 92, 173, .34) 0%, rgba(43, 92, 173, 0) 70%);
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: #fff;
  color: var(--body);
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 16.5px;
  line-height: 1.92;
  letter-spacing: .2px;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; display: block; }

.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.narrow { max-width: 840px; }

/* ---------- 顶部 ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--hair);
  backdrop-filter: saturate(140%) blur(8px);
}

.site-header .wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 72px;
}

.brand { display: flex; align-items: center; gap: 11px; color: var(--ink); }
.brand:hover { text-decoration: none; }
.brand img { width: 34px; height: 34px; }
.brand-name { font-size: 17px; font-weight: 800; letter-spacing: .5px; line-height: 1.2; }
.brand-sub { font-size: 11px; color: var(--gray); letter-spacing: 2px; line-height: 1.2; }

.nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 4px; }
.nav a {
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
  padding: 9px 13px;
  border-radius: 9px;
  transition: background .22s ease, color .22s ease;
}
.nav a:hover { background: var(--wash); text-decoration: none; }
.nav a[aria-current="page"] { color: var(--blue); box-shadow: inset 0 -2px 0 var(--blue); border-radius: 9px 9px 0 0; }

/* ---------- 首屏（内页深色 KV；首页由 css/home.css 自己接管） ---------- */

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 96px 0 84px;
  background-color: var(--night);
  color: #fff;
}

.hero > .wrap { position: relative; z-index: 2; }

/* 内页首屏整块就是那张"图"：山脊压在下沿，暖光从地平线透出来 */
body:not(.home) .hero {
  background-image: var(--ridge), var(--glow), var(--sky);
  background-repeat: no-repeat;
  background-size: 100% 46%, 100% 100%, 100% 100%;
  background-position: bottom, center, center;
}

/* 暗光 + 细网格 */
body:not(.home) .hero::before {
  content: '';
  position: absolute;
  inset: -18% -8%;
  z-index: -2;
  background-image: var(--mesh);
  filter: saturate(115%);
}
body:not(.home) .hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--grid-lines);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(76% 74% at 50% 30%, #000 18%, transparent 80%);
  mask-image: radial-gradient(76% 74% at 50% 30%, #000 18%, transparent 80%);
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--star);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 5px;
}

.hero h1 {
  margin: 0 0 22px;
  color: #fff;
  max-width: 22em;
  font-size: clamp(30px, 4.6vw, 54px);
  line-height: 1.22;
  font-weight: 800;
  letter-spacing: -.3px;
  text-wrap: balance;
}

.hero .lede {
  margin: 0;
  max-width: 44em;
  color: var(--mist);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.95;
  text-indent: 2em;
}
.hero .lede a { color: #9dc0f5; }
.hero .hero-copy { margin: 16px 0 0; max-width: 44em; color: var(--mist); font-size: 15.5px; line-height: 1.95; text-indent: 2em; }

.hero-sub {
  margin: -6px 0 0;
  max-width: 40em;
  color: #dce6f5;
  font-size: clamp(15px, 1.3vw, 19px);
  line-height: 1.7;
}

.hero-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin: 46px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid rgba(201, 212, 228, .22);
  list-style: none;
}
.hero-meta li { font-size: 13.5px; color: var(--gray); line-height: 1.7; }
.hero-meta b {
  display: block;
  color: #fff;
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.5px;
}
.hero-meta b .unit { font-size: .5em; font-weight: 700; color: var(--star); }
.hero-meta--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-meta + .lede { margin-top: 28px; }

.cta {
  display: inline-block;
  margin: 34px 12px 0 0;
  padding: 14px 30px;
  background: #fff;
  color: var(--night-2);
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 18px 40px -18px rgba(255, 255, 255, .45);
  transition: transform .25s ease, box-shadow .25s ease;
}
.cta:hover { background: var(--star); color: #101d33; text-decoration: none; transform: translateY(-2px); }

.cta-ghost {
  display: inline-block;
  margin: 34px 12px 0 0;
  padding: 14px 26px;
  border: 1px solid rgba(201, 212, 228, .4);
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  transition: border-color .25s ease, background .25s ease;
}
.cta-ghost:hover { background: rgba(255, 255, 255, .08); border-color: #fff; text-decoration: none; }

/* ---------- 章节 ---------- */

section { padding: 76px 0; }
section + section { border-top: 1px solid var(--hair); }
.hero + section { border-top: 0; }

/* 内页隔一屏换一次底色，避免整页一条白柱子（深色通栏 .band 不参与） */
body:not(.home) main > section:nth-of-type(even):not(.band) {
  background: linear-gradient(180deg, #fbfcfe 0%, var(--wash) 46%, #fbfcfe 100%);
}

.section-head { margin: 0 0 34px; max-width: 46em; }
.section-head .kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 3.4px;
}
.section-head .kicker::after {
  content: '';
  flex: 0 0 46px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.section-head h2, .section-head h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 3.1vw, 36px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -.2px;
  text-wrap: balance;
}
.section-head .sub { margin: 12px 0 0; color: var(--gray); font-size: 15.5px; line-height: 1.85; }

h3 { color: var(--ink); font-size: 20px; font-weight: 800; margin: 34px 0 12px; letter-spacing: -.1px; }
h4 { color: var(--ink); font-size: 17px; font-weight: 800; margin: 0 0 10px; letter-spacing: -.1px; }
p { margin: 0 0 14px; }

/* ---------- 卡片与深色图位 ---------- */

.grid { display: grid; gap: 22px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
  position: relative;
  border: 1px solid var(--hair);
  border-radius: var(--r);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--sh-1);
  transition: transform .34s cubic-bezier(.22, .61, .36, 1), box-shadow .34s ease, border-color .34s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--sh-2); border-color: var(--track); }
.card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  height: 3px; width: 0;
  z-index: 1;
  background: linear-gradient(90deg, var(--blue), var(--gold));
  transition: width .55s cubic-bezier(.22, .61, .36, 1);
}
.card:hover::before { width: 100%; }
.card:has(.shot)::before { display: none; }
.card .card-body { padding: 24px 26px 26px; }
.card h3 { margin-top: 0; }
.card h4 { margin-top: 0; }
.card .tag {
  display: inline-block;
  margin: 0 0 12px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--wash);
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.8px;
}
.card p:last-child { margin-bottom: 0; }
.card ul { margin: 0; padding-left: 20px; }
.card li { margin: 5px 0; font-size: 15.5px; }
.card a { font-weight: 700; }
.card .card-body > a { display: block; margin-top: 10px; }
.card--center .card-body { text-align: center; }
.card--center img { margin-left: auto; margin-right: auto; }
.card--center .qr { width: 148px; max-width: 100%; border-radius: var(--r-sm); box-shadow: var(--sh-1); }
section[id] { scroll-margin-top: 88px; }
.contact-card { display: flex; align-items: flex-start; gap: 24px; }
.contact-card .contact-text { flex: 1 1 auto; min-width: 0; }
.qr-wechat { flex: 0 0 182px; width: 182px; border-radius: var(--r-sm); box-shadow: var(--sh-1); }
@media (max-width: 560px) {
  .contact-card { flex-direction: column; }
  .qr-wechat { flex: 0 0 auto; width: 200px; max-width: 70%; }
}
.tel { font-size: 19px; font-weight: 800; color: var(--ink); letter-spacing: .3px; margin: 0 0 6px; }
.tel a { color: var(--ink); }
.tel a:hover { color: var(--blue); text-decoration: none; }
.mail { font-size: 17px; font-weight: 700; color: var(--ink); }

/* 图位：等比深色块，只留天空与地平线暖光——山脊归首屏与深色通栏用，
   免得每块都印同一座山。日后换成实拍图，把 <div class="shot …"> 换成 <img class="shot" src="…">。 */
.shot {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #0b1220;
  background-image: var(--glow), var(--sky);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  isolation: isolate;
}
/* 实拍进来后直接写 <img class="shot" src="assets/photos/xxx.jpg" alt="…">，等比裁切铺满 */
img.shot { display: block; width: 100%; object-fit: cover; }
.shot::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--grid-lines);
  background-size: 34px 34px;
  opacity: .55;
  -webkit-mask-image: linear-gradient(180deg, #000 8%, transparent 58%);
  mask-image: linear-gradient(180deg, #000 8%, transparent 58%);
}
.shot::after {
  content: '';
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  /* 主体放大并落到地平线上，不再飘在中间 */
  background-position: 50% 92%;
  background-size: min(82%, 620px);
  opacity: .9;
  /* 四角与地平线以下压暗，中间暖光才出得来 */
  box-shadow: inset 0 -70px 80px -50px rgba(3, 7, 14, .8),
              inset 0 0 90px -30px rgba(3, 7, 14, .55);
}
.shot.tall { aspect-ratio: 4 / 3; }
.shot.wide { aspect-ratio: 21 / 6.4; }
.shot.framed {
  border-radius: var(--r);
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .7);
  outline: 1px solid rgba(201, 212, 228, .16);
}

.shot.m-drone { background-image: var(--glow-l), var(--sky); }
.shot.m-drone::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20520%20240%27%3E%3Cpath%20d%3D%27M40%20214%20L480%20214%27%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.3%27%20stroke-width%3D%271.4%27%2F%3E%3Cellipse%20cx%3D%27260%27%20cy%3D%27217%27%20rx%3D%2792%27%20ry%3D%276%27%20fill%3D%27%23c9d4e4%27%20fill-opacity%3D%27.1%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23e8eef7%27%20stroke-opacity%3D%27.85%27%20stroke-width%3D%272.2%27%3E%3Crect%20x%3D%27232%27%20y%3D%27148%27%20width%3D%2756%27%20height%3D%2728%27%20rx%3D%2711%27%2F%3E%3Cpath%20d%3D%27M232%20158%20L172%20136%20M288%20158%20L348%20136%20M232%20172%20L182%20192%20M288%20172%20L338%20192%27%2F%3E%3Cpath%20d%3D%27M242%20176%20L238%20202%20M278%20176%20L282%20202%20M234%20202%20L286%20202%27%2F%3E%3Cellipse%20cx%3D%27172%27%20cy%3D%27135%27%20rx%3D%2736%27%20ry%3D%275%27%2F%3E%3Cellipse%20cx%3D%27348%27%20cy%3D%27135%27%20rx%3D%2736%27%20ry%3D%275%27%2F%3E%3Cellipse%20cx%3D%27182%27%20cy%3D%27193%27%20rx%3D%2730%27%20ry%3D%274%27%2F%3E%3Cellipse%20cx%3D%27338%27%20cy%3D%27193%27%20rx%3D%2730%27%20ry%3D%274%27%2F%3E%3Cpath%20d%3D%27M288%20148%20L298%20124%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27260%27%20cy%3D%27182%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23e8eef7%27%20stroke-opacity%3D%27.85%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%27172%27%20cy%3D%27135%27%20r%3D%273.4%27%20fill%3D%27%23ffd479%27%2F%3E%3Ccircle%20cx%3D%27348%27%20cy%3D%27135%27%20r%3D%273.4%27%20fill%3D%27%237fa8e8%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.42%27%20stroke-width%3D%271.4%27%20stroke-dasharray%3D%276%209%27%3E%3Cpath%20d%3D%27M60%2096%20C%20180%2070%20340%20112%20470%2074%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.shot.m-field::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20520%20240%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.72%27%20stroke-width%3D%272%27%3E%3Cpath%20d%3D%27M120%20216%20L120%20176%20Q%20172%20146%20224%20176%20L224%20216%20Z%27%2F%3E%3Cpath%20d%3D%27M150%20216%20L150%20188%20M194%20216%20L194%20188%27%2F%3E%3Cpath%20d%3D%27M300%20216%20L300%20188%20Q%20338%20166%20376%20188%20L376%20216%20Z%27%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%27M0%20216%20L520%20216%27%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.45%27%20stroke-width%3D%271.6%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.35%27%20stroke-width%3D%271.4%27%3E%3Cpath%20d%3D%27M20%20238%20L140%20216%20M500%20238%20L392%20216%27%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.72%27%20stroke-width%3D%271.8%27%3E%3Cpath%20d%3D%27M446%20216%20L446%20162%27%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%27M446%20162%20q%2018%205%2030%20-3%27%20fill%3D%27none%27%20stroke%3D%27%23ffd479%27%20stroke-opacity%3D%27.85%27%20stroke-width%3D%272.4%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.6%27%20stroke-width%3D%271.8%27%3E%3Cpath%20d%3D%27M62%20216%20L62%20152%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2762%27%20cy%3D%27148%27%20r%3D%274%27%20fill%3D%27%23ffd479%27%2F%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c9d4e4%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%271.5%27%20stroke-dasharray%3D%277%2010%27%3E%3Cpath%20d%3D%27M18%20104%20C%20130%2082%20250%20122%20500%2086%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
/* ---------- 基地实景：可横向切换的胶片轨 ---------- */
.film { margin-top: 30px; position: relative; }
.film-track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0;
  scrollbar-width: none;
  cursor: grab;
}
.film-track::-webkit-scrollbar { display: none; }
.film-track.is-drag { cursor: grabbing; scroll-snap-type: none; }
.film-track figure { flex: 0 0 100%; min-width: 100%; scroll-snap-align: start; margin: 0; }
.film-track img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--r);
  outline: 1px solid rgba(201, 212, 228, .16);
  background-color: #0b1220;
  -webkit-user-drag: none;
  user-select: none;
}
.film-track figcaption {
  margin-top: 12px;
  font-size: 14.5px;
  line-height: 1.7;
  letter-spacing: .02em;
  color: rgba(232, 238, 247, .74);
}
.film-btns { position: absolute; inset: 0; pointer-events: none; }
.film-btn {
  position: absolute; top: calc(50% - 36px); transform: translateY(-50%);
  pointer-events: auto;
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(201, 212, 228, .3);
  background: rgba(11, 18, 32, .55);
  color: #e8eef7;
  font-size: 17px; line-height: 1;
  cursor: pointer;
  transition: background .22s ease, transform .22s ease, opacity .22s ease;
}
.film-btn[data-film="prev"] { left: 0; }
.film-btn[data-film="next"] { right: 0; }
.film-btn:hover:not([disabled]) { background: rgba(201, 212, 228, .2); transform: translateY(-50%) scale(1.08); }
.film-btn[disabled] { opacity: .3; cursor: default; }
@media (max-width: 720px) {
  .film-btn { width: 40px; height: 40px; font-size: 15px; top: calc(50% - 30px); }
}

/* 深色通栏：整块黄昏底 + 磨砂玻璃卡 */
.band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--night);
  background-image: var(--ridge), var(--glow), var(--sky);
  background-repeat: no-repeat;
  background-size: 100% 52%, 100% 100%, 100% 100%;
  background-position: bottom, center, center;
  color: #fff;
  padding: 96px 0;
}
.band::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--grid-lines);
  background-size: 64px 64px;
  opacity: .55;
  -webkit-mask-image: radial-gradient(70% 80% at 30% 40%, #000, transparent 78%);
  mask-image: radial-gradient(70% 80% at 30% 40%, #000, transparent 78%);
}
.band h2 {
  margin: 0 0 16px;
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -.2px;
  color: #fff;
  text-wrap: balance;
}
.band .kicker { color: var(--star); }
.band p { color: var(--mist); }
.band .section-head { max-width: 34em; }
.band .section-head .sub { color: rgba(201, 212, 228, .82); }
.band .grid { gap: 20px; }
.band .card {
  border-color: rgba(201, 212, 228, .22);
  background: rgba(255, 255, 255, .07);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
  box-shadow: 0 22px 50px -34px rgba(0, 0, 0, .8);
}
.band .card:hover { border-color: rgba(255, 212, 121, .4); background: rgba(255, 255, 255, .1); }
.band .card .card-body { color: var(--mist); }
.band .card h4 { color: #fff; }
.band .card .tag { background: rgba(255, 212, 121, .14); color: var(--star); }
.band .card a { color: #9dc0f5; }
.band .card .note { color: rgba(201, 212, 228, .68); }
.band .summary {
  border-top-color: rgba(201, 212, 228, .22);
  border-bottom-color: rgba(201, 212, 228, .22);
  color: #fff;
}


/* 证书卡片：编号当主角， issuer 与有效期当副信息 */
.cert {
  border: 1px solid var(--hair);
  border-left: 3px solid var(--gold);
  border-radius: var(--r-sm);
  padding: 22px 24px;
  background: #fff;
  box-shadow: var(--sh-1);
  transition: transform .34s cubic-bezier(.22, .61, .36, 1), box-shadow .34s ease;
}
.cert:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
.cert .kind { display: block; color: var(--gray); font-size: 12px; font-weight: 800; letter-spacing: 2px; }
.cert .no { display: block; color: var(--ink); font-size: 21px; font-weight: 800; letter-spacing: .2px; margin: 6px 0 8px; line-height: 1.35; }
.cert .meta { display: block; color: var(--gray); font-size: 13.5px; line-height: 1.8; margin: 0; }
.cert ul { margin: 10px 0 0; padding-left: 20px; color: var(--body); font-size: 15px; }
ul.notice { margin: 0; padding-left: 22px; color: var(--body); }
ul.notice li { margin: 0 0 10px; }
ul.notice b { color: var(--ink); }
.cert li { margin: 4px 0; }

.strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
  padding: 18px 22px;
  background: var(--wash);
  border-top: 1px solid var(--hair);
  font-size: 14px;
  color: var(--gray);
}
.strip b { color: var(--ink); }

/* 顺带做的业务：一句带过，不与主线并列成卡 */
.sideline {
  margin-top: 26px;
  padding: 20px 24px;
  background: var(--wash);
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  font-size: 14.5px;
  color: var(--gray);
}
.sideline p { margin: 0 0 8px; }
.sideline p:last-child { margin-bottom: 0; }
.sideline .label { display: block; margin-bottom: 10px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: 1.6px; }
.sideline b { color: var(--ink); }
.sideline a { font-weight: 700; white-space: nowrap; }

/* ---------- 步骤 ---------- */

.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 14px; margin: 0; padding: 0; list-style: none; }
.steps li {
  position: relative;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--hair);
  padding: 14px 0 16px;
}
.steps .n { display: block; color: var(--gold); font-size: 11.5px; font-weight: 800; letter-spacing: 2px; }
.steps .t { display: block; color: var(--ink); font-size: 16.5px; font-weight: 800; margin-top: 3px; }
.steps .d { display: block; color: var(--gray); font-size: 13.5px; margin-top: 5px; line-height: 1.7; }

/* ---------- 表格 ---------- */

.table-wrap {
  border: 1px solid var(--hair);
  border-radius: var(--r-sm);
  overflow: hidden;
  box-shadow: var(--sh-1);
  background: #fff;
  margin: 4px 0 20px;
}
table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
caption { text-align: left; color: var(--gray); font-size: 13.5px; padding: 0 0 10px; }
th, td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--hair); vertical-align: top; }
thead th {
  background: var(--wash);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.2px;
  border-bottom: 1px solid var(--track);
  white-space: nowrap;
}
tbody th { color: var(--ink); font-weight: 700; }
tbody tr { transition: background .2s ease; }
tbody tr:nth-child(even) { background: #fbfcfe; }
tbody tr:hover { background: var(--wash); }
tbody tr:last-child > * { border-bottom: 0; }
table.plain { border: 0; box-shadow: none; }

/* ---------- 空态样式（站内已不使用，保留以防回退） ---------- */

.pending {
  border: 1px dashed var(--track);
  border-left: 3px solid var(--gold);
  border-radius: var(--r-sm);
  padding: 16px 20px;
  margin: 0 0 18px;
  background: #fffdf7;
  font-size: 15px;
}
.pending > .label { display: block; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: 2px; margin-bottom: 4px; }
.pending p:last-child { margin-bottom: 0; }
.pending ul { margin: 6px 0 0; padding-left: 20px; }

.blank { color: var(--gray); font-style: normal; }

/* 说明块：协议与政策页的适用范围提示，正常外观，不做成待办样式 */
.callout {
  border: 1px solid var(--hair);
  border-left: 3px solid var(--blue);
  border-radius: var(--r-sm);
  padding: 18px 22px;
  margin: 0 0 26px;
  background: var(--wash);
  font-size: 14.5px;
  line-height: 1.85;
  color: var(--body);
}
.callout > .label { display: block; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: 1.6px; margin-bottom: 6px; }
.callout p:last-child { margin-bottom: 0; }

/* ---------- 结论块与注 ---------- */

.summary {
  position: relative;
  padding: 22px 2px 22px 22px;
  border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: -.1px;
  margin: 34px 0 0;
}
.summary::before {
  content: '';
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 3px;
  background: linear-gradient(180deg, var(--blue), var(--gold));
  border-radius: 3px;
}

.note { color: var(--gray); font-size: 13.5px; line-height: 1.8; }
.note-orange { color: var(--orange); font-size: 14.5px; }

/* ---------- 术语表 ---------- */

dl.faq { margin: 0; }
dl.faq dt { color: var(--ink); font-weight: 800; font-size: 17px; margin: 26px 0 8px; }
dl.faq dd { margin: 0; }

/* ---------- 页脚（全站深色收口） ---------- */

.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 0;
  background-color: var(--night);
  background-image: var(--mesh);
  background-size: cover;
  padding: 62px 0 30px;
  font-size: 14px;
  color: rgba(201, 212, 228, .78);
}
.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--grid-lines);
  background-size: 56px 56px;
  opacity: .4;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 60%);
  mask-image: linear-gradient(180deg, transparent, #000 60%);
}
.site-footer .cols { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 34px; }
.site-footer h4 { margin: 0 0 14px; color: #fff; font-size: 15px; letter-spacing: .3px; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 7px 0; line-height: 1.75; }
.site-footer a { color: rgba(201, 212, 228, .9); }
.site-footer a:hover { color: var(--star); }
.legal-line {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(201, 212, 228, .18);
  line-height: 2;
  font-size: 13px;
}
.legal-line a { color: #7fa8e8; }

/* ---------- 草稿提示（站内已撤下，规则保留） ---------- */

.draft-banner { background: var(--ink); color: #fff; font-size: 13px; letter-spacing: .4px; padding: 9px 0; }
.draft-banner .wrap { display: flex; flex-wrap: wrap; gap: 6px 18px; }

/* 卡内的两列清单：不再为每条开一个框 */
.card ul.plain { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 34px; }
.card ul.plain li { margin: 9px 0; break-inside: avoid; font-size: 15.5px; line-height: 1.75; }
.card ul.plain li::before {
  content: '';
  display: inline-block;
  width: 5px; height: 5px;
  margin-right: 11px;
  border-radius: 50%;
  background: var(--blue);
  vertical-align: middle;
}

/* ---------- 响应式 ---------- */

@media (max-width: 980px) {
  section { padding: 56px 0; }
  .hero { padding: 72px 0 64px; }
  .hero-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer .cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .card ul.plain { columns: 1; }
  body { font-size: 15.5px; line-height: 1.85; }
  .wrap { padding: 0 18px; }
  .site-header .wrap { flex-wrap: wrap; min-height: 0; padding-top: 12px; padding-bottom: 10px; }
  .nav { margin-left: 0; width: 100%; gap: 2px; }
  .nav a { font-size: 13px; padding: 8px 7px; }
  section { padding: 44px 0; }
  .hero { padding: 56px 0 52px; }
  .hero-meta { margin-top: 32px; padding-top: 20px; grid-template-columns: 1fr; gap: 16px; }
  .band { padding: 52px 0; }
  .section-head { margin-bottom: 24px; }
  .grid { gap: 16px; }
  .grid.cols-2, .grid.cols-3, .grid.cols-4 { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .card .card-body { padding: 20px 20px 22px; }
  .shot { aspect-ratio: 3 / 2; }
  .summary { font-size: 16.5px; padding-left: 18px; }
  thead { display: none; }
  table, tbody, tr, td, th { display: block; width: 100%; }
  /* caption 若仍是 table-caption，表格外层匿名框会按内容收缩，窄屏会竖成一列 */
  caption { display: block; width: auto; padding: 0 16px 14px; line-height: 1.7; }
  .table-wrap { border: 0; box-shadow: none; overflow: visible; background: none; }
  tbody tr {
    border: 1px solid var(--hair);
    border-radius: var(--r-sm);
    box-shadow: var(--sh-1);
    background: #fff;
    margin-bottom: 14px;
    padding: 4px 0;
    overflow: hidden;
  }
  tbody tr:nth-child(even) { background: #fff; }
  td, tbody th { border-bottom: 1px solid var(--hair); padding: 12px 16px; }
  tr > *:last-child { border-bottom: 0; }
  .site-footer .cols { grid-template-columns: 1fr; gap: 26px; }
}

/* ---------- 动效偏好 ---------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
