/* ============================================
   ACCESSIBILITY (A11Y)
   ============================================ */

.skip-link { 
    position: absolute; 
    top: -40px; 
    left: 0; 
    background: #FF6B9D; 
    color: #fff; 
    padding: 8px 16px; 
    text-decoration: none; 
    font-weight: 600; 
    z-index: 10001; 
    border-radius: 0 0 8px 0; 
}

.skip-link:focus { 
    top: 0; 
}

*:focus-visible { 
    outline: 3px solid #FF6B9D; 
    outline-offset: 2px; 
}

button:focus-visible, 
a:focus-visible, 
.mobile-menu-toggle:focus-visible { 
    outline: 3px solid #4ECDC4; 
    outline-offset: 3px; 
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { 
        animation-duration: 0.01ms !important; 
        animation-iteration-count: 1 !important; 
        transition-duration: 0.01ms !important; 
    }
    .loader-spinner { 
        animation: none; 
        border: 5px solid #FF6B9D; 
    }
}

@media (prefers-contrast: high) {
    body { 
        background: #fff !important; 
    }
    .hero-title, .section-title { 
        -webkit-text-fill-color: #2D1B4E !important; 
        background: none !important; 
        color: #2D1B4E !important; 
    }
    a, button { 
        text-decoration: underline; 
    }
}

.sr-only { 
    position: absolute; 
    width: 1px; 
    height: 1px; 
    padding: 0; 
    margin: -1px; 
    overflow: hidden; 
    clip: rect(0,0,0,0); 
    white-space: nowrap; 
    border: 0; 
}

@media (prefers-reduced-motion: no-preference) { 
    html { 
        scroll-behavior: smooth; 
    } 
}
