@charset "UTF-8";
/* ============================================================
   index.html 独有样式 · 校园展板风
   骨架：全屏Banner(左文右照+贴纸数据) → 金色数据条 → 编号服务卡
        → 左右图文 → 遮罩案例卡 → 横向流程条 → 资讯网格 → 手风琴
============================================================ */

/* ---------- 全屏首屏 ---------- */
.hero-full{
  position:relative;overflow:hidden;
  background:linear-gradient(140deg,var(--navy-950) 0%,var(--navy-800) 58%,#26365E 100%);
  color:#E9ECF5;padding:170px 0 110px;
}
.hero-full::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:26px 26px;
}
.hero-ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(201,169,106,.3)}
.hero-ring.r1{width:520px;height:520px;right:-160px;bottom:-220px}
.hero-ring.r2{width:220px;height:220px;left:-70px;top:120px;border-color:rgba(255,255,255,.14)}
.hero-full-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-kicker{
  display:inline-block;padding:8px 20px;border-radius:var(--r-pill);
  border:1px solid rgba(201,169,106,.45);color:var(--gold-300);
  font-size:13px;letter-spacing:2px;margin-bottom:26px;
}
.hero-h1{font-size:clamp(30px,4.4vw,52px);line-height:1.28;color:var(--white);margin-bottom:22px}
.hero-h1 em{font-style:normal;color:var(--gold-400);position:relative;white-space:nowrap}
.hero-lead{font-size:16px;color:#C3CADD;max-width:560px;line-height:2;margin-bottom:34px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.hero-tel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#AEB6CB;font-size:13px}
.hero-tel a{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--gold-300);letter-spacing:1px}
.hero-tel svg{width:20px;height:20px}
.hero-photo-wrap{position:relative}
.hero-photo{
  width:100%;height:440px;object-fit:cover;
  border-radius:60px 60px 60px var(--r-lg);
  box-shadow:var(--shadow-lg);
}
.hero-note{
  position:absolute;left:-34px;bottom:-30px;
  background:var(--white);color:var(--navy-900);
  border-radius:var(--r-md);padding:18px 26px;
  box-shadow:var(--shadow-md);display:flex;align-items:center;gap:14px;
  transform:rotate(-2deg);
}
.hero-note strong{font-size:30px;font-family:var(--font-head);color:var(--gold-500)}
.hero-note span{font-size:12.5px;color:var(--ink-2);line-height:1.6}

/* ---------- 数据条 ---------- */
.stat-band{background:var(--navy-950);padding:34px 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-item{text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.stat-item:last-child{border-right:0}
.stat-num{display:block;font-family:var(--font-head);font-size:34px;font-weight:800;color:var(--gold-400)}
.stat-label{font-size:13px;color:#9AA3BC;letter-spacing:1px}

/* ---------- 服务入口卡片 ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc-card{
  position:relative;background:var(--white);border:1.5px solid var(--line);
  border-radius:var(--r-lg);padding:34px 30px 28px;overflow:hidden;
  transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);
}
.svc-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-300));
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-med);
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--gold-400)}
.svc-card:hover::before{transform:scaleX(1)}
.svc-no{font-family:var(--font-head);font-size:14px;font-weight:800;color:var(--gold-500);letter-spacing:3px}
.svc-card h3{font-size:20px;margin:10px 0 10px}
.svc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.85;margin-bottom:18px}
.svc-more{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--navy-700)}
.svc-more svg{width:16px;height:16px;transition:transform var(--t-fast)}
.svc-card:hover .svc-more{color:var(--gold-500)}
.svc-card:hover .svc-more svg{transform:translateX(5px)}

/* ---------- 左右图文 ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-photo img{width:100%;height:400px;object-fit:cover;border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-sm);box-shadow:var(--shadow-md)}
.split-rev .split-photo{order:2}
.split-copy .sec-title{margin-bottom:18px}
.tick-list{margin:22px 0 28px}
.tick-list li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink-2);margin-bottom:12px;line-height:1.8}
.tick-list svg{width:20px;height:20px;flex:none;color:var(--gold-500);margin-top:4px}

/* ---------- 案例遮罩卡 ---------- */
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.case-card{position:relative;border-radius:var(--r-md);overflow:hidden;display:block}
.case-card img{width:100%;height:240px;object-fit:cover;transition:transform .6s var(--ease)}
.case-card:hover img{transform:scale(1.07)}
.case-mask{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;background:linear-gradient(180deg,transparent 30%,rgba(16,24,46,.92));
  opacity:0;transition:opacity var(--t-med);color:var(--white);
}
.case-card:hover .case-mask{opacity:1}
.case-tag{align-self:flex-start;font-size:12px;padding:4px 12px;border-radius:var(--r-pill);background:var(--gold-500);color:var(--navy-900);font-weight:700;margin-bottom:10px}
.case-mask h3{font-size:16px;color:var(--white);margin-bottom:6px}
.case-mask p{font-size:13px;color:#C8CEDF;line-height:1.7}
.center-more{text-align:center;margin-top:40px}

/* ---------- 流程条（藏青底横向） ---------- */
.flow-row{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:step}
.flow-step{
  position:relative;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);
  padding:30px 26px;background:rgba(255,255,255,.04);
  transition:background var(--t-fast),transform var(--t-fast);
}
.flow-step:hover{background:rgba(201,169,106,.1);transform:translateY(-5px)}
.flow-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;
  background:var(--gold-500);color:var(--navy-900);
  font-family:var(--font-head);font-weight:800;font-size:18px;margin-bottom:16px;
}
.flow-step h3{color:var(--white);font-size:18px;margin-bottom:10px}
.flow-step p{font-size:14px;color:#B9C1D4;line-height:1.85}

/* ---------- 技术药丸 ---------- */
.tech-pills{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 30px}
.tech-pills span{
  padding:9px 20px;border-radius:var(--r-pill);
  background:var(--paper);border:1.5px solid var(--line);
  font-size:14px;font-weight:600;color:var(--navy-700);
  transition:all var(--t-fast);
}
.tech-pills span:hover{background:var(--navy-800);color:var(--gold-300);border-color:var(--navy-800)}

/* ---------- 资讯网格 ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:26px}
.news-card{background:var(--white);border-radius:var(--r-md);overflow:hidden;border:1.5px solid var(--line);transition:transform var(--t-fast),box-shadow var(--t-fast)}
.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.news-card img{width:100%;height:170px;object-fit:cover}
.news-body{padding:18px 20px 22px}
.news-body time{font-size:12.5px;color:var(--gold-500);letter-spacing:1px}
.news-body h3{font-size:16.5px;line-height:1.5;margin:6px 0 8px}
.news-body h3 a{color:var(--navy-900)}
.news-body h3 a:hover{color:var(--gold-500)}
.news-body p{font-size:13.5px;color:var(--muted);line-height:1.75;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:880px;margin:0 auto}
.faq-list .faq-item{background:var(--white);border:1.5px solid var(--line);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden;transition:border-color var(--t-fast)}
.faq-list .faq-item.open{border-color:var(--gold-400)}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  text-align:left;padding:19px 24px;font-size:16px;font-weight:700;color:var(--navy-900);
}
.faq-q::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gold-500);color:var(--gold-500);display:inline-flex;align-items:center;justify-content:center;font-size:18px;transition:transform var(--t-fast)}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 24px 20px;font-size:14.5px;color:var(--ink-2);line-height:1.9}
.faq-a a{color:var(--gold-500);text-decoration:underline}

/* ---------- 错峰渐入 ---------- */
.rv1{--d:.08s}.rv2{--d:.16s}.rv3{--d:.24s}.rv4{--d:.32s}.rv5{--d:.4s}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .hero-full-inner{grid-template-columns:1fr;gap:70px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
  .hero-full{padding:140px 0 90px}
  .hero-photo{height:300px}
  .stat-grid{grid-template-columns:repeat(2,1fr);row-gap:30px}
  .stat-item{border-right:0}
  .split,.split-rev{grid-template-columns:1fr}
  .split-rev .split-photo{order:0}
  .flow-row{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .svc-grid,.case-grid,.news-grid,.flow-row{grid-template-columns:1fr}
  .hero-note{left:12px;bottom:-24px;padding:12px 18px}
  .hero-note strong{font-size:24px}
}
