/* --- CUSTOM THEMATIC VARIABLES --- */
:root {
  /* Dynamic Palette: Deep Emerald & Clean Sand (Light Theme with vivid health accent) */
  --vitalis-bg-light: #fbfbfa;
  --vitalis-bg-dark: #0a1410;
  --vitalis-surface: rgba(251, 251, 250, 0.85);
  --vitalis-surface-dark: rgba(10, 20, 16, 0.95);
  --vitalis-accent-glow: #10b981;  /* Emerald */
  --vitalis-accent-warm: #d97706;  /* Warm Amber */
  --vitalis-text-dark: #111d18;
  --vitalis-text-light: #f3f7f5;
  --vitalis-border-glass: rgba(16, 185, 129, 0.2);
  --vitalis-gradient-accent: linear-gradient(135deg, #0e2e1e 0%, #10b981 100%);
  
  /* Fonts Configuration */
  --font-display: 'Lora', Georgia, serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  /* Parameters */
  --border-radius-soft: 16px;
  --shadow-depth-raised: 0 10px 30px -10px rgba(11, 29, 20, 0.15);
}

/* Base Body Styles */
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headers Typography case parameter: uppercase */
h1, h2, h3, .v-nav-link {
  text-transform: uppercase;
}

/* --- SCROLL DRIVEN ANIMATIONS (CSS ONLY) --- */

/* Scroll Driven Progress Bar */
@keyframes progress-grow {
  to { width: 100%; }
}
.v-scroll-progress {
  height: 4px;
  width: 0;
  background: var(--vitalis-accent-glow);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  animation: progress-grow linear;
  animation-timeline: scroll();
}

/* Fade-In-Up Animation viewport entry triggers */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Base padding rule for all content sections except Hero */
.v-section-spacing {
  padding-top: 10dvh;
  padding-bottom: 10dvh;
}

/* --- GLASSMORPHISM COMPONENTS --- */
.v-glass-card {
  background: rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: var(--shadow-depth-raised);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.v-glass-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(16, 185, 129, 0.25);
  background: rgba(255, 255, 255, 0.7);
}

.v-glass-card-dark {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Non-interactive card transformations */
.v-wide-quote {
  box-shadow: var(--shadow-depth-raised);
}

/* --- ADAPTIVE NAVIGATION (CSS ONLY HAMBURGER) --- */
#v-menu-toggle:checked ~ .v-main-nav {
  display: block;
}

@media (max-width: 767px) {
  .v-main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--vitalis-surface-dark);
    padding: 1.5rem;
    border-bottom: 2px solid var(--vitalis-border-glass);
    z-index: 40;
  }
  
  .v-main-nav ul {
    flex-direction: column;
    gap: 1.25rem;
  }

  .v-nav-link {
    color: var(--vitalis-text-light) !important;
    display: block;
    padding: 0.5rem 0;
  }

  .v-header-container {
    flex-direction: row-reverse; /* Flip positioning to fit navigation on left logically */
  }
}

/* Menu Toggle Animation styling */
.v-burger-btn {
  height: 20px;
  width: 24px;
}

/* --- BUTTON HOVER EFFECTS --- */
.v-btn-pill {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 15px rgba(217, 119, 6, 0.3);
}

.v-btn-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(217, 119, 6, 0.5);
  filter: brightness(1.1);
}

/* Accent Button Hover override */
button[type="submit"] {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
button[type="submit"]:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.4);
}

/* Form input styling interactions */
input:focus, textarea:focus {
  border-bottom-color: var(--vitalis-accent-glow) !important;
  box-shadow: 0 1px 0 0 var(--vitalis-accent-glow);
}