/* QN dark palette layer — keeps the captured page geometry and content intact. */
:root {
  --c-primary: #edf4ff;
  --c-accent: #4e91ff;
  --c-accent-light: #7ab8ff;
  --c-text: #edf4ff;
  --c-text-2: #aab8ce;
  --c-text-3: #76859f;
  --c-bg: #090d17;
  --c-surface: #111827;
  --c-surface-2: #182235;
  --c-border: #26334a;
  --gradient-hero: linear-gradient(180deg, #0b1020 0%, #090d17 100%);
  --gradient-section: linear-gradient(180deg, #090d17 0%, #101827 50%, #090d17 100%);
  --gradient-dark: linear-gradient(135deg, #080c15 0%, #17233b 100%);
}

body.qn-theme { background: var(--c-bg); color: var(--c-text); }
body.qn-theme nav,
body.qn-theme nav.nav-compact { background: rgba(9, 13, 23, .92); border-color: rgba(153, 181, 226, .17); }
body.qn-theme nav.nav-compact { box-shadow: 0 2px 20px rgba(0, 0, 0, .3); }
body.qn-theme .nav-cta { color: #edf4ff !important; }
body.qn-theme .nav-cta:hover { color: var(--c-accent-light) !important; background: rgba(78, 145, 255, .12); }
body.qn-theme .nav-logo-icon rect { fill: #4e91ff; }
body.qn-theme .mobile-menu { background: #101827; border-color: var(--c-border); }
body.qn-theme .mobile-menu a { color: var(--c-text-2); border-color: var(--c-border); }
body.qn-theme .mobile-menu a:hover { color: #fff; background: #17233a; }
body.qn-theme .mobile-menu-btn span { background: #edf4ff; }

body.qn-theme .hero { background: linear-gradient(135deg, #0b1020 0%, #101a35 49%, #080d18 100%); }
body.qn-theme .hero-gradient { background: radial-gradient(circle at 73% 33%, rgba(78,145,255,.31), transparent 0 21%), radial-gradient(circle at 66% 52%, rgba(130,100,255,.19), transparent 0 35%), linear-gradient(135deg, #0b1020 0%, #0b1224 50%, #080d18 100%); }
body.qn-theme .hero-grid { opacity: .27; background-image: linear-gradient(rgba(157, 190, 255, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(157, 190, 255, .13) 1px, transparent 1px); }
body.qn-theme .hero-glow { background: radial-gradient(circle, rgba(78,145,255,.17), transparent 67%); }
body.qn-theme .hero-geo { border-color: rgba(118, 180, 255, .27); }
body.qn-theme .hero-geo-2 { border-color: rgba(122, 184, 255, .42); }
body.qn-theme .hero-orb-1 { background: radial-gradient(circle, rgba(104,102,255,.24), rgba(78,145,255,.07) 42%, transparent 70%); }
body.qn-theme .hero-orb-2 { background: radial-gradient(circle, rgba(91,203,255,.18), rgba(78,145,255,.06) 45%, transparent 70%); }
body.qn-theme .hero-badge,
body.qn-theme .hero-tag { color: #b9c7dc; background: rgba(22, 33, 56, .72); border-color: rgba(151, 181, 233, .2); }
body.qn-theme .hero-badge { color: #d9e7ff; }
body.qn-theme .hero-title-line { color: #f6f9ff; }
body.qn-theme .hero-title-highlight { background: linear-gradient(135deg, #79bcff, #9d91ff 100%); -webkit-background-clip: text; background-clip: text; }
body.qn-theme .hero-desc { color: #aab8ce; }
body.qn-theme .hero-tag-num { color: #f3f7ff; }
body.qn-theme .hero-tag-unit { color: #83bdff; }
body.qn-theme .btn-primary { background: linear-gradient(135deg, #4e91ff, #386fdd); box-shadow: 0 12px 25px rgba(48, 112, 233, .28); }
body.qn-theme .btn-primary:hover { background: #5ba0ff; }
body.qn-theme .btn-outline { color: #d5e4fa; background: rgba(13, 22, 39, .52); border-color: rgba(169, 198, 241, .49); }
body.qn-theme .hero-stats-row { background: rgba(14, 22, 38, .76); border-color: var(--c-border); }
body.qn-theme .hero-stat-item:not(:last-child)::after { background: var(--c-border); }
body.qn-theme .hero-stat-num .hs-num { color: #f0f5ff; }
body.qn-theme .hero-stat-num .hs-unit { color: #7db9ff; }
body.qn-theme .hero-stat-label,
body.qn-theme .hero-scroll { color: var(--c-text-2); }

body.qn-theme .trust-bar { background: linear-gradient(180deg, #111a2a, #0d1422); border-color: var(--c-border); }
body.qn-theme .trust-label { color: #8291a9; }
body.qn-theme .trust-logo,
body.qn-theme .cert-badge { color: #d8e5f8; }
body.qn-theme .cert-badge { background: #152033; border-color: #2b3a55; }

body.qn-theme .services-section { background: linear-gradient(180deg, #0b101c, #101827 55%, #0b101c); }
body.qn-theme .services-section::before { background: radial-gradient(circle, rgba(78,145,255,.12), transparent 68%); }
body.qn-theme .section-title { color: #f2f6ff; }
body.qn-theme .section-desc { color: var(--c-text-2); }
body.qn-theme .service-card { background: #131c2c; border-color: rgba(153, 180, 225, .23); box-shadow: 0 12px 29px rgba(0,0,0,.22); }
body.qn-theme .service-card:hover { background: #17243a; border-color: rgba(105, 169, 255, .85); box-shadow: 0 18px 38px rgba(0,0,0,.31); }
body.qn-theme .service-card.featured { background: linear-gradient(180deg, #172641 0%, #121d30 100%); border-color: #4e91ff; }
body.qn-theme .sc-title { color: #f1f6ff; }
body.qn-theme .sc-desc { color: var(--c-text-2); }
body.qn-theme .sc-features li { color: #c5d2e5; }
body.qn-theme .sc-bar { background: #26344d; }
body.qn-theme .sc-bar-label,
body.qn-theme .sc-num { color: #9dafc9; }

body.qn-theme .advantages-section { background: linear-gradient(180deg, #101827 0%, #0b101b 55%, #101827 100%); }
body.qn-theme .advantages-section::before { background: radial-gradient(circle, rgba(78,145,255,.12), transparent 70%); }
body.qn-theme .advantages-section::after { background: radial-gradient(circle, rgba(119,180,255,.08), transparent 69%); }
body.qn-theme .advantage-card { background: #131d2d; border-color: rgba(153, 180, 225, .22); box-shadow: 0 9px 23px rgba(0,0,0,.16); }
body.qn-theme .advantage-card:hover { background: #17253c; border-color: rgba(105,169,255,.76); }
body.qn-theme .advantage-card h3 { color: #f0f5ff; }
body.qn-theme .advantage-card p { color: var(--c-text-2); }

body.qn-theme .stats-banner { background: linear-gradient(135deg, #111d38 0%, #172952 52%, #111b33 100%); }
body.qn-theme .stats-banner::before { opacity: .44; }
body.qn-theme .stats-banner .stat-num { color: #f5f8ff; }
body.qn-theme .stats-banner .stat-label { color: #bdcce2; }

/* ═══════════════ ABOUT SECTION (发展历程/全球布局/业务范围) ═══════════════ */
body.qn-theme .about-section {
  background: linear-gradient(180deg, #070b16 0%, #0c1527 50%, #070b16 100%);
  position: relative;
  overflow: hidden;
  padding: 90px 0;
}

body.qn-theme .about-section::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 900px;
  height: 700px;
  background: radial-gradient(ellipse at center, rgba(0, 242, 254, 0.1), transparent 70%);
  pointer-events: none;
}

/* 清除分块容器的重块黑框与深色背景 */
body.qn-theme .about-timeline,
body.qn-theme .about-locations,
body.qn-theme .about-services {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 56px !important;
}

body.qn-theme .at-title,
body.qn-theme .al-title,
body.qn-theme .as-title,
body.qn-theme .av-title {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px;
  margin-bottom: 28px !important;
  text-align: center;
}

/* 时间线发展历程 */
body.qn-theme .at-dot {
  background: #00f2fe !important;
  box-shadow: 0 0 14px rgba(0, 242, 254, 0.8) !important;
}

body.qn-theme .at-item.at-start .at-dot,
body.qn-theme .at-item.at-end .at-dot {
  box-shadow: 0 0 18px rgba(0, 242, 254, 0.9), 0 0 0 4px rgba(0, 242, 254, 0.25) !important;
}

body.qn-theme .at-year {
  color: #00f2fe !important;
  font-weight: 800 !important;
}

body.qn-theme .at-event {
  color: #9cb0ce !important;
}

body.qn-theme .at-line {
  background: linear-gradient(90deg, #00f2fe, rgba(78, 145, 255, 0.4)) !important;
}

/* 核心数据卡片 */
body.qn-theme .ast-card {
  background: rgba(14, 23, 42, 0.75) !important;
  border: 1px solid rgba(80, 140, 255, 0.2) !important;
  backdrop-filter: blur(12px);
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

body.qn-theme .ast-card.ast-highlight {
  background: linear-gradient(135deg, rgba(0, 242, 254, 0.2) 0%, rgba(78, 145, 255, 0.2) 100%) !important;
  border: 1px solid rgba(0, 242, 254, 0.5) !important;
  box-shadow: 0 12px 35px rgba(0, 242, 254, 0.15) !important;
}

body.qn-theme .ast-num { color: #ffffff !important; }
body.qn-theme .ast-label { color: #00f2fe !important; font-weight: 700 !important; }
body.qn-theme .ast-desc { color: #9cb0ce !important; }

/* 全球布局卡片 */
body.qn-theme .al-card {
  background: rgba(14, 23, 42, 0.75) !important;
  border: 1px solid rgba(80, 140, 255, 0.22) !important;
  backdrop-filter: blur(12px);
  border-radius: 18px !important;
  padding: 26px 18px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

body.qn-theme .al-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 242, 254, 0.5) !important;
  background: rgba(20, 33, 60, 0.9) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 242, 254, 0.15) !important;
}

/* HQ 香港卡片特别显眼标识 */
body.qn-theme .al-card.al-hq {
  background: rgba(16, 28, 54, 0.85) !important;
  border: 1px solid rgba(0, 242, 254, 0.45) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45), 0 0 25px rgba(0, 242, 254, 0.15) !important;
}

body.qn-theme .al-badge {
  background: linear-gradient(135deg, #00f2fe 0%, #4e91ff 100%) !important;
  color: #070c18 !important;
  font-weight: 800 !important;
  border-radius: 100px !important;
  padding: 3px 12px !important;
  box-shadow: 0 4px 12px rgba(0, 242, 254, 0.4) !important;
}

body.qn-theme .al-icon,
body.qn-theme .al-card.al-hq .al-icon {
  color: #00f2fe !important;
}

body.qn-theme .al-city {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}

body.qn-theme .al-role {
  color: #9cb0ce !important;
}

/* 业务范围卡片 */
body.qn-theme .as-card {
  background: rgba(14, 23, 42, 0.65) !important;
  border: 1px solid rgba(80, 140, 255, 0.18) !important;
  backdrop-filter: blur(12px);
  border-radius: 16px !important;
  padding: 22px 16px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

body.qn-theme .as-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 242, 254, 0.45) !important;
  background: rgba(20, 33, 60, 0.85) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), 0 0 18px rgba(0, 242, 254, 0.12) !important;
}

body.qn-theme .as-icon {
  color: #00f2fe !important;
}

body.qn-theme .as-card span {
  color: #eef4ff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* 愿景使命卡片 */
body.qn-theme .about-vision {
  background: rgba(14, 23, 42, 0.8) !important;
  border: 1px solid rgba(0, 242, 254, 0.3) !important;
  backdrop-filter: blur(16px);
  border-radius: 24px !important;
  padding: 40px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4) !important;
}
body.qn-theme .form-group input,
body.qn-theme .form-group select { color: #e8f0fd; background-color: #101827; border-color: #2b3a55; }
body.qn-theme .form-group textarea { color: #e8f0fd; background-color: #101827; border-color: #2b3a55; }
body.qn-theme .form-group input:focus,
body.qn-theme .form-group textarea:focus,
body.qn-theme .form-group select:focus { background-color: #172238; }
body.qn-theme .form-group select {
  color-scheme: dark;
  background: #101827 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23aab8ce' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 20px center;
}
body.qn-theme .form-group select:focus {
  background: #172238 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d7e5fb' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 20px center;
}
body.qn-theme .form-group select option { color: #e8f0fd; background: #101827; }
body.qn-theme .form-group select option:checked {
  color: #fff;
  background: #243a60 linear-gradient(0deg, #243a60 0%, #243a60 100%);
}
body.qn-theme .form-group select option:disabled { color: #71809a; }
body.qn-theme .form-group input::placeholder,
body.qn-theme .form-group textarea::placeholder { color: #71809a; }
body.qn-theme .form-group input:-webkit-autofill,
body.qn-theme .form-group textarea:-webkit-autofill,
body.qn-theme .form-group select:-webkit-autofill {
  -webkit-text-fill-color: #e8f0fd;
  box-shadow: 0 0 0 1000px #101827 inset;
}
body.qn-theme .field-error { color: #ff6b7a !important; }
body.qn-theme .form-message { color: var(--c-text-2); }
body.qn-theme .form-message.success { color: #35d3a0; }
body.qn-theme .form-message.error { color: #ff6b7a; }
body.qn-theme .form-submit-btn { background: linear-gradient(135deg, #4e91ff, #386fdd); }
body.qn-theme .form-submit-btn:hover { background: #5ba0ff; }
body.qn-theme .form-submit-btn:disabled { cursor: not-allowed; opacity: .82; }

body.qn-theme .site-footer { background: #070b14; }
body.qn-theme .footer-main,
body.qn-theme .footer-bottom { border-color: var(--c-border); }
body.qn-theme .fl-name,
body.qn-theme .footer-links h4 { color: #eef4ff; }
body.qn-theme .fl-en,
body.qn-theme .footer-desc,
body.qn-theme .footer-links a,
body.qn-theme .footer-links li,
body.qn-theme .fb-inner { color: #91a0b8; }
body.qn-theme .footer-links a:hover { color: var(--c-accent-light); }
body.qn-theme .floating-qr.fixed .fq-content { background: #141d2d; box-shadow: 0 12px 35px rgba(0,0,0,.5); }
body.qn-theme .fq-title { color: #eff5ff; }
body.qn-theme .fq-desc { color: #92a1b9; }

@media (max-width: 768px) {
  body.qn-theme .hero-stats-row { background: rgba(12, 20, 35, .94); }
  body.qn-theme .trust-bar { background: #101827; }
  body.qn-theme .service-card,
  body.qn-theme .advantage-card { box-shadow: none; }
  body.qn-theme .site-footer {
    overflow-x: hidden;
  }
  body.qn-theme .footer-main {
    padding: 36px 0 28px;
  }
  body.qn-theme .footer-grid {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
  }
  body.qn-theme .footer-brand,
  body.qn-theme .footer-links {
    width: 100%;
    min-width: 0;
    flex: none;
  }
  body.qn-theme .footer-logo {
    align-items: center;
    justify-content: flex-start;
  }
  body.qn-theme .footer-desc {
    max-width: 100%;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transform: none !important;
    font-size: 13px;
    line-height: 1.8;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  body.qn-theme .footer-links h4 {
    margin-bottom: 12px;
    font-size: 17px;
  }
  body.qn-theme .footer-links ul {
    gap: 9px;
  }
  body.qn-theme .footer-links li,
  body.qn-theme .footer-links a,
  body.qn-theme .fb-inner span,
  body.qn-theme .fc {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  body.qn-theme .fb-inner {
    align-items: flex-start;
    text-align: left;
  }
  body.qn-theme .fb-certs {
    flex-wrap: wrap;
    gap: 10px 16px;
  }
}

/* Hero Inner & Top Banner */
body.qn-theme .hero-inner {
  max-width: 1200px;
}

/* ═══════════════ HERO PROMO WRAPPER (1.png 顶部限时福利核心版块) ═══════════════ */
.hero-promo-wrapper {
  margin: 20px 0 44px;
  width: 100%;
}

.hpm-header {
  margin-bottom: 24px;
}

.hpm-badge {
  display: inline-block;
  padding: 6px 20px;
  border-radius: 100px;
  background: linear-gradient(135deg, rgba(255, 59, 107, 0.18), rgba(0, 242, 254, 0.18));
  border: 1px solid rgba(0, 242, 254, 0.4);
  color: #00f2fe;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 10px;
  box-shadow: 0 0 20px rgba(0, 242, 254, 0.2);
}

.hpm-main-title {
  font-size: 32px;
  font-weight: 900;
  color: #ffffff;
  margin-bottom: 8px;
  letter-spacing: -0.5px;
}

.hpm-main-desc {
  font-size: 15px;
  color: #9cb0ce;
}

.hero-banner-card {
  position: relative;
  background: rgba(13, 21, 38, 0.85);
  border: 1px solid rgba(0, 242, 254, 0.45);
  border-radius: 24px;
  padding: 24px;
  backdrop-filter: blur(16px);
  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.65), 0 0 45px rgba(0, 242, 254, 0.25);
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.hero-banner-card:hover {
  border-color: rgba(0, 242, 254, 0.7);
  box-shadow: 0 30px 75px rgba(0, 0, 0, 0.75), 0 0 55px rgba(0, 242, 254, 0.35);
}

.hbc-glow {
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 500px;
  height: 300px;
  background: radial-gradient(ellipse at center, rgba(0, 242, 254, 0.15), transparent 70%);
  pointer-events: none;
}

.hbc-ribbon {
  position: absolute;
  top: 20px;
  right: 20px;
  background: linear-gradient(135deg, #ff3b6b, #ff6b8b);
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 14px;
  border-radius: 100px;
  box-shadow: 0 4px 15px rgba(255, 59, 107, 0.5);
  z-index: 3;
}

.hero-banner-img-wrap {
  position: relative;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.hero-banner-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  transition: transform 0.3s ease;
}

.hero-banner-card:hover .hero-banner-img {
  transform: scale(1.008);
}

.hbc-cta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  flex-wrap: wrap;
}

.hbc-cta-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.hbc-fire-icon {
  font-size: 18px;
}

.hbc-cta-text {
  font-size: 14px;
  font-weight: 700;
  color: #e0ecff;
}

.hbc-cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  border-radius: 100px;
  background: linear-gradient(135deg, #00f2fe 0%, #4e91ff 100%);
  color: #070c18;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0, 242, 254, 0.4);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hbc-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 242, 254, 0.6);
  color: #070c18;
}

/* ═══════════════ HERO POLICIES CONTAINER (1.png 正下方的双精美卡片) ═══════════════ */
.hero-policies-container {
  margin: 32px 0 50px;
  width: 100%;
}

.hp-section-header {
  text-align: center;
  margin-bottom: 24px;
}

.hp-badge {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 100px;
  background: linear-gradient(135deg, rgba(255, 59, 107, 0.15), rgba(78, 145, 255, 0.15));
  border: 1px solid rgba(255, 90, 130, 0.35);
  color: #ff6b8b;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
  box-shadow: 0 0 15px rgba(255, 59, 107, 0.15);
}

.hp-title {
  font-size: 34px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -0.5px;
  margin-top: 6px;
}

.hero-policies-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  text-align: left;
}

/* Policy Image Cards (原图大牌极客风格) */
.policy-img-card {
  position: relative;
  background: rgba(14, 22, 38, 0.8);
  border: 1px solid rgba(80, 140, 255, 0.3);
  border-radius: 20px;
  padding: 24px;
  backdrop-filter: blur(16px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

.policy-img-card:hover {
  transform: translateY(-5px);
  border-color: rgba(120, 180, 255, 0.7);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6), 0 0 35px rgba(78, 145, 255, 0.25);
}

.policy-img-card.direct-card:hover {
  border-color: rgba(0, 242, 254, 0.7);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6), 0 0 35px rgba(0, 242, 254, 0.25);
}

.pic-header {
  margin-bottom: 16px;
  text-align: left;
}

.pic-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
  background: rgba(255, 59, 107, 0.15);
  border: 1px solid rgba(255, 59, 107, 0.3);
  color: #ff6b8b;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 8px;
}

.pic-tag.cyan {
  background: rgba(0, 242, 254, 0.15);
  border-color: rgba(0, 242, 254, 0.3);
  color: #00f2fe;
}

.pic-title {
  font-size: 20px;
  font-weight: 800;
  color: #ffffff;
}

.pic-img-wrapper {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  margin-bottom: 16px;
  background: rgba(7, 11, 20, 0.6);
  height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  cursor: pointer;
}

.pic-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
  border-radius: 8px;
}

.pic-overlay {
  position: absolute;
  inset: 0;
  background: rgba(7, 11, 20, 0.55);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.pic-img-wrapper:hover .pic-overlay {
  opacity: 1;
}

.pic-zoom-btn {
  padding: 8px 16px;
  background: linear-gradient(135deg, #ff3b6b, #e02454);
  color: #ffffff;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(255, 59, 107, 0.4);
}

.pic-zoom-btn.cyan {
  background: linear-gradient(135deg, #00f2fe, #4e91ff);
  color: #090d17;
  box-shadow: 0 4px 15px rgba(0, 242, 254, 0.4);
}

.pic-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}

.pic-tip {
  font-size: 12px;
  color: #a0b8de;
  font-weight: 600;
}

.pic-tip.cyan {
  color: #8ed6ff;
}

.pic-action-btn {
  padding: 7px 16px;
  background: linear-gradient(135deg, #ff3b6b, #e02454);
  color: #ffffff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(255, 59, 107, 0.3);
  transition: transform 0.2s ease;
}

.pic-action-btn.cyan {
  background: linear-gradient(135deg, #00f2fe, #4e91ff);
  color: #090d17;
  box-shadow: 0 4px 15px rgba(0, 242, 254, 0.3);
}

.pic-action-btn:hover {
  transform: translateY(-2px);
}

/* Modal Lightbox */
.policy-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(5, 9, 17, 0.92);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.policy-modal.show {
  opacity: 1;
  pointer-events: auto;
}

.policy-modal-content {
  position: relative;
  max-width: 800px;
  max-height: 88vh;
  width: auto;
  background: rgba(13, 21, 39, 0.95);
  border: 1px solid rgba(80, 140, 255, 0.4);
  border-radius: 20px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(16px);
}

.policy-modal-close {
  position: absolute;
  top: 14px;
  right: 18px;
  font-size: 26px;
  color: #a0b8de;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s ease;
}

.policy-modal-close:hover {
  color: #ffffff;
}

.policy-modal-title {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 14px;
  padding-right: 40px;
  text-align: left;
}

.policy-modal-img-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-height: 76vh;
}

.policy-modal-img-wrap img {
  max-height: 76vh;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}

@media (max-width: 992px) {
  .hero-policies-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════ CONTACT SECTION (居中精美单版块) ═══════════════ */
body.qn-theme .contact-section,
.contact-section {
  padding: 80px 0;
  background: linear-gradient(180deg, #070b16 0%, #0b1428 50%, #080d19 100%);
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(80, 140, 255, 0.15);
}

body.qn-theme .contact-section::before,
.contact-section::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 600px;
  background: radial-gradient(ellipse at center, rgba(0, 242, 254, 0.15), transparent 70%) !important;
  pointer-events: none;
}

/* 消除旧样式中在二维码外部和父容器上叠加的暗色背景框 */
body.qn-theme .contact-wechat,
body.qn-theme .wechat-card,
.contact-wechat,
.wechat-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.contact-card-centered {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
  background: rgba(13, 21, 38, 0.85);
  border: 1px solid rgba(0, 242, 254, 0.35);
  border-radius: 28px;
  padding: 52px 40px;
  backdrop-filter: blur(20px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(0, 242, 254, 0.18);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.contact-card-centered:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 242, 254, 0.6);
}

.contact-card-centered .section-tag {
  display: inline-block;
  padding: 6px 20px;
  border-radius: 100px;
  background: linear-gradient(135deg, rgba(0, 242, 254, 0.15), rgba(78, 145, 255, 0.15));
  border: 1px solid rgba(0, 242, 254, 0.35);
  color: #00f2fe;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
  box-shadow: 0 0 15px rgba(0, 242, 254, 0.15);
}

.contact-card-centered .contact-title {
  font-size: 34px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 12px;
  line-height: 1.35;
}

.contact-card-centered .contact-subtitle {
  color: #00f2fe;
  font-weight: 700;
}

.contact-card-centered .contact-desc {
  font-size: 16px;
  color: #9cb0ce;
  margin-bottom: 32px;
}

.contact-card-centered .contact-wechat {
  display: flex;
  justify-content: center;
}

.contact-card-centered .wc-qr-box {
  width: 220px;
  height: 220px;
  padding: 14px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 25px rgba(0, 242, 254, 0.2);
  margin: 0 auto 16px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.contact-card-centered .wc-qr-box:hover {
  transform: scale(1.03);
}

.contact-card-centered .wc-qr {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
}

.contact-card-centered .wc-title {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 1px;
}
