/* ==========================================================================
   DTForest 官网 — 科幻超现代增强层（scifi.css）
   --------------------------------------------------------------------------
   仅作用于官网前台（index / products / status / contact / response），
   后管平台不加载本文件。

   设计意图：
   · 氛围：漂移极光 + 透视网格地平线 + 纵向扫描光band（全屏、纯 CSS、无 canvas）
   · 结构：HUD 四角定位框（由 scifi.js 注入 .sf-hud），玻璃纵深 + 内高光
   · 交互色彩：鼠标在卡片内移动时，卡片强调色随横向位置在
     青(192) → 紫(260) → 洋红(320) 之间连续偏移，边框/辉光/角标同步变色
   · 光标：桌面端低频跟随的光环（lerp 拖尾），悬停可交互元素时放大
   加载顺序：main.css / response.css 之后
   ========================================================================== */

/* ========== 1. 令牌 ========== */
:root {
  --sf-cyan: oklch(84% 0.15 195);
  --sf-violet: oklch(74% 0.21 300);
  --sf-magenta: oklch(76% 0.22 340);
  --sf-lime: oklch(87% 0.19 150);
  --sf-ease: cubic-bezier(0.16, 1, 0.3, 1);
  /* 超现代观感：卡片圆角上调（main.css 组件均引用该令牌） */
  --radius-card: 14px;
  --radius-ctrl: 10px;
  --radius-sm: 6px;
}

/* ========== 2. 全屏氛围层（scifi.js 注入） ========== */
.sf-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.sf-aurora {
  position: absolute;
  inset: -28%;
  opacity: 0.62;
  filter: blur(52px) saturate(1.15);
  background:
    radial-gradient(36% 32% at 20% 24%, oklch(84% 0.17 195 / 0.30), transparent 70%),
    radial-gradient(32% 30% at 82% 16%, oklch(72% 0.21 300 / 0.26), transparent 68%),
    radial-gradient(40% 34% at 64% 86%, oklch(76% 0.22 340 / 0.16), transparent 70%),
    radial-gradient(28% 26% at 10% 84%, oklch(87% 0.19 150 / 0.10), transparent 70%);
  animation: sfAurora 30s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes sfAurora {
  0%   { transform: translate3d(-2%, -1%, 0) scale(1.02) rotate(0deg); }
  50%  { transform: translate3d(2%, 1.5%, 0) scale(1.08) rotate(2deg); }
  100% { transform: translate3d(1%, -2%, 0) scale(1.04) rotate(-1.5deg); }
}
/* 透视网格地平线：科幻场景的经典底座 */
.sf-floor {
  position: absolute;
  left: -45%;
  right: -45%;
  bottom: -14%;
  height: 62%;
  background-image:
    linear-gradient(to right, oklch(84% 0.15 195 / 0.22) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(84% 0.15 195 / 0.22) 1px, transparent 1px);
  background-size: 64px 64px;
  transform: perspective(520px) rotateX(74deg);
  transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(to top, #000 4%, transparent 76%);
  mask-image: linear-gradient(to top, #000 4%, transparent 76%);
  opacity: 0.55;
  animation: sfFloorMove 9s linear infinite;
}
@keyframes sfFloorMove {
  to { background-position: 0 64px, 0 64px; }
}
/* 纵向扫描光带 */
.sf-beam {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 28%;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    oklch(84% 0.15 195 / 0.06) 45%,
    oklch(74% 0.21 300 / 0.09) 70%,
    transparent 100%
  );
  animation: sfBeamFall 13s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  will-change: transform;
}
@keyframes sfBeamFall {
  0%   { transform: translate3d(0, -120%, 0); opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { transform: translate3d(0, 500%, 0); opacity: 0; }
}

/* 指针光晕（拖尾跟随，见 scifi.js） */
.sf-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 26px;
  height: 26px;
  margin: -13px 0 0 -13px;
  border-radius: 50%;
  border: 1px solid oklch(86% 0.15 195 / 0.6);
  box-shadow:
    0 0 16px oklch(84% 0.15 195 / 0.35),
    inset 0 0 12px oklch(84% 0.15 195 / 0.18);
  pointer-events: none;
  z-index: 9996;
  opacity: 0;
  transform: translate3d(var(--cx, -200px), var(--cy, -200px), 0);
  will-change: transform;
  transition: opacity 0.35s ease, width 0.28s var(--sf-ease), height 0.28s var(--sf-ease),
    margin 0.28s var(--sf-ease), border-color 0.3s ease, box-shadow 0.3s ease;
  mix-blend-mode: screen;
}
.sf-cursor.on { opacity: 1; }
.sf-cursor.hot {
  width: 54px;
  height: 54px;
  margin: -27px 0 0 -27px;
  border-color: oklch(78% 0.21 325 / 0.85);
  box-shadow:
    0 0 26px oklch(76% 0.22 340 / 0.5),
    inset 0 0 20px oklch(76% 0.22 340 / 0.25);
}

/* ========== 3. 标题与文字 ========== */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  body.page-home .section-title,
  .page-hero h1,
  .section-title {
    background-image: linear-gradient(
      104deg,
      var(--fg) 0%,
      var(--fg) 46%,
      oklch(90% 0.11 200) 72%,
      oklch(84% 0.13 300) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}
body.page-home .hero h1 .gradient {
  background-image: linear-gradient(
    100deg,
    var(--sf-cyan) 0%,
    var(--accent) 26%,
    var(--sf-violet) 55%,
    var(--sf-magenta) 78%,
    var(--sf-cyan) 100%
  );
  background-size: 300% 100%;
  animation: sfHueFlow 14s linear infinite;
  filter: drop-shadow(0 0 26px oklch(74% 0.21 300 / 0.35));
}
@keyframes sfHueFlow {
  to { background-position: 300% 50%; }
}
body.page-home .stat-card .stat-num {
  background-image: linear-gradient(120deg, var(--sf-cyan), var(--sf-violet) 62%, var(--sf-magenta));
  background-size: 200% 100%;
  animation: sfHueFlow2 10s ease-in-out infinite alternate;
}
@keyframes sfHueFlow2 {
  to { background-position: 200% 50%; }
}

/* 小标签统一成 HUD 胶囊 */
body.page-home .section-label,
.page-hero .section-label,
.eyebrow {
  width: -moz-fit-content;
  width: fit-content;
  padding: 7px 14px;
  border: 1px solid oklch(82% 0.14 200 / 0.32);
  border-radius: 999px;
  background: oklch(60% 0.1 220 / 0.14);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.08);
}
.page-hero .section-label,
.eyebrow { margin-bottom: 22px; }

/* ========== 4. 导航 ========== */
nav::after {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--sf-cyan) 22%,
    var(--sf-violet) 50%,
    var(--sf-magenta) 78%,
    transparent 100%
  );
  opacity: 0.45;
  animation: sfNavSweep 7s ease-in-out infinite;
}
@keyframes sfNavSweep {
  0%, 100% { opacity: 0.28; }
  50% { opacity: 0.7; }
}
.sf-scrolled nav,
nav.sf-scrolled {
  background: rgba(24, 31, 48, 0.78);
  box-shadow: 0 12px 40px -18px oklch(20% 0.05 250 / 0.9);
}
.nav-links a {
  border-radius: 9px;
  transition: color 0.25s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.nav-links a::before {
  content: '';
  position: absolute;
  inset: -3px -11px;
  border-radius: 9px;
  z-index: -1;
  background: linear-gradient(
    135deg,
    oklch(82% 0.15 200 / 0.18),
    oklch(74% 0.2 300 / 0.14)
  );
  border: 1px solid oklch(82% 0.13 210 / 0.22);
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.3s ease, transform 0.3s var(--sf-ease);
}
.nav-links a:hover::before,
.nav-links a.active::before {
  opacity: 1;
  transform: scale(1);
}
.nav-links a.active::after {
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--sf-cyan), var(--sf-violet));
  box-shadow: 0 0 10px oklch(84% 0.15 195 / 0.8), 0 0 22px oklch(74% 0.21 300 / 0.5);
}

/* ========== 5. 按钮 ========== */
.btn,
.btn-accent,
.btn-ghost {
  border-radius: 12px;
}
.btn-primary {
  background-image: linear-gradient(120deg, var(--sf-cyan) 0%, var(--accent) 42%, var(--sf-violet) 100%);
  background-size: 200% 100%;
  color: #06131c;
  font-weight: 600;
  box-shadow:
    0 10px 28px -10px oklch(74% 0.2 250 / 0.7),
    inset 0 1px 0 oklch(100% 0 0 / 0.35);
  animation: sfBtnFlow 9s linear infinite;
}
@keyframes sfBtnFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.btn-primary:hover {
  background-image: linear-gradient(120deg, oklch(88% 0.15 195), var(--accent-strong) 45%, oklch(78% 0.21 310));
  box-shadow:
    0 16px 40px -12px oklch(74% 0.2 250 / 0.85),
    0 0 26px oklch(84% 0.15 195 / 0.35),
    inset 0 1px 0 oklch(100% 0 0 / 0.45);
}
.btn-secondary {
  border-color: oklch(82% 0.13 210 / 0.32);
  background: oklch(70% 0.1 220 / 0.06);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.btn-secondary:hover {
  border-color: oklch(84% 0.15 195 / 0.7);
  background: oklch(72% 0.14 220 / 0.12);
  box-shadow: 0 0 26px oklch(84% 0.15 195 / 0.25), inset 0 1px 0 oklch(100% 0 0 / 0.1);
}
/* response 页按钮 */
.btn-accent {
  background-image: linear-gradient(120deg, var(--sf-cyan), var(--accent) 45%, var(--sf-violet));
  background-size: 200% 100%;
  color: #06131c;
  font-weight: 600;
  animation: sfBtnFlow 9s linear infinite;
}
.btn-ghost {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* ========== 6. 卡片 / 面板：玻璃纵深 + HUD 四角 + 交互光 ========== */
.sf-card {
  position: relative;
  isolation: isolate;
  box-shadow:
    0 20px 50px -30px rgb(0 0 0 / 0.75),
    inset 0 1px 0 oklch(100% 0 0 / 0.06);
  transition:
    transform 0.5s var(--sf-ease),
    border-color 0.35s ease,
    box-shadow 0.5s var(--sf-ease);
}
.sf-card:hover {
  border-color: color-mix(in oklab, var(--accent) 50%, var(--border));
  box-shadow:
    0 28px 64px -30px rgb(0 0 0 / 0.8),
    0 0 34px -6px var(--accent-glow),
    inset 0 1px 0 oklch(100% 0 0 / 0.1);
}
/* HUD 角标：4 角各 1 横 1 竖，纯背景绘制，不额外占位 */
.sf-hud {
  position: absolute;
  inset: 7px;
  z-index: 3;
  border-radius: 9px;
  pointer-events: none;
  opacity: 0.42;
  transition: opacity 0.4s ease;
  --sf-c: color-mix(in oklab, var(--accent) 82%, white 6%);
  background-repeat: no-repeat;
  background-image:
    linear-gradient(var(--sf-c), var(--sf-c)), linear-gradient(var(--sf-c), var(--sf-c)),
    linear-gradient(var(--sf-c), var(--sf-c)), linear-gradient(var(--sf-c), var(--sf-c)),
    linear-gradient(var(--sf-c), var(--sf-c)), linear-gradient(var(--sf-c), var(--sf-c)),
    linear-gradient(var(--sf-c), var(--sf-c)), linear-gradient(var(--sf-c), var(--sf-c));
  background-size:
    15px 1px, 1px 15px,
    15px 1px, 1px 15px,
    15px 1px, 1px 15px,
    15px 1px, 1px 15px;
  background-position:
    left top, left top,
    right top, right top,
    left bottom, left bottom,
    right bottom, right bottom;
}
.sf-card:hover .sf-hud { opacity: 1; }
/* 顶部能量线：悬停从左向右扫过 */
.sf-hud::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    oklch(88% 0.16 195 / 0.9) 35%,
    oklch(80% 0.2 320 / 0.9) 65%,
    transparent
  );
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.7s var(--sf-ease);
}
.sf-card:hover .sf-hud::before { transform: scaleX(1); }
/* 指针柔光：--mx/--my 由 scifi.js 实时写入（相对卡片左上角） */
.sf-hud::after {
  content: '';
  position: absolute;
  inset: -7px;
  border-radius: inherit;
  background: radial-gradient(
    320px circle at var(--mx, 50%) var(--my, 0%),
    color-mix(in oklab, var(--accent) 65%, white 20%) 0%,
    transparent 62%
  );
  opacity: 0;
  transition: opacity 0.45s ease;
  mix-blend-mode: screen;
}
.sf-card:hover .sf-hud::after { opacity: 0.16; }

/* 响应式：手机端取消指针相关重效果 */
@media (hover: none) {
  .sf-hud::after { display: none; }
  .sf-cursor { display: none; }
}

/* ========== 7. Hero / 终端 ========== */
/* 全屏扫光：横穿 hero 的一道柔光，营造「扫描成像」的科幻感 */
body.page-home .hero::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -42%;
  width: 38%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    oklch(88% 0.14 195 / 0.07) 42%,
    oklch(82% 0.18 320 / 0.06) 62%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 0;
  animation: sfHeroSweep 14s cubic-bezier(0.55, 0, 0.45, 1) infinite;
}
@keyframes sfHeroSweep {
  0%   { transform: translateX(0); }
  55%, 100% { transform: translateX(380%); }
}
/* 视觉区背后的 HUD 刻度环（桌面端） */
@media (min-width: 981px) {
  body.page-home .hero-visual::after {
    content: '';
    position: absolute;
    inset: -12% -8%;
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
    background: conic-gradient(
      from 0deg,
      transparent 0deg,
      oklch(84% 0.15 195 / 0.30) 34deg,
      transparent 78deg,
      transparent 172deg,
      oklch(74% 0.21 300 / 0.26) 214deg,
      transparent 262deg,
      transparent 360deg
    );
    -webkit-mask-image: radial-gradient(circle, transparent 45%, #000 46.5%, #000 48.5%, transparent 50%);
    mask-image: radial-gradient(circle, transparent 45%, #000 46.5%, #000 48.5%, transparent 50%);
    animation: sfDial 28s linear infinite;
  }
}
@keyframes sfDial {
  to { transform: rotate(360deg); }
}
body.page-home .hero .pulse-ring,
.pulse-ring {
  border-color: oklch(84% 0.15 195 / 0.55);
  box-shadow:
    0 0 34px oklch(84% 0.15 195 / 0.25),
    inset 0 0 30px oklch(84% 0.15 195 / 0.12);
}
body.page-home .hero-badge {
  border-radius: 999px;
  border-color: oklch(84% 0.15 195 / 0.42);
  background: linear-gradient(120deg, oklch(70% 0.14 205 / 0.2), oklch(70% 0.16 300 / 0.14));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 24px -6px oklch(84% 0.15 195 / 0.5), inset 0 1px 0 oklch(100% 0 0 / 0.14);
}
/* 终端顶部 HUD 线 + 内部扫描 */
body.page-home .hero-terminal::after,
.terminal::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 46%;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    oklch(86% 0.15 195 / 0.10) 72%,
    oklch(86% 0.15 195 / 0.02) 100%
  );
  pointer-events: none;
  animation: sfTermScan 7.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  z-index: 0;
}
@keyframes sfTermScan {
  0%   { transform: translateY(-100%); opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { transform: translateY(220%); opacity: 0; }
}
body.page-home .hero-terminal {
  box-shadow:
    0 30px 70px -34px oklch(24% 0.08 250 / 0.95),
    0 0 0 1px oklch(84% 0.15 195 / 0.18),
    inset 0 1px 0 oklch(100% 0 0 / 0.08),
    0 0 46px -14px oklch(84% 0.15 195 / 0.45);
}
body.page-home .hero-stat .stat-value {
  color: oklch(88% 0.12 200);
  text-shadow: 0 0 22px oklch(84% 0.15 195 / 0.65);
}
body.page-home .hero-stat::before {
  box-shadow: 0 0 16px var(--accent);
  opacity: 0.55;
}
/* 数据管道节点：更亮的能量点 */
body.page-home .data-pipeline .flow-particle {
  box-shadow: 0 0 14px oklch(86% 0.15 195), 0 0 28px oklch(76% 0.18 260 / 0.6);
}

/* ========== 8. 分隔线 / 技术条 / 新闻 ========== */
.scanner-divider::after {
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    oklch(84% 0.15 195 / 0.9) 30%,
    oklch(76% 0.2 320 / 0.8) 55%,
    oklch(84% 0.15 195 / 0.9) 78%,
    transparent 100%
  );
  filter: blur(1.5px);
}
.tech-strip span {
  padding: 8px 16px;
  border: 1px solid oklch(82% 0.12 210 / 0.22);
  border-radius: 999px;
  background: oklch(64% 0.1 230 / 0.10);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--muted-strong);
  transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.35s ease, transform 0.35s var(--sf-ease);
}
.tech-strip span:hover {
  color: var(--fg);
  border-color: oklch(84% 0.15 195 / 0.65);
  box-shadow: 0 0 22px -4px oklch(84% 0.15 195 / 0.55);
  transform: translateY(-2px);
}
#industry-news .news-item {
  border-radius: var(--radius-card);
  transition: border-color 0.3s ease, box-shadow 0.4s var(--sf-ease), transform 0.4s var(--sf-ease);
}
#industry-news .news-item:hover {
  box-shadow: 0 16px 36px -22px rgb(0 0 0 / 0.8), 0 0 26px -8px var(--accent-glow);
  transform: translateY(-2px);
}

/* ========== 9. 服务状态页 ========== */
body.page-status .big-num {
  background-image: linear-gradient(120deg, var(--fg), oklch(88% 0.12 200) 60%, oklch(82% 0.14 300));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 22px oklch(84% 0.15 195 / 0.35));
}
body.page-status .metric-value { font-variant-numeric: tabular-nums; }
body.page-status .service-badge,
body.page-status .dot {
  box-shadow: 0 0 12px currentColor;
}
body.page-status .history-bar .day {
  transition: opacity 0.2s ease, transform 0.2s var(--sf-ease), box-shadow 0.25s ease;
}
body.page-status .history-bar .day:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 14px -2px currentColor;
}
body.page-status .sparkline { filter: drop-shadow(0 0 10px oklch(84% 0.15 195 / 0.4)); }

/* ========== 10. 联系页 ========== */
body.page-contact .form-group input:focus,
body.page-contact .form-group textarea:focus,
body.page-contact .form-group select:focus {
  border-color: oklch(84% 0.15 195 / 0.65);
  box-shadow:
    0 0 0 3px oklch(84% 0.15 195 / 0.14),
    0 0 26px -8px oklch(84% 0.15 195 / 0.55);
}
body.page-contact .info-card::before {
  box-shadow: 0 0 18px var(--accent);
}
body.page-contact .logo-item:hover .logo-dot {
  box-shadow: 0 0 16px currentColor, 0 0 30px currentColor;
}

/* ========== 11. 页脚 / 滚动进度 ========== */
footer::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    oklch(84% 0.15 195 / 0.5) 22%,
    oklch(74% 0.21 300 / 0.45) 55%,
    oklch(76% 0.22 340 / 0.35) 78%,
    transparent
  );
  pointer-events: none;
}
.scroll-progress {
  background: linear-gradient(90deg, var(--sf-cyan), var(--sf-violet), var(--sf-magenta));
  box-shadow:
    0 0 10px oklch(84% 0.15 195 / 0.85),
    0 0 22px oklch(74% 0.21 300 / 0.55);
}
.scroll-progress span {
  background: linear-gradient(90deg, var(--sf-cyan), var(--sf-violet), var(--sf-magenta));
  box-shadow:
    0 0 10px oklch(84% 0.15 195 / 0.85),
    0 0 22px oklch(74% 0.21 300 / 0.55);
}

/* ========== 12. 入场：材质化（模糊 → 清晰） ========== */
[data-reveal] {
  filter: blur(10px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal].visible { filter: blur(0); }

/* ========== 13. 响应式 / 降低动态 ========== */
/* 中窄屏：导航链接压缩为单行胶囊，避免文字折行挤压 */
@media (max-width: 900px) {
  nav .container { gap: 12px; }
  .nav-links { gap: 4px; }
  .nav-links a {
    white-space: nowrap;
    padding: 7px 9px;
    font-size: 13px;
    letter-spacing: 0;
  }
  .nav-links a::before { inset: -2px -4px; }
  .logo-sub { display: none; }
}
@media (max-width: 480px) {
  nav .container { padding-left: 15px; padding-right: 15px; gap: 8px; }
  nav .logo { font-size: 17px; gap: 8px; }
  nav .logo-mark { width: 28px; height: 28px; font-size: 12px; }
  nav .logo-mark.has-logo { width: auto; height: auto; }
  .nav-links { gap: 2px; }
  .nav-links a { font-size: 12px; padding: 6px 7px; }
  .nav-links a::before { inset: -2px -3px; }
}
@media (max-width: 760px) {
  .sf-aurora { filter: blur(34px); opacity: 0.5; }
  .sf-floor { opacity: 0.38; animation: none; }
  .sf-beam { display: none; }
  body.page-home .hero::before { display: none; }
  .sf-hud { background-size: 11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .sf-aurora,
  .sf-floor,
  .sf-beam,
  .sf-cursor,
  .btn-primary,
  .btn-accent,
  body.page-home .hero::before,
  body.page-home .hero-visual::after,
  body.page-home .hero h1 .gradient,
  body.page-home .stat-card .stat-num,
  body.page-home .hero-terminal::after,
  .terminal::after { animation: none !important; }
  [data-reveal] { filter: none; }
  .sf-card:hover { transform: none; }
}
