.skip-links {
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 10000;
}

.skip-link {
    position: absolute;
    top: 0;
    left: 0;
    background: #004e92;
    color: white;
    padding: 0.5rem 1rem;
    text-decoration: none;
    font-weight: bold;
    border-radius: 0 0 4px 0;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

.skip-link:focus {
    transform: translateY(0);
    top: 0;
    z-index: 10001;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.btn:focus,
a:focus,
button:focus {
    outline: 2px solid #004e92;
    outline-offset: 2px;
}

a {
    color: #004e92;
}

a:hover,
a:focus {
    color: #0066cc;
    text-decoration: underline;
}

.site-footer .social-link,
.site-footer .footer-social a,
.site-footer .footer-social a:hover,
.site-footer .footer-social a:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

.site-footer .social-link i,
.site-footer .social-link .fab,
.site-footer .social-link .fas,
.site-footer .footer-social a i,
.site-footer .footer-social a .fab,
.site-footer .footer-social a .fas,
.site-footer .social-link:hover i,
.site-footer .social-link:hover .fab,
.site-footer .social-link:hover .fas,
.site-footer .footer-social a:hover i,
.site-footer .footer-social a:hover .fab,
.site-footer .footer-social a:hover .fas {
    color: #ffffff !important;
}

.site-footer .social-link i::before,
.site-footer .social-link .fab::before,
.site-footer .social-link .fas::before,
.site-footer .footer-social a i::before,
.site-footer .footer-social a .fab::before,
.site-footer .footer-social a .fas::before,
.site-footer .social-link:hover i::before,
.site-footer .social-link:hover .fab::before,
.site-footer .social-link:hover .fas::before,
.site-footer .footer-social a:hover i::before,
.site-footer .footer-social a:hover .fab::before,
.site-footer .footer-social a:hover .fas::before {
    color: #ffffff !important;
}

.btn {
    position: relative;
}

.btn:focus {
    box-shadow: 0 0 0 3px rgba(0, 78, 146, 0.3);
}

.stat-number {
    font-weight: 900;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.stat-label {
    font-weight: 600;
    color: #e3f2fd;
}

.hero-title {
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8), 2px 2px 4px rgba(0, 0, 0, 0.9), 1px 1px 2px rgba(0, 0, 0, 1);
}

.hero-subtitle {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.9);
}

.hero-description {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.6);
}

@media (max-width:768px) {
    .skip-link {
        font-size: 0.9rem;
        padding: 0.4rem 0.8rem;
    }

    .hero-title {
        font-size: 2rem;
        line-height: 1.3;
    }

    .hero-subtitle {
        font-size: 1.1rem;
    }

    .hero-description {
        font-size: 0.95rem;
        line-height: 1.5;
    }
}

@media (prefers-reduced-motion:reduce) {

    .btn,
    .stat-card {
        transition: none;
    }

    .btn:hover,
    .btn:focus,
    .stat-card:hover {
        transform: none;
    }
}

@media (prefers-contrast:high) {

    .hero-title,
    .hero-subtitle,
    .hero-description {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 1);
    }

    .btn {
        border: 2px solid currentColor;
    }

    .btn-primary {
        background: #004e92;
        color: white;
        border-color: white;
    }

    .btn-secondary {
        background: transparent;
        color: white;
        border-color: white;
    }
}

@media (prefers-color-scheme:dark) {
    .skip-link {
        background: #0066cc;
        color: white;
    }
}