html { scroll-behavior: smooth; }
body.vet-page { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
body.vet-page .container-bleed { max-width: 1200px; margin: 0 auto; }
body.vet-page .glass { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.vet-page .shadow-soft { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
body.vet-page .button-glow { 
  background: linear-gradient(to right, #1e3a8a, #3b82f6); 
  color: white; 
  transition: box-shadow 0.3s, transform 0.3s; 
}
body.vet-page .button-glow:hover { 
  box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); 
  transform: scale(1.05); 
}
body.vet-page .button-glow:active { 
  transform: scale(0.98); 
}
body.vet-page .mobile-dock-button { 
  background: rgba(255, 255, 255, 0.9); 
  backdrop-filter: blur(10px); 
  -webkit-backdrop-filter: blur(10px); 
  border: 1px solid rgba(75, 85, 99, 0.5); 
  color: #1f2937; 
  transition: transform 0.3s, box-shadow 0.3s; 
}
body.vet-page .mobile-dock-button:hover { 
  transform: scale(1.05); 
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); 
}
body.vet-page .mobile-dock-button:active { 
  transform: scale(0.98); 
}
body.vet-page .logo-pulse { 
  display: inline-block; 
  transition: transform 0.3s; 
}
body.vet-page .logo-pulse:hover { 
  transform: scale(1.05); 
}
body.vet-page .nav-link { 
  color: #4b5563; 
  transition: color 0.2s; 
  position: relative; 
}
body.vet-page .nav-link:hover { 
  color: #1f2937; 
}
body.vet-page .nav-link::after { 
  content: ''; 
  position: absolute; 
  width: 0; 
  height: 2px; 
  bottom: -2px; 
  left: 0; 
  background: #1e3a8a; 
  transition: width 0.3s ease; 
}
body.vet-page .nav-link:hover::after { 
  width: 100%; 
}
body.vet-page .parallax { 
  transform: translateY(0); 
  transition: transform 0.1s linear; 
  background-attachment: fixed; 
  background-position: center; 
  background-size: cover; 
}
body.vet-page .animate-section { 
  opacity: 0; 
  transform: translateY(20px); 
  transition: opacity 0.5s, transform 0.5s; 
}
body.vet-page .animate-section.visible { 
  opacity: 1; 
  transform: translateY(0); 
}
body.vet-page .animate-card { 
  opacity: 0; 
  transform: translateY(20px); 
  transition: opacity 0.5s, transform 0.5s; 
}
body.vet-page .animate-card.visible { 
  opacity: 1; 
  transform: translateY(0); 
}
body.vet-page .animate-heading { 
  opacity: 0; 
  transform: translateY(10px); 
  transition: opacity 0.5s, transform 0.5s; 
}
body.vet-page .animate-heading.visible { 
  opacity: 1; 
  transform: translateY(0); 
}
@media (max-width: 767px) {
  body.vet-page .parallax { background-attachment: scroll; }
  body.vet-page #mobileDock.hidden { display: none; }
}