body {
    font-family: 'Poppins', sans-serif;
    animation: fadeIn 0.5s ease-in-out;
}
.primary-bg { background-color: #0256ff; }
.primary-text { color: #0256ff; }
.primary-border { border-color: #0256ff; }
.secondary-bg { background-color: #f0f5ff; }
.secondary-text { color: #4a5568; }
.hero-section {
    background-image: linear-gradient(rgba(20, 30, 48, 0.6), rgba(36, 59, 85, 0.6)), url('https://images.unsplash.com/photo-1521587760476-6c12a4b040da?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.nav-link {
    position: relative;
    transition: color 0.3s ease;
    padding-bottom: 4px;
}
.nav-link:hover, .nav-link.active {
    color: #0256ff;
}
.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #0256ff;
    transition: width 0.3s ease;
}
.nav-link.active::after, .nav-link:hover::after {
    width: 100%;
}
.page {
    display: none;
}
.page.active {
    display: block;
    animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.form-input {
    transition: all 0.3s ease;
}
.form-input:focus {
    ring: 2px;
    ring-color: #0256ff;
    border-color: #0256ff;
}
.skip-link {
    position: absolute;
    left: -999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 1000;
}
.skip-link:focus {
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    background: #0256ff;
    color: #fff;
    padding: 8px 16px;
    border-radius: 0 0 8px 0;
} 