/* Theme: Colorful / High Quality Ocular Care Theme */
:root {
  --drishthi-canvas: #fafbfc;
  --drishthi-surface-secondary: #f0f4f8;
  --drishthi-surface-accent: #e2eef5;
  --drishthi-teal: #0d9488;
  --drishthi-teal-hover: #0f766e;
  --drishthi-accent-orange: #ea580c;
  --drishthi-ocean: #0e7490;
  --drishthi-ink: #0f172a;
  --drishthi-ink-muted: #475569;
  --drishthi-border-light: #cbd5e1;
  --drishthi-header-bg: rgba(255, 255, 255, 0.95);
  --drishthi-footer-bg: #0f172a;
  --drishthi-hero-shade: linear-gradient(135deg, rgba(15, 23, 42, 0.82) 0%, rgba(13, 148, 136, 0.75) 100%);
  --drishthi-brand-gradient: linear-gradient(135deg, #0d9488 0%, #0e7490 100%);
  --font-display: 'Poppins', sans-serif;
  --font-body: 'Hind', sans-serif;
  --drishthi-radius-soft: 16px;
  --drishthi-radius-pill: 999px;
  --drishthi-shadow-raised: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
}

/* Global Reset & Base Setup */
*, ::before, ::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--drishthi-canvas);
  color: var(--drishthi-ink);
  font-family: var(--font-body);
  line-height: 1.6;
}

/* CSS Scroll-driven animations (Progress bar in header) */
@keyframes drishtiScrollProgress {
  from { width: 0%; }
  to { width: 100%; }
}

.drishti-header-progress-line {
  height: 3px;
  background: var(--drishthi-brand-gradient);
  width: 0%;
  animation: drishtiScrollProgress auto linear;
  animation-timeline: scroll(root);
}

/* Section Entry Scroll Animations */
@keyframes drishtiFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.drishti-reveal-block {
  animation: drishtiFadeUp auto ease-in-out both;
  animation-timeline: view();
  animation-range: entry 10% cover 30%;
}

/* Feature Card Hover Effects */
.drishti-feature-card {
  box-shadow: var(--drishthi-shadow-raised);
}

.drishti-feature-card:hover {
  transform: translateY(-6px);
  border-color: var(--drishthi-teal) !important;
}

/* Mobile Hamburger Menu Logic (Pure CSS) */
@media (max-width: 767px) {
  .drishti-navigation-zone {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    background: var(--drishthi-canvas);
    border-bottom: 2px solid var(--drishthi-teal);
    padding: 1.5rem;
    display: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  }

  .drishti-nav-state:checked ~ .drishti-navigation-zone {
    display: block;
  }
}

/* Focus and Accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--drishthi-teal);
  outline-offset: 2px;
}