/* ============================================================
   XULabs PbootCMS 模板样式
   风格：DJI 式极简高级科技风
   ============================================================ */
:root {
  --ink: #111214;
  --gray: #6b6f76;
  --line: #e8e9eb;
  --dark: #0a0b0d;
  --blue: #2b6cff;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",-apple-system,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; }
.container { max-width:1280px; margin:0 auto; padding:0 48px; }
@media (max-width:768px){ .container{ padding:0 24px; } }

/* ===== 导航 ===== */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:64px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 48px;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,0.06);
}
@media (max-width:768px){ .site-nav{ padding:0 24px; } }
.logo { display:flex; align-items:center; gap:10px; font-size:21px; font-weight:800; letter-spacing:-0.5px; }
.logo img { height:30px; width:auto; }
.logo span { color:var(--blue); }
.nav-links { display:flex; gap:38px; list-style:none; }
.nav-links a { font-size:14.5px; color:var(--gray); transition:color .25s; }
.nav-links a:hover, .nav-links li.on a { color:var(--ink); font-weight:600; }
.nav-right { display:flex; align-items:center; gap:18px; }
.nav-right .phone { font-size:13.5px; color:var(--gray); }
.nav-member {
  font-size:13.5px; color:var(--gray); transition:color .25s;
  text-decoration:none;
}
.nav-member:hover { color:var(--ink); }
.nav-member-out {
  font-size:13px; color:var(--gray); transition:color .25s;
  text-decoration:none; padding:4px 10px; border:1px solid var(--line);
  border-radius:4px;
}
.nav-member-out:hover { color:var(--ink); border-color:var(--ink); }
.nav-member-item { display:none; }
.nav-cta {
  font-size:14px; font-weight:600;
  padding:9px 24px; border:1px solid var(--ink);
  border-radius:999px; transition:all .25s;
}
.nav-cta:hover { background:var(--ink); color:#fff; }
/* 旧的移动端隐藏规则已移除，由下方完整移动端菜单样式替代 */

/* ===== Hero 全屏轮播 ===== */
.hero {
  position:relative;
  height:100vh; min-height:640px;
  overflow:hidden;
  background:var(--dark);
  margin-top:64px;
}
.hero-slide {
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity 1s ease, visibility 1s;
}
.hero-slide.active { opacity:1; visibility:visible; }
.hero-slide .bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}
.hero-slide .mask {
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,11,13,0.82) 0%, rgba(10,11,13,0.45) 55%, rgba(10,11,13,0.15) 100%);
}
.slide-dark .mask { background:linear-gradient(90deg, rgba(10,11,13,0.82) 0%, rgba(10,11,13,0.45) 55%, rgba(10,11,13,0.15) 100%); }
.slide-light .mask { background:linear-gradient(90deg, rgba(242,244,247,0.88) 0%, rgba(242,244,247,0.55) 60%, rgba(242,244,247,0.1) 100%); }
#hero-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.hero-slide .slide-text {
  position:relative; z-index:5;
  height:100%;
  display:flex; flex-direction:column; justify-content:center;
  max-width:1280px; margin:0 auto; padding:0 48px;
}
@media (max-width:768px){ .hero-slide .slide-text{ padding:0 24px; } }
.slide-text .kicker {
  font-size:13px; letter-spacing:5px;
  color:var(--gray); margin-bottom:22px;
  font-weight:600;
}
.slide-light .kicker { color:#9aa0a8; }
/* SEO 主标题：视觉隐藏仅供爬虫读取，内容来自后台站点标题 */
.seo-h1 {
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.slide-text .slide-title {
  font-size:clamp(40px,6.5vw,80px);
  font-weight:800; letter-spacing:-2px;
  line-height:1.12;
  color:#fff;
  max-width:760px;
}
.slide-light .slide-title { color:var(--ink); }
.slide-text .slogan {
  margin-top:18px;
  font-size:clamp(18px,2.4vw,26px);
  font-weight:600; letter-spacing:1px;
  color:rgba(255,255,255,0.55);
}
.slide-light .slogan { color:var(--gray); }
.slide-text .cta {
  margin-top:44px;
  display:inline-block;
  font-size:15px; font-weight:600;
  padding:14px 38px;
  border-radius:999px;
  background:#fff; color:var(--dark);
  transition:all .25s; width:fit-content;
}
.slide-text .cta:hover { background:var(--blue); color:#fff; }
.slide-light .cta { background:var(--ink); color:#fff; }
.slide-light .cta:hover { background:var(--blue); }
.hero-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:20;
  width:52px; height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(255,255,255,0.04);
  color:#fff; font-size:20px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
  backdrop-filter:blur(6px);
}
.hero-arrow:hover { background:rgba(255,255,255,0.15); }
.hero-arrow.prev { left:32px; }
.hero-arrow.next { right:32px; }
@media (max-width:768px){ .hero-arrow{ display:none; } }
.hero-dots {
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  z-index:20; display:flex; gap:10px;
}
.hero-dots button {
  width:8px; height:8px; border-radius:50%;
  border:none; cursor:pointer;
  background:rgba(255,255,255,0.3);
  transition:all .3s; padding:0;
}
.hero-dots button.on { background:#fff; width:26px; border-radius:4px; }
.hero-index {
  position:absolute; right:48px; bottom:30px; z-index:20;
  color:rgba(255,255,255,0.5); font-size:13px;
  font-family:ui-monospace,monospace; letter-spacing:2px;
}
@media (max-width:768px){ .hero-index{ right:24px; } }

/* ===== 产品横幅区 ===== */
.products { padding:96px 0; background:#fff; }
.sec-head {
  max-width:1280px; margin:0 auto; padding:0 48px 48px;
  display:flex; align-items:flex-end; justify-content:space-between;
}
@media (max-width:768px){ .sec-head{ padding:0 24px 32px; } }
.sec-head h2 { font-size:clamp(26px,3.4vw,40px); font-weight:800; letter-spacing:-1px; }
.sec-head .more { font-size:14px; color:var(--gray); }
.sec-head .more:hover { color:var(--ink); }
.banner-grid {
  max-width:1280px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
@media (max-width:900px){ .banner-grid{ grid-template-columns:1fr; } }
@media (max-width:768px){ .banner-grid{ padding:0 24px; } }
.banner-card {
  position:relative; height:340px;
  border-radius:6px; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:36px;
  color:#fff;
  transition:transform .4s;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(43,108,255,0.4), transparent 50%),
    radial-gradient(ellipse at 90% 100%, rgba(0,150,255,0.2), transparent 50%),
    rgba(13,16,23,0.55);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 12px 32px rgba(0,0,0,0.18);
}
.banner-card:hover { transform:translateY(-5px); }
.banner-card .visual { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.banner-card .body { position:relative; z-index:2; }
.banner-card .tag {
  font-size:12px; letter-spacing:3px;
  color:rgba(255,255,255,0.6); margin-bottom:10px;
}
.banner-card h3 { font-size:clamp(20px,2.6vw,28px); font-weight:700; letter-spacing:-0.5px; }
.banner-card .slogan { margin-top:8px; color:rgba(255,255,255,0.65); font-size:14px; }
.banner-card .arrow {
  position:absolute; right:30px; bottom:32px; z-index:3;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.4);
  display:flex; align-items:center; justify-content:center;
  font-size:17px;
  transition:all .3s;
}
.banner-card:hover .arrow { background:#fff; color:var(--dark); }

/* ===== 服务模块 ===== */
.services { padding:110px 0; background:#f4f5f7; }
.service-grid {
  max-width:1280px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
@media (max-width:1000px){ .service-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){ .service-grid{ padding:0 24px; } }
.svc-item {
  background:#fff; border-radius:4px;
  padding:34px 26px;
  transition:box-shadow .3s, transform .3s;
}
.svc-item:hover { box-shadow:0 16px 44px rgba(0,0,0,0.07); transform:translateY(-4px); }
.svc-item .num {
  font-size:13px; font-family:ui-monospace,monospace;
  color:var(--blue); letter-spacing:1px;
}
.svc-item h4 { margin-top:16px; font-size:18px; font-weight:700; }
.svc-item p { margin-top:10px; font-size:13.5px; color:var(--gray); }

/* ===== 新闻内容区 ===== */
.stories { padding:110px 0; background:#fff; }
.story-grid {
  max-width:1280px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media (max-width:900px){ .story-grid{ grid-template-columns:1fr; } }
@media (max-width:768px){ .story-grid{ padding:0 24px; } }
.story-card { cursor:pointer; display:block; }
.story-visual {
  height:230px; border-radius:4px; overflow:hidden;
  position:relative;
  background:
    radial-gradient(ellipse at 70% 30%, rgba(43,108,255,0.45), transparent 55%),
    rgba(13,16,23,0.55);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 8px 24px rgba(0,0,0,0.16);
}
.story-visual .img {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform .6s;
}
.story-card:hover .img { transform:scale(1.05); }
.story-card .date {
  margin-top:20px; font-size:12.5px; color:var(--gray);
  font-family:ui-monospace,monospace; letter-spacing:1px;
}
.story-card h4 {
  margin-top:10px; font-size:17.5px; font-weight:700;
  line-height:1.5;
}
.story-card .more {
  margin-top:12px; font-size:13.5px; color:var(--gray);
  display:inline-block;
}
.story-card:hover .more { color:var(--blue); }

/* ===== CTA + Footer ===== */
.cta-band { padding:110px 0; background:var(--dark); color:#fff; text-align:center; }
.cta-band h2 {
  font-size:clamp(28px,4.4vw,52px); font-weight:800; letter-spacing:-1.5px;
  line-height:1.2;
}
.cta-band .sub { margin-top:16px; color:rgba(255,255,255,0.55); font-size:15px; }
.cta-band .btn {
  display:inline-block; margin-top:40px;
  background:#fff; color:var(--dark);
  font-size:15px; font-weight:600;
  padding:14px 40px; border-radius:999px;
  transition:all .25s;
}
.cta-band .btn:hover { background:var(--blue); color:#fff; }
.site-footer { padding:54px 48px; border-top:1px solid var(--line); background:#fff; }
.foot {
  max-width:1280px; margin:0 auto;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px;
  font-size:13.5px; color:var(--gray);
}
.foot .logo { font-size:17px; color:var(--ink); display:flex; align-items:center; gap:8px; }
.foot .logo img { height:24px; }
.foot a { color:var(--gray); }
.foot a:hover { color:var(--ink); }

/* ===== 内页 ===== */
.page-banner {
  margin-top:64px;
  height:300px;
  background:
    radial-gradient(ellipse at 70% 30%, rgba(43,108,255,0.35), transparent 55%),
    var(--dark);
  display:flex; align-items:center;
  color:#fff;
}
.page-banner h1 { font-size:clamp(30px,4.5vw,52px); font-weight:800; letter-spacing:-1.5px; }
.page-banner .crumbs { margin-top:14px; font-size:14px; color:rgba(255,255,255,0.55); }
.page-banner .crumbs a { color:rgba(255,255,255,0.55); }
.page-banner .crumbs a:hover { color:#fff; }
.page-body { padding:70px 0 100px; background:#fff; }
.page-layout {
  max-width:1280px; margin:0 auto; padding:0 48px;
  display:grid; grid-template-columns:260px 1fr; gap:50px;
}
@media (max-width:900px){ .page-layout{ grid-template-columns:1fr; } }
@media (max-width:768px){ .page-layout{ padding:0 24px; } }
.page-side .side-title {
  font-size:16px; font-weight:700; padding-bottom:14px;
  border-bottom:2px solid var(--ink); margin-bottom:8px;
}
.page-side ul { list-style:none; }
.page-side ul li a {
  display:block; padding:13px 4px;
  font-size:14.5px; color:var(--gray);
  border-bottom:1px solid var(--line);
  transition:all .25s;
}
.page-side ul li.on a, .page-side ul li a:hover { color:var(--ink); font-weight:600; padding-left:10px; }
.article h1 { font-size:30px; font-weight:800; letter-spacing:-0.5px; }
.article .meta { margin-top:16px; padding-bottom:22px; border-bottom:1px solid var(--line); color:var(--gray); font-size:13.5px; }
.article .content { margin-top:28px; font-size:15.5px; color:#333; word-break:break-word; overflow-wrap:break-word; word-wrap:break-word; max-width:100%; }
.article .content pre, .article .content code, .article .content table { max-width:100%; overflow-x:auto; }
.article .content img { max-width:100%; border-radius:4px; }
.article .content .content-cover { display:block; width:100%; max-width:100%; border-radius:8px; margin:0 0 22px; box-shadow:0 4px 18px rgba(0,0,0,.08); }
.article .content h2, .article .content h3 { margin:26px 0 12px; }
.article .content p { margin-bottom:16px; }
.list-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:900px){ .list-grid{ grid-template-columns:1fr; } }
.list-card { display:block; }
.list-card .thumb {
  height:200px; border-radius:4px; overflow:hidden; position:relative;
  background:radial-gradient(ellipse at 70% 30%, rgba(43,108,255,0.4), transparent 55%), rgba(13,16,23,0.55);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 8px 24px rgba(0,0,0,0.16);
}
.list-card .thumb .img { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s; }
.list-card:hover .thumb .img { transform:scale(1.05); }
.list-card h3 { margin-top:16px; font-size:17px; font-weight:700; line-height:1.5; }
.list-card .desc { margin-top:8px; font-size:13.5px; color:var(--gray); }
.list-card .date { margin-top:10px; font-size:12.5px; color:var(--gray); font-family:ui-monospace,monospace; }
.pagination { margin-top:50px; display:flex; justify-content:center; gap:8px; }
.pagination a, .pagination span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 10px;
  border:1px solid var(--line); border-radius:4px;
  font-size:14px; color:var(--gray); transition:all .25s;
}
.pagination a:hover, .pagination .current { border-color:var(--ink); color:var(--ink); font-weight:600; }

/* ===== 搜索 ===== */
.search-form { display:flex; gap:10px; max-width:520px; }
.search-form input {
  flex:1; height:48px; padding:0 18px;
  border:1px solid var(--line); border-radius:999px;
  font-size:15px; outline:none;
}
.search-form input:focus { border-color:var(--ink); }
.search-form button {
  height:48px; padding:0 30px;
  border:none; border-radius:999px;
  background:var(--ink); color:#fff; font-size:14px; font-weight:600;
  cursor:pointer; transition:background .25s;
}
.search-form button:hover { background:var(--blue); }

/* 显现动画 */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s, transform .8s; }
.reveal.on { opacity:1; transform:none; }

/* ===== 小屏适配（480px 以下手机） ===== */
@media (max-width:480px){
  .site-nav{ height:56px; padding:0 18px; }
  .nav-links{ top:56px; }
  .logo{ font-size:18px; }
  .logo img{ height:24px; }
  .hero{ min-height:540px; margin-top:56px; }
  .hero-slide .slide-text .kicker{ font-size:11px; letter-spacing:3px; margin-bottom:14px; }
  .hero-slide .slide-title{ font-size:30px; letter-spacing:-1px; }
  .hero-slide .slogan{ font-size:15px; margin-top:12px; }
  .hero-slide .cta{ margin-top:30px; padding:12px 28px; font-size:14px; }
  .hero-dots{ bottom:22px; }
  .banner-card{ height:300px; padding:24px; }
  .banner-card .arrow{ right:22px; bottom:24px; }
  .services, .cta-band{ padding:70px 0; }
  .sec-head{ flex-direction:column; align-items:flex-start; gap:10px; }
  .service-grid, .story-grid, .list-grid{ gap:16px; }
  .story-card .thumb{ height:180px; }
  .list-card .thumb{ height:170px; }
  .page-banner{ height:220px; }
  .page-banner h1{ font-size:28px; }
  .page-body{ padding:50px 0 70px; }
  .article h1{ font-size:24px; }
  .article .content{ word-break:break-word; overflow-wrap:break-word; }
  .site-footer{ padding:40px 18px; }
  .foot{ flex-direction:column; gap:12px; }
  .search-form{ flex-direction:column; gap:8px; }
  .search-form button{ width:100%; }
}

/* ============================================================
   新增组件样式
   ============================================================ */

/* ===== 移动端菜单 ===== */
.mobile-mask{
  position:fixed; inset:0; background:rgba(0,0,0,0.4);
  z-index:99; opacity:0; visibility:hidden; transition:all .3s;
}
.mobile-mask.show{ opacity:1; visibility:visible; }
.nav-toggle{
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:8px;
}
.nav-toggle span{
  width:22px; height:2px; background:var(--ink); transition:all .3s;
}
@media (max-width:900px){
  .nav-toggle{ display:flex; }
  .nav-member-item{ display:block; }
  .nav-right .nav-member, .nav-right .nav-member-out, .nav-right .phone{ display:none; }
  .nav-links{
    display:flex;
    position:fixed; top:64px; right:-100%; width:70%; max-width:280px;
    height:calc(100vh - 64px); background:#fff; flex-direction:column;
    gap:0; padding:20px 0; transition:right .3s; z-index:100;
    box-shadow:-4px 0 20px rgba(0,0,0,0.08);
  }
  .nav-links.open{ right:0; }
  .nav-links li{ width:100%; }
  .nav-links li a{ display:block; padding:14px 24px; font-size:15px; }
  .nav-right .nav-cta{ display:none; }
}

/* ===== 底部政务/友链（与版权同区，紧邻电子营业执照亮照） ===== */
.gov-copy{
  border-top:1px solid var(--line); padding:14px 0 18px;
}
.gov-copy .container{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 14px;
  max-width:1280px; margin:0 auto; padding:4px 48px;
  font-size:12.5px; color:var(--gray); text-align:center;
  overflow-wrap:break-word; word-break:break-all;
}
.gov-copy .gov-emblem img{
  width:22px; height:22px; vertical-align:middle; border-radius:2px;
}
.gov-copy .gov-title{
  font-weight:700; color:var(--ink);
}
.gov-copy .gov-links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px;
}
.gov-copy .gov-links a{
  color:var(--gray); text-decoration:none; transition:color .25s;
  white-space:nowrap;
}
.gov-copy .gov-links a:hover{ color:var(--blue); }
@media (max-width:768px){
  .gov-copy .container{ padding:4px 18px; }
}

/* ===== 底部四列 ===== */
.foot-col h5{
  font-size:14px; font-weight:700; margin-bottom:14px; color:var(--ink);
}
.foot-col ul{ list-style:none; }
.foot-col ul li{
  font-size:13px; color:var(--gray); line-height:2;
}
.foot-col ul li a:hover{ color:var(--blue); }
.foot-desc{
  font-size:13px; color:var(--gray); margin-top:10px; line-height:1.8;
  max-width:260px;
}
.qr-code{ text-align:center; }
.qr-code img{ width:100px; height:100px; border-radius:4px; }
.qr-code p{ font-size:12px; color:var(--gray); margin-top:8px; }
.copyright{
  border-top:1px solid var(--line); padding:18px 0; margin-top:36px;
}
.copyright .container{
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
  font-size:12.5px; color:var(--gray);
  max-width:100%; overflow-wrap:break-word; word-break:break-all;
}
.copyright .copy-line{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px;
  max-width:100%;
}
.copyright .copy-line img{ max-width:120px; height:auto; vertical-align:middle; }
.copyright .beian a{ color:var(--gray); text-decoration:none; }
.copyright .beian a:hover{ color:var(--blue); }
@media (max-width:768px){
  .foot{ flex-direction:column; gap:28px; }
  .foot-col{ width:100%; }
  .copyright .container{ flex-direction:column; text-align:center; }
}

/* ===== 悬浮咨询按钮（桌面端） ===== */
.float-bar{
  position:fixed; right:24px; bottom:80px; z-index:90;
  display:flex; flex-direction:column; gap:10px;
}
.float-item{
  width:52px; height:52px; border-radius:50%;
  background:#fff; border:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  cursor:pointer; transition:all .3s; box-shadow:0 4px 16px rgba(0,0,0,0.06);
  text-decoration:none; color:var(--ink);
}
.float-item:hover{
  background:var(--ink); color:#fff; border-color:var(--ink);
  transform:translateY(-2px);
}
.fi-icon{ font-size:18px; line-height:1; }
.fi-text{ font-size:10px; margin-top:2px; }
@media (max-width:900px){ .float-bar{ display:none; } }

/* ===== 移动端底部导航 ===== */
.mobile-bottom-nav{
  display:none; position:fixed; bottom:0; left:0; right:0;
  background:var(--ink); z-index:90;
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));
}
.mobile-bottom-nav a{
  flex:1; display:flex; flex-direction:column; align-items:center;
  color:rgba(255,255,255,0.7); text-decoration:none; font-size:11px;
  padding:4px 0; transition:color .25s;
}
.mobile-bottom-nav a:hover{ color:#fff; }
.mbn-icon{ font-size:20px; margin-bottom:2px; }
.mbn-text{ font-size:11px; }
@media (max-width:900px){
  .mobile-bottom-nav{ display:flex; }
  body{ padding-bottom:60px; }
}

/* ===== 面包屑 ===== */
.breadcrumb{
  font-size:13px; color:rgba(255,255,255,0.55); margin-top:14px;
}
.breadcrumb a{ color:rgba(255,255,255,0.55); }
.breadcrumb a:hover{ color:#fff; }
.breadcrumb .sep{ margin:0 8px; }

/* ===== 空提示 ===== */
.empty-tip{
  text-align:center; padding:60px 0; color:var(--gray); font-size:15px;
}

/* ===== 分页适配 ===== */
.pagination .current{
  background:var(--ink); color:#fff; border-color:var(--ink);
}

/* ===== 案例网格 ===== */
.case-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media (max-width:900px){ .case-grid{ grid-template-columns:1fr; } }
.case-card{ display:block; }
.case-thumb{
  height:220px; border-radius:4px; overflow:hidden; position:relative;
  background:radial-gradient(ellipse at 70% 30%, rgba(43,108,255,0.4), transparent 55%), rgba(13,16,23,0.55);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 8px 24px rgba(0,0,0,0.16);
}
.case-thumb .img{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform .6s;
}
.case-card:hover .case-thumb .img{ transform:scale(1.05); }
.case-placeholder{
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.4); font-family:ui-monospace,monospace;
  font-size:14px; letter-spacing:2px;
}
.case-info{ padding:18px 4px; }
.case-tag{
  font-size:11px; color:var(--blue); font-family:ui-monospace,monospace;
  letter-spacing:1px; margin-bottom:8px;
}
.case-info h3{ font-size:17px; font-weight:700; line-height:1.5; }
.case-desc{ margin-top:8px; font-size:13.5px; color:var(--gray); }

/* ===== 招聘列表 ===== */
.job-list{ display:flex; flex-direction:column; gap:16px; }
.job-card{
  border:1px solid var(--line); border-radius:4px; padding:24px 28px;
  transition:all .3s;
}
.job-card:hover{
  border-color:var(--ink); box-shadow:0 8px 24px rgba(0,0,0,0.06);
}
.job-head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:10px;
}
.job-head h3{ font-size:18px; font-weight:700; }
.job-date{ font-size:12.5px; color:var(--gray); font-family:ui-monospace,monospace; }
.job-desc{ font-size:14px; color:var(--gray); line-height:1.8; margin-bottom:14px; }
.job-btn{
  display:inline-block; font-size:13.5px; font-weight:600; color:var(--ink);
  transition:color .25s;
}
.job-btn:hover{ color:var(--blue); }

/* ===== 留言布局 ===== */
.msg-layout{
  display:grid; grid-template-columns:1fr 1fr; gap:50px;
}
@media (max-width:900px){ .msg-layout{ grid-template-columns:1fr; } }
.msg-section-title{
  font-size:18px; font-weight:700; margin-bottom:24px;
  padding-bottom:12px; border-bottom:2px solid var(--ink);
}
.msg-item{
  padding:18px 0; border-bottom:1px solid var(--line);
}
.msg-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.msg-avatar{
  width:36px; height:36px; border-radius:50%; background:#f4f5f7;
}
.msg-user{ display:flex; flex-direction:column; }
.msg-name{ font-size:14px; font-weight:600; }
.msg-meta{ font-size:12px; color:var(--gray); }
.msg-content{ font-size:14px; color:#333; line-height:1.8; }
.msg-reply{
  margin-top:12px; padding:14px 18px; background:#f4f5f7; border-radius:4px;
  border-left:3px solid var(--blue);
}
.reply-label{ font-size:12px; font-weight:700; color:var(--blue); margin-bottom:6px; }
.reply-content{ font-size:13.5px; color:#333; line-height:1.7; }
.reply-date{ font-size:11px; color:var(--gray); margin-top:6px; }

/* ===== 表单通用 ===== */
.form-row{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
@media (max-width:600px){ .form-row{ grid-template-columns:1fr; } }
.form-group{ margin-bottom:18px; }
.form-group label{
  display:block; font-size:13px; font-weight:600; color:var(--ink);
  margin-bottom:8px;
}
.form-group input, .form-group textarea, .form-group select{
  width:100%; padding:12px 16px; border:1px solid var(--line);
  border-radius:4px; font-size:14px; outline:none; transition:border-color .25s;
  font-family:inherit; background:#fff;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus{
  border-color:var(--ink);
}
.form-group textarea{ resize:vertical; }
.form-note{ font-size:12px; margin-top:6px; }
.code-group{ display:flex; align-items:flex-end; }
.code-img{
  height:44px; border-radius:4px; cursor:pointer; border:1px solid var(--line);
}
.code-btn{
  height:44px; padding:0 20px; border:1px solid var(--ink); background:#fff;
  border-radius:4px; font-size:13px; font-weight:600; cursor:pointer;
  transition:all .25s; white-space:nowrap;
}
.code-btn:hover{ background:var(--ink); color:#fff; }
.submit-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:46px; padding:0 36px; border:none; border-radius:999px;
  background:var(--ink); color:#fff; font-size:14px; font-weight:600;
  cursor:pointer; transition:background .25s; font-family:inherit;
}
.submit-btn:hover{ background:var(--blue); }
.submit-btn:disabled{ opacity:0.5; cursor:not-allowed; }
.cancel-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:46px; padding:0 28px; border:1px solid var(--line);
  border-radius:999px; background:#fff; color:var(--gray);
  font-size:14px; cursor:pointer; transition:all .25s; text-decoration:none;
}
.cancel-btn:hover{ border-color:var(--ink); color:var(--ink); }
.form-actions{ display:flex; gap:12px; margin-top:24px; }
.form-static{
  padding:12px 0; font-size:14px; color:var(--gray);
}

/* ===== 留言表单 ===== */
.msg-form-wrap{ padding-left:30px; border-left:1px solid var(--line); }
@media (max-width:900px){ .msg-form-wrap{ padding-left:0; border-left:none; padding-top:30px; border-top:1px solid var(--line); } }

/* ===== 标签云 ===== */
.tags-cloud{ display:flex; flex-wrap:wrap; gap:10px; }
.tag-item{
  display:inline-block; padding:8px 18px; border:1px solid var(--line);
  border-radius:999px; font-size:13.5px; color:var(--gray);
  transition:all .25s; text-decoration:none;
}
.tag-item:hover{
  border-color:var(--ink); color:var(--ink); background:#f4f5f7;
}
.tag-item span{ font-size:11px; color:var(--blue); }

/* ===== 搜索结果 ===== */
.search-result{ margin-top:40px; }
.search-tip{ font-size:14px; color:var(--gray); margin-bottom:20px; }
.search-item{
  display:block; padding:20px 0; border-bottom:1px solid var(--line);
  transition:padding .25s;
}
.search-item:hover{ padding-left:8px; }
.search-item h3{ font-size:17px; font-weight:700; margin-bottom:8px; }
.search-item .desc{ font-size:13.5px; color:var(--gray); margin-bottom:8px; }
.search-item .date{ font-size:12px; color:var(--gray); font-family:ui-monospace,monospace; }

/* ===== 内容上下篇 ===== */
.content-nav{
  margin-top:40px; padding-top:24px; border-top:1px solid var(--line);
}
.content-nav p{ font-size:14px; color:var(--gray); margin-bottom:10px; }
.content-nav a:hover{ color:var(--blue); }

/* ===== 会员中心 ===== */
.member-side{
  background:#f4f5f7; border-radius:4px; padding:24px;
}
.member-side-title{
  font-size:16px; font-weight:700; padding-bottom:14px;
  border-bottom:2px solid var(--ink); margin-bottom:8px;
}
.member-menu{ list-style:none; }
.member-menu li a{
  display:block; padding:13px 4px; font-size:14.5px; color:var(--gray);
  border-bottom:1px solid var(--line); transition:all .25s;
}
.member-menu li a:hover{ color:var(--ink); font-weight:600; padding-left:8px; }

/* ===== 登录注册 ===== */
.auth-wrap{
  max-width:460px; margin:0 auto;
}
.auth-form{
  background:#fff; border:1px solid var(--line); border-radius:8px;
  padding:40px 36px;
}
.auth-title{
  font-size:24px; font-weight:800; text-align:center; margin-bottom:30px;
}
.auth-links{
  margin-top:20px; text-align:center; font-size:13px; color:var(--gray);
}
.auth-links a{ color:var(--blue); }
.auth-links span{ margin:0 8px; }

/* ===== 信息表格 ===== */
.info-table{
  width:100%; border-collapse:collapse; margin-top:20px;
}
.info-table td, .info-table th{
  padding:14px 16px; border-bottom:1px solid var(--line);
  font-size:14px; text-align:left;
}
.info-table th{
  background:#f4f5f7; font-weight:700; color:var(--ink);
}
.info-table td:first-child{ color:var(--gray); width:120px; }
.status-ok{ color:#27ae60; font-size:13px; }
.status-wait{ color:#e74c3c; font-size:13px; }
.del-comment{
  color:var(--gray); cursor:pointer; font-size:13px;
  transition:color .25s;
}
.del-comment:hover{ color:#e74c3c; }

/* ===== 头像预览 ===== */
.avatar-preview{
  width:100px; height:100px; border:1px solid var(--line); border-radius:4px;
  overflow:hidden; margin-bottom:10px; background:#f4f5f7;
}
.avatar-preview img{ width:100%; height:100%; object-fit:cover; }
.upload-btn{ height:auto; padding:8px 20px; font-size:13px; }

/* ===== 上传弹窗 ===== */
.upload-modal{
  position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:200;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:all .3s;
}
.upload-modal.show{ opacity:1; visibility:visible; }
.upload-modal-box{
  width:90%; max-width:480px; background:#fff; border-radius:8px;
  overflow:hidden; transform:translateY(20px); transition:transform .3s;
}
.upload-modal.show .upload-modal-box{ transform:translateY(0); }
.upload-modal-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 24px; border-bottom:1px solid var(--line);
}
.upload-modal-head span{ font-size:16px; font-weight:700; }
.upload-close{
  background:none; border:none; font-size:24px; cursor:pointer;
  color:var(--gray); line-height:1;
}
.upload-modal-body{ padding:24px; }
.upload-area{
  border:2px dashed var(--line); border-radius:8px; padding:40px 20px;
  text-align:center; cursor:pointer; transition:all .25s;
}
.upload-area:hover{ border-color:var(--blue); background:#f8faff; }
.upload-icon{
  font-size:36px; color:var(--blue); margin-bottom:10px; line-height:1;
}
.upload-text{ font-size:14px; color:var(--ink); font-weight:600; }
.upload-hint{ font-size:12px; color:var(--gray); margin-top:6px; }
.upload-preview{ margin-top:16px; text-align:center; }
.upload-preview img{ max-width:100%; max-height:200px; border-radius:4px; }
.upload-modal-foot{
  display:flex; justify-content:flex-end; gap:10px;
  padding:16px 24px; border-top:1px solid var(--line);
}

/* 电子营业执照亮照 */
.gs-lz{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--gray); font-size:12.5px; text-decoration:none;
}
.gs-lz img{ vertical-align:middle; margin-right:4px; }
.gs-lz-gslz .gs-lz img{ vertical-align:middle; }
.gs-lz:hover{ color:var(--blue); }

/* 协议同意弹窗 */
.agree-mask{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);}
.agree-mask.show{display:flex;}
.agree-box{max-width:520px;width:90%;background:#fff;border-radius:12px;padding:34px 30px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center;}
.agree-box h3{margin:0 0 10px;font-size:20px;color:#111;}
.agree-box p{margin:0 0 18px;font-size:14px;color:#666;line-height:1.7;}
.agree-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;}
.agree-links a{padding:8px 14px;border:1px solid #d8d8d8;border-radius:8px;color:#1a5cff;text-decoration:none;font-size:14px;transition:.2s;}
.agree-links a:hover{border-color:#1a5cff;background:#f0f5ff;}
.agree-actions{display:flex;gap:12px;justify-content:center;}
.agree-btn-yes{flex:1;padding:12px 0;border:none;border-radius:8px;background:#1a5cff;color:#fff;font-size:15px;cursor:pointer;transition:.2s;}
.agree-btn-yes:hover{background:#0f4ae0;}
.agree-btn-no{flex:1;padding:12px 0;border:1px solid #ccc;border-radius:8px;background:#fff;color:#666;font-size:15px;cursor:pointer;transition:.2s;}
.agree-btn-no:hover{background:#f5f5f5;}
.agree-btn-browse{flex:1;padding:12px 0;border:1px solid #d8d8d8;border-radius:8px;background:#f7f8fa;color:#555;font-size:15px;cursor:pointer;transition:.2s;}
.agree-btn-browse:hover{background:#eceef2;}
.agree-tip{color:#e74c3c;font-size:14px;margin-top:16px;}
@media (max-width:480px){.agree-box{padding:26px 18px;}.agree-box h3{font-size:18px;}.agree-actions{flex-direction:column;}}

.agree-bottom{border-top:1px solid #eee;padding-top:20px;margin-top:6px;}
.agree-lead{font-size:14px;color:#333;line-height:1.7;margin-bottom:14px;text-align:center;}

.agree-auth-tip{font-size:13px;color:#888;text-align:center;margin:14px 0 0;line-height:1.8;}
.agree-auth-tip a{color:#1a5cff;text-decoration:none;}
.agree-auth-tip a:hover{text-decoration:underline;}

/* 隐藏导航栏电话（底部联系方式已有） */
.phone{display:none!important;}

/* ============================================================
   XULabs 果冻 · 毛玻璃 · 科技风 增强层
   ============================================================ */
/* 果冻弹性动画 */
@keyframes jelly{
  0%,100%{transform:scale(1,1)}
  25%{transform:scale(.96,1.04)}
  50%{transform:scale(1.05,.95)}
  75%{transform:scale(.98,1.02)}
}
@keyframes jellyIn{
  0%{transform:scale(.88);opacity:0}
  60%{transform:scale(1.03);opacity:1}
  100%{transform:scale(1);opacity:1}
}

/* 全局背景：渐变 + 科技网格 + 光晕 */
body{
  background-image:
    linear-gradient(rgba(43,108,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,108,255,.045) 1px, transparent 1px),
    radial-gradient(1200px 600px at 82% -8%, rgba(43,108,255,.12), transparent 60%),
    radial-gradient(900px 520px at 8% 18%, rgba(124,58,237,.10), transparent 55%),
    linear-gradient(180deg,#f6f9ff 0%,#eef2ff 100%);
  background-size:44px 44px, 44px 44px, auto, auto, auto;
  background-attachment:fixed;
}

/* 导航：强毛玻璃 + 发光底边 */
.site-nav{
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.55);
  box-shadow:0 8px 32px rgba(31,45,120,.07);
}
.nav-links a{ transition:color .25s,text-shadow .25s; }
.nav-links a:hover, .nav-links li.on a{ color:var(--blue); text-shadow:0 0 14px rgba(43,108,255,.35); }
.nav-cta{
  background:linear-gradient(135deg,#2b6cff,#7c3aed) !important;
  color:#fff !important; border:none !important; border-radius:999px !important;
  box-shadow:0 6px 20px rgba(43,108,255,.35);
}
.nav-cta:hover{ animation:jelly .5s ease; box-shadow:0 10px 28px rgba(43,108,255,.5); }
.nav-toggle span{ background:var(--blue); }

/* 按钮：渐变 + 发光 + 果冻 hover */
.btn, .submit-btn{
  background:linear-gradient(135deg,#2b6cff,#7c3aed) !important;
  color:#fff !important; border:none !important; border-radius:999px !important;
  box-shadow:0 10px 30px rgba(43,108,255,.35);
  transition:transform .25s, box-shadow .25s;
}
.btn:hover, .submit-btn:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 14px 38px rgba(43,108,255,.5); }

/* 卡片：毛玻璃 + 果冻 hover */
.banner-card, .case-card, .story-card, .svc-item, .search-item{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  box-shadow:0 8px 30px rgba(31,45,120,.08);
  transition:transform .3s, box-shadow .3s;
}
.banner-card:hover, .case-card:hover, .story-card:hover, .svc-item:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 46px rgba(31,45,120,.16);
  animation:jelly .6s ease;
}

/* 标题：渐变科技字 */
.sec-head h2, .auth-title{
  background:linear-gradient(135deg,#2b6cff,#7c3aed);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cta-band h2, .page-banner h1{
  background:linear-gradient(135deg,#ffffff,#a5c0ff);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px rgba(90,130,255,.25);
}

/* CTA 深色带：加光晕 */
.cta-band{
  background:radial-gradient(900px 400px at 50% 0%, rgba(43,108,255,.28), transparent 65%), var(--dark) !important;
}

/* 表单：毛玻璃 */
.auth-form{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  box-shadow:0 20px 52px rgba(31,45,120,.13);
}
.auth-wrap{ padding-top:12px; }

/* 协议弹窗：毛玻璃 + 果冻入场 */
.agree-mask{ background:rgba(10,14,40,.5); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.agree-box{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(26px) saturate(180%);
  -webkit-backdrop-filter:blur(26px) saturate(180%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:22px;
  box-shadow:0 24px 80px rgba(31,45,120,.28);
}
.agree-mask.show .agree-box{ animation:jellyIn .55s cubic-bezier(.34,1.56,.64,1); }

/* 页脚：毛玻璃 */
.site-footer{
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-top:1px solid rgba(255,255,255,.65);
}

/* 悬浮/底部导航：毛玻璃 */
.float-bar, .mobile-bottom-nav{
  background:rgba(255,255,255,.7) !important;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 10px 32px rgba(31,45,120,.14);
}

/* 选中文字、滚动条 */
::selection{ background:rgba(43,108,255,.28); }

/* ============================================================
   XULabs 白底政务风覆盖层（政务服务感 · 现代科技 · 毛玻璃/果冻/3D 保留）
   v=20260827w
   ============================================================ */
:root{
  --ink:#1b2330;
  --gray:#5d6775;
  --line:#e4e8ef;
  --dark:#0c1220;
  --blue:#2456c9;
  --red:#c52f24;
}
body{
  color:var(--ink);
  background-image:
    linear-gradient(rgba(36,86,201,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36,86,201,.04) 1px, transparent 1px),
    radial-gradient(1100px 520px at 85% -5%, rgba(36,86,201,.10), transparent 60%),
    radial-gradient(800px 460px at 5% 12%, rgba(197,47,36,.05), transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#f5f7fb 100%);
  background-size:44px 44px, 44px 44px, auto, auto, auto;
  background-attachment:fixed;
}
::selection{ background:rgba(36,86,201,.18); color:#0c1220; }

/* 导航：白玻璃 + sticky（修复顶部横幅被遮挡/空开） */
.site-nav{
  position:sticky !important; top:0;
  background:rgba(255,255,255,.8) !important;
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 32px rgba(12,18,32,.07);
}
.hero{ margin-top:0 !important; }
.nav-links a{ color:#47526a; }
.nav-links a:hover, .nav-links li.on a{ color:var(--red); font-weight:600; }
.nav-toggle span{ background:var(--ink); }

/* 按钮：红色主按钮 + 灰色次按钮，保留果冻 */
.nav-cta{
  background:linear-gradient(135deg,#c52f24,#d94a3d) !important;
  color:#fff !important; border:none !important; border-radius:999px !important;
  box-shadow:0 6px 18px rgba(197,47,36,.28);
}
.nav-cta:hover{ animation:jelly .5s ease; box-shadow:0 10px 26px rgba(197,47,36,.4); }
.btn, .submit-btn{
  background:linear-gradient(135deg,#c52f24,#d94a3d) !important;
  color:#fff !important; border:none !important; border-radius:999px !important;
  box-shadow:0 10px 30px rgba(197,47,36,.28);
  transition:transform .25s, box-shadow .25s;
}
.btn:hover, .submit-btn:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 14px 38px rgba(197,47,36,.45); }
.btn-gray{
  background:#eef1f6 !important; color:#2a3448 !important;
  border:1px solid #dfe4ec !important;
  box-shadow:0 6px 18px rgba(12,18,32,.06);
}
.btn-gray:hover{ background:#e2e7ef !important; transform:translateY(-2px); }

/* 卡片：白色玻璃 + 果冻 hover */
.banner-card,.case-card,.story-card,.svc-item,.search-item,.auth-form,.agree-box{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.7) !important;
  border-radius:18px;
  box-shadow:0 10px 34px rgba(12,18,32,.07) !important;
}
.banner-card:hover,.case-card:hover,.story-card:hover,.svc-item:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 46px rgba(12,18,32,.14) !important;
  animation:jelly .6s ease;
}

/* 标题：深蓝科技渐变 */
.sec-head h2, .auth-title{
  background:linear-gradient(135deg,#122c66,#2456c9);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cta-band h2, .page-banner h1{
  background:linear-gradient(135deg,#ffffff,#bcd0ff);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px rgba(90,130,255,.25);
}

/* CTA 深色带：政务深蓝 + 红光晕 */
.cta-band{
  background:radial-gradient(900px 400px at 50% 0%, rgba(197,47,36,.22), transparent 60%), #0c1220 !important;
}

/* hero：保留深色 3D 科技焦点，按钮转政务红 */
.slide-text .cta{
  background:linear-gradient(135deg,#c52f24,#d94a3d) !important;
  color:#fff !important; border:none !important;
}
.slide-text .cta:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(197,47,36,.45); }
.slide-light{ background:rgba(245,247,251,.92) !important; }
.slide-light .cta{ background:#1b2330 !important; color:#fff !important; }
.slide-light .cta:hover{ background:var(--red) !important; }
.slide-light .kicker{ color:#7d8898 !important; }
.slide-light .slogan{ color:#5d6775 !important; }

/* 页脚：深色政务底 */
.site-footer{
  background:#0c1220 !important;
  color:#c6cede;
  border-top:none !important;
  backdrop-filter:none !important;
}
.site-footer h5{ color:#fff; }
.foot-desc,.copyright,.gov-copy,.gs-lz{ color:#8b95a8 !important; }
.gov-copy{ border-top-color:rgba(255,255,255,.10); }

/* 表单：白玻璃 */
.auth-form{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.75) !important;
  border-radius:20px;
  box-shadow:0 20px 52px rgba(12,18,32,.10) !important;
}
.form-group input,.form-group textarea,.form-group select,input,textarea,select{
  background:#fff !important;
  border-color:#d8dee8 !important;
  color:var(--ink) !important;
}
.form-group input::placeholder,.form-group textarea::placeholder,
input::placeholder,textarea::placeholder{ color:#9aa3b2 !important; }
.form-group label{ color:var(--ink); }
.code-btn{ background:#f1f4f9 !important; border-color:#d8dee8 !important; color:var(--ink) !important; }
.cancel-btn{ color:#5d6775 !important; border-color:#d8dee8 !important; }
.cancel-btn:hover{ color:#1b2330 !important; border-color:#1b2330 !important; }

/* 正文/留言 */
.article .content,.msg-content,.reply-content,.agree-lead{ color:#33405a !important; }
.article .content h1,.article .content h2,.article .content h3,
.article .content h4{ color:#1b2330 !important; }

/* 分页/表格/标签 */
.pagination .current{
  background:linear-gradient(135deg,#c52f24,#d94a3d) !important;
  color:#fff !important; border-color:transparent !important;
}
.pagination a{ color:#5d6775; }
.info-table th{ background:#f2f5fa !important; color:#1b2330 !important; }
.avatar-preview{ background:#fff !important; border-color:#d8dee8 !important; }
.tag-item{ color:#5d6775; }

/* 协议弹窗 */
.agree-box h3{ color:#1b2330 !important; }
.agree-box p,.agree-auth-tip{ color:#5d6775 !important; }
.agree-links a{ border-color:#d8dee8; color:#2456c9; }
.agree-links a:hover{ border-color:#2456c9; background:rgba(36,86,201,.08); }
.agree-btn-no{ background:#f1f4f9 !important; border-color:#d8dee8 !important; color:#1b2330 !important; }
.agree-btn-browse{ background:#fff !important; border-color:#d8dee8 !important; color:#5d6775 !important; }
.agree-tip{ color:#c52f24; }
.agree-mask{ background:rgba(12,18,32,.5); }

/* 上传弹窗 */
.upload-modal-box{ background:#fff !important; color:#1b2330; }
.upload-modal-head{ border-bottom-color:#e4e8ef; }
.upload-modal-head span{ color:#1b2330; }
.upload-area{
  background:#f7f9fc !important;
  border-color:#d8dee8 !important;
  color:#5d6775 !important;
}

/* 悬浮/底部导航 */
.float-item{
  background:rgba(255,255,255,.85) !important;
  border:1px solid #e4e8ef !important;
  color:#1b2330 !important;
  box-shadow:0 6px 22px rgba(12,18,32,.10) !important;
}
.float-item:hover{ background:linear-gradient(135deg,#c52f24,#d94a3d) !important; color:#fff !important; transform:translateY(-2px); }
.mobile-bottom-nav{
  background:rgba(255,255,255,.9) !important;
  border-top:1px solid #e4e8ef;
}
.mobile-bottom-nav a{ color:#47526a; }

/* 移动端菜单：白玻璃 */
@media (max-width:900px){
  .nav-links{ background:rgba(255,255,255,.96) !important; box-shadow:-6px 0 30px rgba(12,18,32,.12); }
  .nav-links a{ color:#33405a !important; }
}

/* 细节 */
.breadcrumb a{ color:#5d6775; }
.empty-tip{ color:#8b94a8; }
.nav-member{ color:#5d6775; }
.nav-member:hover{ color:var(--red); }

/* 顶部横幅：白底通栏，消除深色块缝隙 */
.top-banner{ background:transparent !important; }
/* 侧边横幅：白卡片化，减少"飘"感 */
.side-banner{
  background:#fff;
  border:1px solid #e4e8ef;
  border-radius:14px;
  padding:6px;
  box-shadow:0 12px 34px rgba(12,18,32,.12);
}
.side-banner img{ border-radius:9px; }

/* ===== 无障碍工具条 ===== */
.ux-bar{ position:fixed; left:16px; bottom:110px; z-index:999; display:flex; flex-direction:column; gap:10px; }
.ux-bar-btn{
  width:46px; height:46px; border-radius:50%;
  border:1px solid #e4e8ef; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(12,18,32,.14);
  cursor:pointer; font-size:13px; color:#1b2330; font-weight:600;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
}
.ux-bar-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(12,18,32,.18); }
.ux-panel{
  position:fixed; left:16px; bottom:166px; z-index:999;
  width:242px; background:rgba(255,255,255,.94);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid #e4e8ef; border-radius:16px;
  box-shadow:0 18px 48px rgba(12,18,32,.18);
  padding:18px; display:none;
}
.ux-panel.show{ display:block; animation:jellyIn .4s cubic-bezier(.34,1.56,.64,1); }
.ux-panel h4{ font-size:14px; margin-bottom:12px; color:#1b2330; }
.ux-row{ display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.ux-chip{
  flex:1; min-width:58px; text-align:center;
  padding:7px 0; font-size:12.5px; border-radius:8px;
  border:1px solid #d8dee8; background:#f7f9fc; color:#1b2330; cursor:pointer;
  transition:all .2s;
}
.ux-chip.on{ background:linear-gradient(135deg,#2456c9,#2b6cff); color:#fff; border-color:transparent; }
.ux-chip.red.on{ background:linear-gradient(135deg,#c52f24,#d94a3d); }
#ux-ruler{ position:fixed; left:0; right:0; height:2px; background:rgba(197,47,36,.75); z-index:2147483647; display:none; pointer-events:none; }
body.ux-contrast{ filter:contrast(1.25) saturate(1.15); }
body.ux-pause *{ animation:none !important; transition:none !important; }
body.ux-big .article .content, body.ux-big .msg-content, body.ux-big .reply-content,
body.ux-big .agree-lead, body.ux-big .foot-desc{ font-size:1.18em; line-height:1.9; }
body.ux-big .article .content h1, body.ux-big .article .content h2,
body.ux-big .article .content h3{ font-size:1.22em; }

/* 语言切换 */
.lang-switch{ display:flex; align-items:center; gap:2px; font-size:13px; }
.lang-switch button{
  border:none; background:transparent; cursor:pointer;
  color:#5d6775; padding:4px 8px; border-radius:6px; font-size:13px;
}
.lang-switch button.on{ background:#f0f3f9; color:#c52f24; font-weight:700; }

/* ===== 后台 DIY 横幅位（轮播图管理分组控制，无图自动隐藏） ===== */
.top-banner{display:block;width:100%;text-align:center;line-height:0;background:transparent}
.top-banner img{display:block;width:100%;height:auto}
.mid-banner{display:block;max-width:1200px;margin:30px auto;padding:0 20px;text-align:center;line-height:0}
.mid-banner img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(12,18,32,.10)}
.side-banner{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:998;display:block;width:130px;line-height:0;background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:6px;box-shadow:0 12px 34px rgba(12,18,32,.12)}
.side-banner img{display:block;width:100%;height:auto;border-radius:9px}
@media (max-width:768px){.side-banner{display:none}}

/* ============================================================
   20260827w-2 补充：底部语言切换 / 无障碍增强 / 移动端修复
   ============================================================ */
/* 底部语言切换（无障碍上方） */
.ux-bar .lang-switch{
  flex-direction:column;
  background:rgba(255,255,255,.94);
  border:1px solid #e4e8ef;
  border-radius:999px;
  box-shadow:0 8px 24px rgba(12,18,32,.14);
  padding:5px 7px;
  gap:1px;
}
.ux-bar .lang-switch button{ font-size:12.5px; padding:4px 10px; }
@media (max-width:900px){
  .ux-bar{ bottom:96px; left:12px; }
  .ux-bar .lang-switch{ display:flex; }
}

/* 无障碍：大字号（全站 zoom 放大） */
body.ux-big{ zoom:1.15; -moz-transform:scale(1.15); -moz-transform-origin:top left; }
@media (max-width:900px){ body.ux-big{ zoom:1.08; -moz-transform:scale(1.08); } }
/* 无障碍：高对比度（黑白强化） */
body.ux-contrast{ filter:contrast(1.45) saturate(1.2); }
body.ux-contrast .article .content,
body.ux-contrast .msg-content,
body.ux-contrast .foot-desc,
body.ux-contrast .page-body{ color:#000 !important; }
body.ux-contrast .site-footer{ background:#000 !important; }
/* 无障碍：暂停动画 */
body.ux-pause *{ animation:none !important; transition:none !important; }
/* 无障碍：辅助线跟随鼠标 */
#ux-ruler{ box-shadow:0 0 0 1px rgba(255,255,255,.8); }

/* 移动端：导航/菜单溢出修复 */
@media (max-width:900px){
  .site-nav{ padding:0 14px; }
  .nav-right{ gap:8px; }
  .nav-links{ top:0; height:100vh; padding-top:64px; width:76%; max-width:300px; }
  body.menu-open{ overflow:hidden; }
}


/* ===== 2026-08-27 移动端修复：横向溢出兜底 + 菜单遮罩层级 ===== */
@media (max-width:900px){
  html, body{ overflow-x:hidden; }
  .site-nav{ width:100%; box-sizing:border-box; }
  .mobile-mask{ z-index:90; }
  .nav-links{ z-index:9999; }
}

/* 修复微信内置浏览器菜单被遮罩拦截点击：菜单打开时提升导航层级 */
.site-nav.nav-open{ z-index:8000; }
  .page-banner .banner-h1x{ font-size:28px; }
  .page-body{ padding:50px 0 70px; }
.cta-band h2, .page-banner .banner-h1x{
  background:linear-gradient(135deg,#ffffff,#a5c0ff);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px rgba(90,130,255,.25);
}
.cta-band h2, .page-banner .banner-h1x{
  background:linear-gradient(135deg,#ffffff,#bcd0ff);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 40px rgba(90,130,255,.25);
}

/* seo v5: banner title downgraded from h1 keeps visual */
.page-banner .banner-h1x{ font-size:clamp(30px,4.5vw,52px); font-weight:800; letter-spacing:-1.5px;
  background:linear-gradient(135deg,#ffffff,#a5c0ff); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; }
@media (max-width:768px){ .page-banner .banner-h1x{ font-size:28px; } }
