
:root {
  --bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
html { scroll-behavior: smooth; }
body { transition: background-color 0.3s ease, color 0.3s ease; }
.glass-nav {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
[data-bs-theme="dark"] .glass-nav {
  background: rgba(10, 10, 10, 0.85);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.hero-section {
  padding: 160px 0 100px;
  background: radial-gradient(circle at top right, rgba(0,0,0,0.03), transparent 50%);
}
[data-bs-theme="dark"] .hero-section {
  background: radial-gradient(circle at top right, rgba(255,255,255,0.03), transparent 50%);
}
.rounded-card { border-radius: 20px; }
.icon-square {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px; background: rgba(0,0,0,0.03);
  font-size: 24px; margin-bottom: 16px;
}
[data-bs-theme="dark"] .icon-square { background: rgba(255,255,255,0.05); }
.mandatory-disclaimer {
  border-left: 4px solid #dc3545;
  background: rgba(220,53,69,0.05);
}
.skip-link {
  position: absolute; top: -40px; left: 0;
  background: #000; color: #fff; padding: 8px; z-index: 9999;
  text-decoration: none; font-weight: bold;
}
.skip-link:focus { top: 0; }
.text-balance { text-wrap: balance; }
.hover-white:hover { color: #fff !important; }
