:root { --ae-ink: #102b41; --ae-accent: #087f9c; }
body { line-height: 1.65; }
.btn { border-radius: .5rem; font-weight: 600; }
.btn-primary { background-color: var(--ae-accent); border-color: var(--ae-accent); }
.btn-primary:hover, .btn-primary:focus { background-color: #06657c; border-color: #06657c; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #f5b841; outline-offset: 4px;
}
.form-control, .form-select { border-radius: .5rem; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: var(--ae-ink); }
.skip-link:focus { top: 1rem; }
#spinner { pointer-events: none; animation: ae-dismiss 0s 5s forwards; }
@keyframes ae-dismiss { to { opacity: 0; visibility: hidden; } }
@media (max-width: 767px) {
    .navbar { padding-left: 1rem !important; padding-right: 1rem !important; }
    #header-carousel .carousel-item > img { min-height: 520px; object-fit: cover; }
    #header-carousel .display-1 { font-size: clamp(2rem, 7vw, 3rem); line-height: 1.15; }
    #header-carousel .carousel-caption { padding: 1rem; }
    #header-carousel .btn { margin-bottom: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .wow { visibility: visible !important; }
}
