/* ========== GLOBAL RESET & VARIABLES ========== */
:root {
    --font-body: 'Roboto', sans-serif;
  
    /* Light Theme */
    --color-bg: #ffffff;
    --color-text: #1a1a1a;
    --color-accent: #007bff;
    --color-muted: #6c757d;
  
    /* Dark Theme */
    --color-bg-dark: #121212;
    --color-text-dark: #f1f1f1;
    --color-accent-dark: #0d6efd;
    --color-muted-dark: #adb5bd;
  }
  
  @media (prefers-color-scheme: dark) {
    body {
      background-color: var(--color-bg-dark);
      color: var(--color-text-dark);
    }
  }
  
  @media (prefers-color-scheme: light) {
    body {
      background-color: var(--color-bg);
      color: var(--color-text);
    }
  }
  
  /* Universal reset */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  /* Base elements */
  html, body {
    height: 100%;
    scroll-behavior: smooth;
    font-family: var(--font-body);
    background-color: var(--color-bg);
    color: var(--color-text);
  }
  
  /* Links */
  a {
    color: var(--color-accent);
    text-decoration: none;
  }
  a:hover,
  a:focus {
    text-decoration: underline;
  }
  
  /* Forms & buttons */
  button, input {
    font-family: inherit;
  }
  button:focus,
  input:focus {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }
  
  /* Media queries */
  @media (max-width: 360px) {
    body {
      font-size: 14px;
    }
  }
  
  /* Accessibility */
  :focus-visible {
    outline: 3px dashed var(--color-accent);
    outline-offset: 4px;
  }
  /* ===== 卡片悬停效果 ===== */
.rounded-4.bg-white.shadow-sm {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rounded-4.bg-white.shadow-sm:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(74, 74, 106, 0.15) !important;
}

/* ===== 紫色勾选图标 ===== */
.fa-check-circle {
  color: #6B6B9A !important;
}

/* ===== Hero 区域响应式 ===== */
@media (max-width: 768px) {
  .hero-section {
    padding: 50px 0 !important;
    border-radius: 0 0 30px 30px !important;
  }
  .display-3 {
    font-size: 2.2rem !important;
  }
}