:root{
  --blue:#0a4d8c;
  --blue-dark:#073a6b;
  --blue-light:#e8f1fa;
  --accent:#f5a623;
  --text:#222;
  --text-soft:#555;
  --line:#e2e8f0;
  --bg-soft:#f6f9fc;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif;
  font-size:19px;
  line-height:1.9;
  color:var(--text);
  background:#fff;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* ===== 顶部条 ===== */
.topbar{background:var(--blue-dark);color:#cfe0f2;font-size:15px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:42px;flex-wrap:wrap;}
.topbar a{color:#cfe0f2;}
.topbar a:hover{color:#fff;}

/* ===== 头部 ===== */
header{background:#fff;border-bottom:3px solid var(--blue);position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 0;flex-wrap:wrap;gap:16px;}
.logo{display:flex;align-items:center;gap:16px;}
.logo-mark{
  width:80px;height:80px;border-radius:12px;
  object-fit:contain;flex-shrink:0;
}
.logo-text{text-align:left;}
.logo-text h1{font-size:30px;color:var(--blue);letter-spacing:1px;line-height:1.2;}
.logo-text p{font-size:12px;color:var(--text-soft);letter-spacing:3px;margin-top:2px;}
.header-contact{text-align:right;}
.header-contact .label{font-size:15px;color:var(--text-soft);}
.header-contact .phone{font-size:28px;font-weight:800;color:var(--accent);}

/* ===== 导航 ===== */
nav{background:var(--blue);z-index:49;}
.nav-inner{display:flex;flex-wrap:wrap;}
nav a{
  color:#fff;font-size:19px;font-weight:600;
  padding:16px 26px;transition:background .2s;
}
nav a:hover,nav a.active{background:var(--blue-dark);}

/* 手机端汉堡菜单 */
.nav-toggle{display:none;}
.nav-toggle-label{display:none;cursor:pointer;padding:8px;}
.nav-toggle-label .bar{display:block;width:24px;height:3px;background:var(--blue);margin:5px 0;border-radius:2px;transition:all .3s;}

@media(max-width:768px){
  .nav-toggle-label{display:block;flex-shrink:0;}
  header nav{background:var(--blue);}
  .nav-inner{display:none;flex-direction:column;width:100%;}
  header:has(.nav-toggle:checked) nav .nav-inner{display:flex;}
  .nav-toggle:checked + .nav-toggle-label .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
  .nav-toggle:checked + .nav-toggle-label .bar:nth-child(2){opacity:0;}
  .nav-toggle:checked + .nav-toggle-label .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
  nav a{font-size:17px;padding:14px 24px;border-top:1px solid rgba(255,255,255,.15);}
}

/* ===== 横幅 ===== */
.hero{
  background:linear-gradient(120deg,rgba(7,58,107,.92),rgba(24,119,201,.82)),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><rect width="20" height="20" fill="%23134a80"/><path d="M0 20L20 0" stroke="%231a5a94" stroke-width="1"/></svg>');
  color:#fff;padding:82px 0;text-align:center;
}
.hero h2{font-size:46px;font-weight:800;letter-spacing:2px;margin-bottom:20px;line-height:1.4;}
.hero p{font-size:22px;color:#dbe9f8;max-width:820px;margin:0 auto 34px;line-height:1.9;}
.hero .btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:15px 40px;border-radius:8px;
  font-size:20px;font-weight:700;transition:transform .15s,box-shadow .2s;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff;}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25);}

/* ===== 页面小横幅（内页） ===== */
.page-hero{
  background:linear-gradient(120deg,rgba(7,58,107,.92),rgba(24,119,201,.82)),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><rect width="20" height="20" fill="%23134a80"/><path d="M0 20L20 0" stroke="%231a5a94" stroke-width="1"/></svg>');
  color:#fff;padding:56px 0;text-align:center;
}
.page-hero h2{font-size:40px;font-weight:800;letter-spacing:2px;margin-bottom:10px;}
.page-hero p{font-size:19px;color:#dbe9f8;}
.crumb{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:16px;color:var(--text-soft);}
.crumb .container{padding-top:10px;padding-bottom:10px;}
.crumb a{color:var(--blue);}

/* ===== 数据条 ===== */
.stats{background:var(--bg-soft);padding:44px 0;}
.stats-grid{display:flex;flex-wrap:wrap;justify-content:space-around;gap:24px;text-align:center;}
.stat .num{font-size:44px;font-weight:800;color:var(--blue);}
.stat .num span{font-size:24px;}
.stat .desc{font-size:18px;color:var(--text-soft);margin-top:4px;}

/* ===== 通用区块 ===== */
section.block{padding:72px 0;}
section.block.alt{background:var(--bg-soft);}
.sec-head{text-align:center;margin-bottom:52px;}
.sec-head h3{font-size:36px;color:var(--blue);font-weight:800;}
.sec-head .en{font-size:16px;color:#9aa8b8;text-transform:uppercase;letter-spacing:3px;margin-top:6px;}
.sec-head .bar{width:64px;height:4px;background:var(--accent);margin:18px auto 0;border-radius:2px;}

/* ===== 卡片 ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px;}
.card{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:36px 30px;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(10,77,140,.14);border-color:var(--blue);}
.card .ico{
  width:70px;height:70px;border-radius:14px;background:var(--blue-light);
  color:var(--blue);display:flex;align-items:center;justify-content:center;
  font-size:34px;margin-bottom:22px;
}
.card h4{font-size:23px;color:var(--text);margin-bottom:12px;}
.card p{font-size:18px;color:var(--text-soft);}

/* ===== 关于 ===== */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.about-text p{font-size:19px;color:var(--text-soft);margin-bottom:18px;text-align:justify;}
.about-visual{
  background:linear-gradient(135deg,var(--blue),#1877c9);border-radius:18px;
  color:#fff;padding:50px 40px;
}
.about-visual h4{font-size:28px;margin-bottom:24px;}
.about-visual ul{list-style:none;}
.about-visual li{font-size:19px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:12px;}
.about-visual li:last-child{border-bottom:none;}
.about-visual li::before{content:"✓";background:var(--accent);color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}

/* ===== 新闻 ===== */
.news-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;}
.news-item{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;
  display:flex;gap:20px;transition:box-shadow .2s,transform .2s;
}
.news-item:hover{box-shadow:0 10px 26px rgba(0,0,0,.08);transform:translateY(-4px);}
.news-date{
  flex-shrink:0;text-align:center;background:var(--blue-light);border-radius:10px;
  padding:14px 16px;color:var(--blue);height:fit-content;
}
.news-date .d{font-size:30px;font-weight:800;line-height:1;}
.news-date .m{font-size:15px;margin-top:6px;}
.news-body h4{font-size:19px;line-height:1.6;margin-bottom:8px;color:var(--text);font-weight:600;}
.news-body:hover h4{color:var(--blue);}
.news-body p{font-size:16px;color:#8a97a5;}

/* ===== 联系 ===== */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;}
.contact-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:40px 24px;}
.contact-card .ico{font-size:40px;margin-bottom:16px;}
.contact-card h4{font-size:21px;color:var(--blue);margin-bottom:10px;}
.contact-card p{font-size:19px;color:var(--text-soft);}
.navi-btn{display:inline-block;margin-top:14px;padding:10px 24px;background:var(--blue);color:#fff;border-radius:8px;font-size:17px;font-weight:600;transition:background .2s,transform .15s;}
.navi-btn:hover{background:var(--blue-dark);transform:translateY(-2px);color:#fff;}

/* ===== 图片轮播画廊 ===== */
.gallery-wrap{
  position:relative;margin-bottom:34px;
  border-radius:14px;overflow:hidden;
  background:#eef2f6;
}
.gallery-viewport{overflow:hidden;border-radius:14px;}
.gallery-track{
  display:flex;transition:transform .5s ease;
}
.gallery-track img{
  width:100%;height:400px;object-fit:cover;flex-shrink:0;
  display:block;
}
.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border:none;border-radius:50%;
  background:rgba(255,255,255,.85);color:var(--blue);
  font-size:22px;cursor:pointer;z-index:5;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,box-shadow .2s;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.gallery-arrow:hover{background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.25);}
.gallery-arrow.prev{left:16px;}
.gallery-arrow.next{right:16px;}
.gallery-dots{
  position:absolute;bottom:16px;left:50%;transform:translateX(-50%);
  display:flex;gap:10px;z-index:5;
}
.gallery-dots span{
  width:12px;height:12px;border-radius:50%;
  background:rgba(255,255,255,.6);cursor:pointer;
  transition:background .2s,transform .2s;
}
.gallery-dots span.active{background:var(--accent);transform:scale(1.3);}

@media(max-width:768px){
  .gallery-track img{height:240px;}
  .gallery-arrow{width:38px;height:38px;font-size:18px;}
  .gallery-arrow.prev{left:8px;}
  .gallery-arrow.next{right:8px;}
}

/* ===== 通用文本块 ===== */
.rich p{font-size:19px;color:var(--text-soft);margin-bottom:18px;text-align:justify;}
.rich h4{font-size:24px;color:var(--blue);margin:30px 0 14px;}
.lead{font-size:21px;color:var(--text);background:var(--blue-light);border-left:5px solid var(--blue);padding:22px 26px;border-radius:8px;margin-bottom:34px;}

/* ===== 步骤流程 ===== */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;counter-reset:step;}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 26px;position:relative;}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-20px;left:26px;width:44px;height:44px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;}
.step h4{font-size:21px;color:var(--blue);margin:14px 0 10px;}
.step p{font-size:17px;color:var(--text-soft);}

/* ===== 表格 ===== */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:18px;}
.tbl th{background:var(--blue);color:#fff;padding:16px 18px;text-align:left;font-size:19px;}
.tbl td{padding:15px 18px;border-top:1px solid var(--line);color:var(--text-soft);}
.tbl tr:nth-child(even) td{background:var(--bg-soft);}

/* ===== 在线考核 ===== */
.exam-section{background:var(--bg-soft);}
.exam-head{display:flex;align-items:baseline;gap:20px;margin-bottom:40px;flex-wrap:wrap;}
.exam-head h2{font-size:36px;color:var(--text);font-weight:800;}
.exam-head p{font-size:18px;color:var(--text-soft);letter-spacing:2px;}
.exam-head .num{font-size:24px;font-weight:800;color:var(--blue);margin:0 4px;}
.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;}
.exam-card{
  display:flex;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.exam-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.1);border-color:var(--blue);}
.exam-icon{
  width:56px;height:56px;border-radius:12px;
  background:var(--blue-light);color:var(--blue);
  display:flex;align-items:center;justify-content:center;
  font-size:32px;flex-shrink:0;
}
.exam-info h4{font-size:19px;color:var(--blue);font-weight:700;margin-bottom:6px;}
.exam-info p{font-size:15px;color:var(--text-soft);line-height:1.5;}

/* ===== 证书查询表单 ===== */
.query-box{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:44px 40px;box-shadow:0 10px 30px rgba(10,77,140,.08);}
.query-box .field{margin-bottom:22px;}
.query-box label{display:block;font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text);}
.query-box input,.query-box select{width:100%;font-size:18px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font-family:inherit;}
.query-box input:focus,.query-box select:focus{outline:none;border-color:var(--blue);}
.query-btn{width:100%;background:var(--blue);color:#fff;font-size:20px;font-weight:700;padding:16px;border:none;border-radius:8px;cursor:pointer;transition:background .2s;}
.query-btn:hover{background:var(--blue-dark);}
.query-note{font-size:16px;color:#8a97a5;text-align:center;margin-top:18px;}
.query-result{margin-top:26px;padding:20px 24px;border-radius:10px;font-size:18px;display:none;}
.query-result.ok{background:#e6f7ec;color:#1a7f43;border:1px solid #b7e4c7;display:block;}
.query-result.warn{background:#fff4e5;color:#b26a00;border:1px solid #ffe0b2;display:block;}

/* ===== 必知列表 ===== */
.faq{max-width:900px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;}
.faq-q{font-size:20px;font-weight:600;color:var(--text);padding:22px 26px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-q:hover{color:var(--blue);}
.faq-q .plus{color:var(--accent);font-size:26px;font-weight:800;flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 26px;}
.faq-item.open .faq-a{max-height:400px;padding:0 26px 24px;}
.faq-a p{font-size:18px;color:var(--text-soft);}

/* ===== 页脚 ===== */
footer{background:var(--blue-dark);color:#b8cbe0;padding:44px 0 26px;font-size:17px;}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:26px;margin-bottom:20px;}
footer h5{color:#fff;font-size:20px;margin-bottom:14px;}
footer a{color:#b8cbe0;}
footer a:hover{color:#fff;}
footer ul{list-style:none;}
footer li{padding:5px 0;}
.copyright{text-align:center;font-size:15px;color:#8ba5c0;}

/* ===== 页脚二维码 ===== */
.footer-qr{display:flex;gap:20px;margin-top:16px;}
.qr-item{text-align:center;}
.qr-img{
  width:100px;height:100px;border-radius:10px;
  background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:8px;color:rgba(255,255,255,.4);font-size:14px;
  transition:border-color .2s;
}
.qr-img:hover{border-color:rgba(255,255,255,.5);}
.qr-item p{font-size:14px;color:#8ba5c0;margin:0;}

@media(max-width:768px){
  .footer-qr{justify-content:flex-start;}
  .qr-img{width:80px;height:80px;font-size:12px;}
}

/* ===== 浮动咨询 ===== */
.float-cta{position:fixed;right:22px;bottom:32px;z-index:60;background:var(--accent);color:#fff;padding:16px 22px;border-radius:50px;font-size:18px;font-weight:700;box-shadow:0 8px 24px rgba(245,166,35,.5);display:flex;align-items:center;gap:8px;}
.float-cta:hover{transform:translateY(-3px);}

/* ===== 响应式 ===== */
@media(max-width:768px){
  body{font-size:17px;}
  .container{padding:0 16px;}

  /* 顶部条 — 手机端隐藏 */
  .topbar{display:none;}

  /* 头部 — logo靠左，汉堡菜单靠右，隐藏咨询热线 */
  .header-inner{padding:14px 0;gap:0;flex-wrap:nowrap;}
  .logo{gap:10px;flex:1;min-width:0;}
  .logo-mark{width:52px;height:52px;border-radius:10px;flex-shrink:0;}
  .logo-text{text-align:left;}
  .logo-text h1{font-size:17px;white-space:nowrap;line-height:1.2;}
  .logo-text p{font-size:11px;letter-spacing:1px;white-space:nowrap;}
  .header-contact{display:none;}

  /* 导航 — 手机端占满宽度 */
  header nav .container{padding:0;}
  .nav-toggle-label{display:block;flex-shrink:0;padding:12px 14px;}
  .nav-inner{display:none;flex-direction:column;width:100%;background:var(--blue);}
  header:has(.nav-toggle:checked) nav .nav-inner{display:flex;}

  /* 横幅 */
  .hero{padding:52px 0;}
  .hero h2{font-size:28px;letter-spacing:1px;}
  .hero p{font-size:17px;}
  .hero .btns{gap:12px;}
  .btn{padding:13px 30px;font-size:17px;}

  /* 内页横幅 */
  .page-hero{padding:40px 0;}
  .page-hero h2{font-size:26px;}
  .page-hero p{font-size:16px;}

  /* 数据条 */
  .stats{padding:28px 0;}
  .stats-grid{gap:18px;}
  .stat .num{font-size:30px;}
  .stat .num span{font-size:18px;}
  .stat .desc{font-size:15px;}

  /* 区块 */
  section.block{padding:48px 0;}
  .sec-head{margin-bottom:36px;}
  .sec-head h3{font-size:26px;}
  .sec-head .en{font-size:14px;letter-spacing:2px;}

  /* 卡片 */
  .cards{grid-template-columns:1fr;gap:18px;}
  .card{padding:28px 22px;}
  .card .ico{width:56px;height:56px;font-size:28px;margin-bottom:16px;}
  .card h4{font-size:20px;}

  /* 关于 */
  .about-wrap{grid-template-columns:1fr;gap:28px;}
  .about-visual{padding:36px 28px;}
  .about-visual h4{font-size:22px;}

  /* 新闻 */
  .news-list{grid-template-columns:1fr;gap:16px;}
  .news-item{padding:20px;gap:14px;}
  .news-date{padding:10px 12px;}
  .news-date .d{font-size:24px;}
  .news-body h4{font-size:17px;}

  /* 联系 */
  .contact-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .contact-card{padding:28px 16px;}
  .contact-card .ico{font-size:32px;}
  .contact-card h4{font-size:18px;}
  .contact-card p{font-size:16px;}

  /* 步骤 */
  .steps{grid-template-columns:1fr;gap:20px;}
  .step{padding:28px 20px;}

  /* 表格 */
  .tbl{font-size:15px;}
  .tbl th,.tbl td{padding:10px 12px;}

  /* 在线考核 */
  .exam-head{gap:12px;margin-bottom:28px;}
  .exam-head h2{font-size:28px;}
  .exam-head p{font-size:15px;letter-spacing:1px;}
  .exam-head .num{font-size:20px;}
  .exam-grid{grid-template-columns:1fr;gap:14px;}
  .exam-card{padding:18px;gap:12px;}
  .exam-icon{width:48px;height:48px;font-size:26px;}
  .exam-info h4{font-size:17px;}
  .exam-info p{font-size:14px;}

  /* 查询 */
  .query-box{padding:28px 22px;}
  .query-box input,.query-box select{font-size:16px;padding:12px 14px;}

  /* 必知 */
  .faq-q{font-size:18px;padding:18px 20px;}

  /* 页脚 */
  .footer-inner{flex-direction:column;gap:18px;}
  footer h5{font-size:18px;}

  /* 浮动按钮 */
  .float-cta{right:12px;bottom:20px;padding:14px 18px;font-size:16px;}

  /* 移除旧导航规则（已被汉堡菜单取代） */
  /* nav a 已在上方通过汉堡菜单样式覆盖 */
}

/* 更小屏幕 (480px以下) */
@media(max-width:480px){
  .hero h2{font-size:24px;}
  .hero p{font-size:16px;}
  .btn{padding:12px 24px;font-size:16px;}
  .contact-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .logo-text h1{font-size:18px;}
}
