.skip-link {
    position: fixed;
    top: var(--space-4);
    left: var(--space-4);
    z-index: 1000;
    padding: 0.75rem 1rem;
    background: var(--color-surface-inverse);
    color: var(--color-text-inverse);
    font-weight: 700;
    border-radius: var(--radius-sm);
    transform: translateY(-200%);
    transition: transform var(--transition-fast);
}

.skip-link:focus {
    transform: translateY(0);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

.noscript-notice {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 2000;
    padding: 1rem;
    background: var(--color-warning-soft);
    color: var(--color-warning);
    border: 1px solid currentColor;
    text-align: center;
}

.u-visually-hidden {
    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;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1;
        transform: none;
    }
}
