/* =============================================================
   service-security.css 网站安全防护页（hero 盾形叠图式）
   ============================================================= */

/* ---- Hero：盾形叠图 ---- */
.sec-hero {
  padding: calc(var(--header-h) + var(--topbar-h) + 50px) 0 80px;
  background: linear-gradient(160deg, #2F4029 0%, #4A5D40 50%, var(--cream) 130%);
  overflow: hidden; position: relative;
}
.sec-hero .hero-title, .sec-hero .hero-sub { color: #fff; }
.sec-hero .hero-sub { color: rgba(255,255,255,.85); }
.sec-hero .hero-bread { color: rgba(255,255,255,.7); }
.sec-hero .hero-bread a { color: #fff; }
.sec-hero-grid {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center;
  position: relative; z-index: 2;
}
.sec-hero h1 { color:#fff; margin-bottom:16px; }
.sec-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.sec-hero-tel { margin-top: 16px; font-size: .92rem; color: rgba(255,255,255,.85); }
.sec-hero-tel b { color: #fff; font-size: 1.1rem; }

/* 盾形叠图 */
.sec-shield-wrap { position: relative; height: 440px; }
.sec-shield {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 78%; height: 88%;
  border-radius: 50% 50% 50% 50% / 42% 42% 58% 58%;
  overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5);
  border: 8px solid rgba(255,255,255,.25);
}
.sec-shield img { width: 100%; height: 100%; object-fit: cover; }
.sec-shield-badge {
  position: absolute; right: 6%; bottom: 8%; z-index: 3;
  width: 110px; height: 110px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff, var(--green) 75%);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--clay-shadow-lg); text-align: center;
  font-weight: 800; color: #3F5238; font-size: .82rem; line-height: 1.3;
}
.sec-shield-ring {
  position: absolute; left: 8%; top: 6%; z-index: 2;
  width: 90px; height: 90px; border-radius: 50%;
  border: 4px dashed rgba(255,255,255,.5);
  animation: spinSlow 22s linear infinite;
}

/* ---- 服务价值：徽章矩阵 ---- */
.sec-badge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.sec-badge {
  padding: 30px 16px; border-radius: var(--radius);
  background: linear-gradient(165deg, #FFFDF6, var(--cream-2)); box-shadow: var(--clay-shadow-sm);
}
.sec-badge-circle {
  width: 90px; height: 90px; border-radius: 50%; margin: 0 auto 16px;
  background: radial-gradient(circle at 35% 30%, #fff, #C9DCC0 75%);
  display: flex; align-items: center; justify-content: center;
  box-shadow: inset 0 3px 6px rgba(255,255,255,.8), var(--clay-shadow-sm);
}
.sec-badge-circle svg { width: 42px; height: 42px; }
.sec-badge h3 { font-size: 1.02rem; margin-bottom: 6px; }
.sec-badge p { font-size: .86rem; }

/* ---- 交付内容：时间线 ---- */
.sec-timeline { position: relative; padding-left: 30px; }
.sec-timeline::before {
  content: ""; position: absolute; left: 9px; top: 8px; bottom: 8px;
  width: 3px; background: var(--green); border-radius: 3px;
}
.sec-timeline li { position: relative; padding: 0 0 26px 26px; }
.sec-timeline li::before {
  content: ""; position: absolute; left: -29px; top: 4px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--yellow); border: 4px solid var(--green);
}
.sec-timeline li b { display: block; color: var(--ink); font-size: 1.05rem; margin-bottom: 4px; }
.sec-timeline li p { font-size: .92rem; }

/* ---- 适用人群：横向图标行 ---- */
.sec-aud { display: flex; flex-wrap: wrap; gap: 18px; }
.sec-aud-item {
  flex: 1 1 180px; text-align: center; padding: 22px 14px;
  border-radius: var(--radius-sm); background: var(--cream-2);
  box-shadow: var(--clay-shadow-sm);
}
.sec-aud-item svg { width: 34px; height: 34px; margin: 0 auto 10px; display: block; }
.sec-aud-item h4 { font-size: .95rem; }

/* ---- 区别对照：卡片对比 ---- */
.sec-compare-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sec-cmp-card {
  padding: 28px; border-radius: var(--radius); box-shadow: var(--clay-shadow-sm);
}
.sec-cmp-bad { background: var(--cream-2); }
.sec-cmp-good { background: linear-gradient(165deg, #E5EFDC, var(--green)); }
.sec-cmp-card h3 { margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.sec-cmp-card ul li { padding-left: 22px; position: relative; margin-bottom: 8px; font-size: .93rem; }
.sec-cmp-bad ul li::before { content: "✕"; position: absolute; left: 0; color: #B08968; font-weight: 800; }
.sec-cmp-good ul li::before { content: "✓"; position: absolute; left: 0; color: #3F5238; font-weight: 800; }

/* ---- 案例入口：横幅 ---- */
.sec-case-banner {
  position: relative; border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--clay-shadow);
}
.sec-case-banner img { width: 100%; }
.sec-case-overlay {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  justify-content: flex-end; padding: 40px;
  background: linear-gradient(0deg, rgba(47,64,41,.85) 0%, transparent 60%);
}
.sec-case-overlay h3 { color: #fff; margin-bottom: 8px; }
.sec-case-overlay p { color: rgba(255,255,255,.9); margin-bottom: 16px; max-width: 560px; }
.sec-case-overlay .btn { align-self: flex-start; }

/* ---- 价格引导：阶梯 ---- */
.sec-price-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sec-price-step {
  text-align: center; padding: 30px 18px; border-radius: var(--radius);
  background: var(--cream-2); box-shadow: var(--clay-shadow-sm);
  border-top: 5px solid var(--green);
}
.sec-price-step:nth-child(2) { border-top-color: var(--yellow-3); transform: translateY(10px); }
.sec-price-step h3 { font-size: 1.1rem; margin-bottom: 8px; }
.sec-price-step .num { font-size: 1.6rem; font-weight: 900; color: var(--green-3); }
.sec-price-step p { font-size: .86rem; margin-top: 8px; }

/* ---- FAQ ---- */
.sec-faq details {
  background: var(--cream-2); border-radius: 16px; padding: 18px 22px;
  margin-bottom: 14px; box-shadow: var(--clay-shadow-sm);
}
.sec-faq summary { font-weight: 700; cursor: pointer; color: var(--ink); list-style: none; position: relative; padding-right: 30px; }
.sec-faq summary::-webkit-details-marker { display: none; }
.sec-faq summary::after { content: "+"; position: absolute; right: 0; top: 0; font-size: 1.3rem; color: var(--green-3); }
.sec-faq details[open] summary::after { content: "−"; }
.sec-faq details p { margin-top: 10px; font-size: .94rem; }

/* ---- CTA ---- */
.sec-cta {
  text-align: center; padding: 60px 20px; border-radius: var(--radius);
  background: linear-gradient(150deg, var(--yellow) 0%, var(--yellow-2) 100%);
  box-shadow: var(--clay-shadow);
}
.sec-cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.sec-cta-contact { margin-top: 20px; font-size: .95rem; color: var(--ink); }
.sec-cta-contact b { font-size: 1.15rem; }

@media (max-width: 900px) {
  .sec-hero-grid { grid-template-columns: 1fr; }
  .sec-shield-wrap { height: 340px; }
  .sec-badge-grid { grid-template-columns: repeat(2, 1fr); }
  .sec-compare-cards, .sec-price-steps { grid-template-columns: 1fr; }
  .sec-price-step:nth-child(2) { transform: none; }
}

/* ---- 通用工具类（本片页面共用） ---- */
.band { background: var(--cream-2); }
.narrow { max-width: 860px; }
.center-head { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.center-head p { margin-left: auto; margin-right: auto; }
.lead-p { margin-bottom: 18px; }
.sub-p { margin-top: 8px; }
.btn-mt { margin-top: 14px; display: inline-flex; }
.inline-link { color: var(--green-3); font-weight: 700; }
.reveal-scroll { overflow-x: auto; }
.center-p { text-align: center; margin-top: 26px; }
.btn-light { background: transparent !important; color: #fff !important; box-shadow: 0 0 0 2px #fff inset !important; }

/* API 连线位置 */
.line-1 { left: 15%; top: 22%; width: 34%; transform: rotate(12deg); }
.line-2 { left: 55%; top: 28%; width: 30%; transform: rotate(-10deg); }
.line-3 { left: 12%; top: 62%; width: 36%; transform: rotate(-8deg); }
.line-4 { left: 55%; top: 60%; width: 32%; transform: rotate(8deg); }
