/* Keyboard access without altering the established visual design. */
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 10000; padding: .75rem 1rem; background: white; color: #2D5016; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #2D5016; outline-offset: 3px; }
main { min-width: 0; }
main p, footer a { overflow-wrap: anywhere; }
img, video { max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.video-control { position: absolute; right: 1rem; bottom: 1rem; z-index: 10; background: #2D5016; color: white; padding: .65rem 1rem; border-radius: .75rem; }

/* Use dark brand text on bright brand buttons for readable contrast. */
a[class~="bg-[#6DBE45]"][class~="text-white"], button[class~="bg-[#6DBE45]"][class~="text-white"] { color: #203810; }
button[class~="bg-[#6DBE45]"][class~="text-white"]:hover, a[class~="bg-[#6DBE45]"][class~="text-white"]:hover { color: #172a0b; }
.video-control { min-height: 44px; }
