/* Global Styles */
:root {
    --primary: #1e3a8a;
    --secondary: #e0f2fe;
    --accent: #0284c7;
}

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
}

/* Glassmorphism */
.glass-nav {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(224, 242, 254, 0.6);
}

/* Custom Animations */
@keyframes slow-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-slow-fade {
    animation: slow-fade-in 1.2s ease-out forwards;
}

/* Service Card Hover */
.service-card {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.service-card:hover {
    transform: translateY(-8px);
}

/* Scroll Indicators or Dividers */
.step-line::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, transparent, var(--secondary), transparent);
    transform: translateX(-50%);
    z-index: 0;
}

/* AOS states */
[data-aos] {
    opacity: 0;
    will-change: transform, opacity;
}

.aos-animate {
    opacity: 1 !important;
    transform: translate(0, 0) scale(1) !important;
}

/* Form Styling */
input, select, textarea {
    transition: all 0.2s ease;
}

input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 4px rgba(224, 242, 254, 0.5);
    border-color: var(--primary);
}
