/* ============================================================
   hhlsq.com — 404.css 错误页专属样式
   布局指纹：藏蓝满屏 Hero + 超大数字 404 ｜B2 快捷入口四卡｜B4 热门服务｜B15 CTA
   签名元素：S3 虚线圆环组
   ============================================================ */

/* ---------- 1. Hero 藏蓝满屏 ---------- */
.nf-hero{
  position:relative; overflow:hidden; color:#E8EEF5;
  background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-800) 55%,var(--navy-700) 100%);
  padding:clamp(72px,9vw,120px) 0 clamp(72px,9vw,110px);
}
.nf-hero__bg{ position:absolute; inset:0; opacity:.22; }
.nf-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.nf-hero__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,38,63,.85) 0%, rgba(22,47,78,.72) 100%);
}
.nf-hero__inner{ position:relative; z-index:1; text-align:center; max-width:780px; margin:0 auto; }
.nf-hero__code{
  font-size:clamp(110px,20vw,240px); font-weight:700; line-height:.95; letter-spacing:-.02em;
  color:transparent; -webkit-text-stroke:2px rgba(232,238,245,.85);
  margin-bottom:8px; user-select:none;
}
.nf-hero__title{ color:#fff; font-size:clamp(26px,3.6vw,42px); line-height:1.3; margin-bottom:18px; }
.nf-hero__title em{ font-style:normal; color:var(--gold); }
.nf-hero__lead{ color:rgba(232,238,245,.78); font-size:16px; max-width:560px; margin:0 auto 30px; }
.nf-hero__actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.nf-hero__ghost{ border-color:rgba(255,255,255,.5); color:#fff; }
.nf-hero__ghost:hover{ background:#fff; color:var(--navy-700); }

/* S3 虚线圆环组 */
.nf-ring{ position:absolute; border:1.5px dashed rgba(232,238,245,.28); border-radius:50%; pointer-events:none; }
.nf-ring--1{ width:230px; height:230px; left:6%; top:14%; }
.nf-ring--2{ width:120px; height:120px; left:calc(6% + 55px); top:calc(14% + 55px); border-color:rgba(176,141,74,.5); }
.nf-ring--cta{
  width:260px; height:260px; right:-70px; bottom:-90px;
  border-color:rgba(255,255,255,.22);
}

/* ---------- 2. 快捷入口四卡（B2） ---------- */
.nf-quick__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.nf-card{
  background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); padding:28px 24px;
  transition:transform .3s ease, box-shadow .3s ease;
}
.nf-card:nth-child(even){ transform:translateY(14px); }
.nf-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.nf-card:nth-child(even):hover{ transform:translateY(8px); }
.nf-card svg{ width:34px; height:34px; color:var(--navy-600); stroke-width:1.4; margin-bottom:14px; }
.nf-card:hover svg{ color:var(--gold); }
.nf-card h3{ font-size:17.5px; margin-bottom:8px; color:var(--navy-800); }
.nf-card p{ font-size:13.5px; color:var(--gray-500); margin:0; line-height:1.7; }

/* ---------- 3. 热门服务（B4） ---------- */
.nf-hot__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.nf-hot__item{
  display:flex; gap:20px; align-items:flex-start; height:100%;
  background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-md);
  padding:24px 24px; transition:transform .3s ease, box-shadow .3s ease;
}
.nf-hot__item:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.nf-hot__num{
  font-size:30px; font-weight:700; color:transparent; -webkit-text-stroke:1.5px var(--gold);
  line-height:1; flex-shrink:0;
}
.nf-hot__item h3{ font-size:16.5px; margin-bottom:6px; color:var(--navy-800); }
.nf-hot__item p{ font-size:13.5px; color:var(--gray-500); margin:0; line-height:1.7; }

/* ---------- 4. CTA（B15） ---------- */
.nf-cta{ padding-bottom:clamp(70px,8vw,110px); }
.nf-cta__banner{
  background:linear-gradient(135deg,var(--navy-800),var(--navy-700) 55%,var(--navy-600));
  border-radius:28px; padding:clamp(44px,5vw,72px) clamp(24px,4vw,56px);
  text-align:center; position:relative; overflow:hidden; box-shadow:var(--shadow-lg);
}
.nf-cta__banner::before{
  content:""; position:absolute; right:-90px; top:-90px; width:280px; height:280px;
  border-radius:50%; border:1px dashed rgba(255,255,255,.22);
}
.nf-cta__inner{ position:relative; z-index:1; }
.nf-cta__title{ color:#fff; font-size:clamp(22px,3vw,32px); margin-bottom:12px; line-height:1.4; }
.nf-cta__sub{ color:rgba(232,238,245,.78); font-size:15px; margin-bottom:28px; }
.nf-cta__actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.nf-cta__ghost{ border-color:rgba(255,255,255,.5); color:#fff; }
.nf-cta__ghost:hover{ background:#fff; color:var(--navy-700); }

/* ---------- 响应式 ---------- */
@media (max-width: 992px){
  .nf-quick__grid{ grid-template-columns:repeat(2,1fr); }
  .nf-card:nth-child(even){ transform:none; }
  .nf-card:nth-child(even):hover{ transform:translateY(-6px); }
  .nf-hot__grid{ grid-template-columns:1fr; }
  .nf-ring--1{ left:auto; right:-60px; top:8%; opacity:.6; }
  .nf-ring--2{ display:none; }
}
@media (max-width: 640px){
  .nf-quick__grid{ grid-template-columns:1fr; }
  .nf-hero__actions .btn{ width:100%; }
  .nf-cta__actions .btn{ width:100%; }
  .nf-ring--1{ display:none; }
}
