:root {
  --brand-navy-950: #070d1e;
  --brand-navy-900: #0b152d;
  --brand-navy-800: #102144;
  --brand-navy-700: #172d5d;
  --brand-blue-600: #2563eb;
  --brand-blue-500: #3b82f6;
  --brand-blue-400: #60a5fa;
  --brand-cyan-400: #38bdf8;
  --brand-cyan-500: #0ea5e9;
  --brand-emerald-500: #10b981;
  --brand-emerald-400: #34d399;
  --brand-amber-500: #f59e0b;
  --brand-amber-400: #fbbf24;
}

html {
  scroll-padding-top: 90px;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  max-width: 100vw;
}

@media (max-width: 639px) {
  html {
    scroll-padding-top: 55px;
  }
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #0f172a;
  background-color: #f8fafc;
  overflow-x: hidden;
  max-width: 100vw;
  -webkit-tap-highlight-color: transparent;
}

canvas, img, svg, video {
  max-width: 100%;
}

a, button, h1, h2, h3, h4, h5, h6, p, span {
  overflow-wrap: break-word;
}

a, button, input, select, textarea {
  touch-action: manipulation;
}

.font-heading, h1, h2, h3, h4 {
  font-family: 'Outfit', sans-serif;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #070d1e;
}
::-webkit-scrollbar-thumb {
  background: #1d4ed8;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #3b82f6;
}

.no-scrollbar::-webkit-scrollbar,
.scrollbar-none::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.no-scrollbar,
.scrollbar-none {
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}

/* Mobile Horizontal Slider & Snap */
#features-cards-slider {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}
@media (max-width: 767px) {
  #features-cards-slider > div {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
}

/* Header Auto-Hide */
header {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
  z-index: 60 !important;
}
header.nav-hidden {
  transform: translateY(-160%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
header a, header button {
  pointer-events: auto !important;
  cursor: pointer !important;
}
header a *, header button * {
  pointer-events: none;
}

/* Glassmorphism Styles */
.logo-glass-blue {
  background: rgba(16, 33, 68, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(59, 130, 246, 0.35);
}

.nav-glass-pill {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

.btn-glass-blue {
  background: rgba(37, 99, 235, 0.35);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(96, 165, 250, 0.6);
  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3);
}

.glass-card-dark {
  background: rgba(11, 21, 45, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(59, 130, 246, 0.28);
}

.glass-card-light {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(147, 197, 253, 0.3);
}

/* Background Gradients */
.bg-brand-hero {
  background: radial-gradient(circle at 85% 20%, rgba(56, 189, 248, 0.18) 0, transparent 45%),
              radial-gradient(circle at 15% 75%, rgba(37, 99, 235, 0.28) 0, transparent 50%),
              linear-gradient(145deg, #050a18 0%, #0a142c 45%, #102144 100%);
}

.bg-brand-medical {
  background: radial-gradient(circle at 20% 30%, rgba(56, 189, 248, 0.2) 0, transparent 40%),
              radial-gradient(circle at 80% 80%, rgba(37, 99, 235, 0.25) 0, transparent 50%),
              linear-gradient(135deg, #070d1e 0%, #0d1a38 55%, #142750 100%);
}

.bg-gradient-blue {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}
.bg-gradient-blue:hover {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.text-gradient-brand {
  background: linear-gradient(135deg, #ffffff 40%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-cyan {
  background: linear-gradient(135deg, #38bdf8 0%, #60a5fa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Glow Shadows */
.glow-blue {
  box-shadow: 0 0 25px rgba(37, 99, 235, 0.45);
}
.glow-cyan {
  box-shadow: 0 0 30px rgba(56, 189, 248, 0.35);
}
.glow-blue-sm {
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

/* Aurora Beams */
.aurora-beam-1 {
  background: radial-gradient(ellipse at center, rgba(56, 189, 248, 0.35) 0%, rgba(37, 99, 235, 0.2) 50%, transparent 75%);
  filter: blur(65px);
  will-change: transform;
}

.aurora-beam-2 {
  background: radial-gradient(ellipse at center, rgba(96, 165, 250, 0.3) 0%, rgba(16, 185, 129, 0.16) 50%, transparent 75%);
  filter: blur(60px);
  will-change: transform;
}

@media (min-width: 1024px) {
  .aurora-beam-1 {
    animation: glideAurora1 5s ease-in-out infinite alternate;
  }
  .aurora-beam-2 {
    animation: glideAurora2 6s ease-in-out infinite alternate;
  }
  @keyframes glideAurora1 {
    0% { transform: translate3d(-10%, 0, 0); }
    50% { transform: translate3d(60%, 15%, 0); }
    100% { transform: translate3d(115%, -10%, 0); }
  }
  @keyframes glideAurora2 {
    0% { transform: translate3d(10%, 0, 0); }
    50% { transform: translate3d(-55%, -15%, 0); }
    100% { transform: translate3d(-110%, 10%, 0); }
  }
}

/* Pulse Live Status */
@keyframes pulseDoctorIn {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
.pulse-doctor-in {
  animation: pulseDoctorIn 2s infinite;
}

/* Floating animation */
@keyframes floatSubtle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.animate-float {
  animation: floatSubtle 4s ease-in-out infinite;
}

/* Mobile Bottom Navigation */
.mobile-bottom-nav {
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 60 !important;
  touch-action: manipulation !important;
  box-shadow: 0 12px 35px rgba(5, 10, 24, 0.85), 0 0 15px rgba(59, 130, 246, 0.25) !important;
}

#mobile-menu-drawer {
  z-index: 70 !important;
}

/* Range slider styling */
input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  background: #1e293b;
  height: 8px;
  border-radius: 5px;
  outline: 0;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #3b82f6;
  cursor: pointer;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.8);
  border: 2px solid #ffffff;
  transition: transform 0.15s ease-in-out;
}
input[type=range]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}

/* Interactive Tabs */
.simulator-tab-btn.active {
  border-bottom-color: #3b82f6 !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}

/* Poll Bar Animation */
.poll-bar {
  transition: width 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
