.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;
}

.bg-slate-100 {
    background-color: var(--grc-slate-100);
}

.skip-link {
    position: absolute;
    left: 16px;
    top: 12px;
    z-index: 9999;
    transform: translateY(-140%);
    padding: 10px 14px;
    background: var(--grc-blue-600);
    color: var(--grc-white);
    text-decoration: none;
    transition: transform var(--grc-speed);
}

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

.grc-muted { color: var(--grc-muted); }

.has-flow-content > * + * { margin-top: 18px; }

.alignwide { max-width: var(--grc-wide); margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }

.is-hidden { display: none !important; }

/* 18.6 — Hareket azaltılmış kullanıcılar için animasyonları kapat. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    /* Hero video hareketten rahatsız olan kullanıcılarda gizlenir;
       arkasındaki .home-hero__bg CSS background görseli devreye girer. */
    .home-hero__video {
        display: none;
    }
}

