/* W107: site polish (home page first). Keyboard focus rings, a skip link, a calm one-time scroll reveal and a global
   reduced-motion switch. Motion rules: one gentle rise (14px, 450ms) per section, once, never loops, never moves layout
   (opacity and transform only), and shows everything at once without JavaScript or when the visitor asks for reduced motion. */

/* keyboard focus: a teal ring with a white halo, visible on both light and dark teal backgrounds. Mouse clicks do not show it. */
:focus-visible { outline: 3px solid #005B63 !important; outline-offset: 2px; box-shadow: 0 0 0 5px #fff; border-radius: 4px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-radius: inherit; }

/* skip link: the first thing a keyboard or screen-reader user reaches */
.skip-link { position: absolute; left: 12px; top: -64px; z-index: 10000; background: #005B63; color: #fff; padding: 12px 18px; border-radius: 10px; font-weight: 700; text-decoration: none; transition: top .15s; }
.skip-link:focus { top: 12px; }
html[dir="rtl"] .skip-link { left: auto; right: 12px; }

/* one-time scroll reveal: only when polish.js has switched it on, so no-JavaScript visitors see everything */
.rv-on .rv:not(.rv-in) { opacity: 0; transform: translateY(14px); }
.rv-on .rv { transition: opacity .45s ease, transform .45s ease; }
.rv-on .rv.rv-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .rv-on .rv:not(.rv-in), .rv-on .rv.rv-in { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* W113: home hero. The teal highlight and the phone menu button were hard to see on the dark photo. */
.hero-title .bright-green { color: #5FD4C6 !important; }
.navbar:not(.scrolled) .hamburger { color: #fff; }
