/* Optional movement for the Tri Cities homepage. No content depends on it. */
@keyframes tri-cities-reveal {
  from { opacity: 0; translate: 0 22px; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .scroll-revealed {
    animation: tri-cities-reveal 700ms cubic-bezier(.2,.65,.25,1) var(--reveal-delay, 0ms) both;
  }
  .scroll-revealed.reveal-without-motion,
  .scroll-revealed:focus-within { animation: none; }
}

.option-01-cinematic-dark .program-card,
.option-01-cinematic-dark .member-review {
  transition: transform 260ms ease, box-shadow 260ms ease, background-color 260ms ease, border-color 260ms ease;
}
.club-image img { transition: transform 650ms cubic-bezier(.2,.65,.25,1); }
.button > span, .family-icon { transition: transform 260ms ease; }
.family-grid article { transition: transform 260ms ease; }
.family-grid h3, .socials a, .watch-link { transition: color 200ms ease; }
.faq summary { transition: color 200ms ease, background-color 200ms ease; }

@media (hover: hover) and (pointer: fine) {
  .option-01-cinematic-dark .program-card:hover,
  .option-01-cinematic-dark .member-review:hover {
    transform: translateY(-5px);
    background-color: #2c2c2c;
    box-shadow: 0 14px 28px #0003;
  }
  .option-01-cinematic-dark .member-review:hover { border-color: #777; }
  .club-image:hover img { transform: scale(1.035); }
  .button:hover > span { transform: translate(3px,-3px); }
  .family-grid article:hover { transform: translateY(-4px); }
  .family-grid article:hover .family-icon { transform: translateY(-3px); }
  .family-grid article:hover h3, .socials a:hover, .watch-link:hover { color: #f7978f; }
  .faq summary:hover { background-color: #ffffff06; color: #f7978f; }
}

.option-01-cinematic-dark .program-card:focus-within { box-shadow: 0 0 0 1px #888; }
.button:focus-visible > span { transform: translate(3px,-3px); }
.header nav a:focus-visible:after { width: 100%; }
.faq summary:focus-visible, .socials a:focus-visible { color: #f7978f; }
.button:active { transform: translateY(1px); }

@media (prefers-reduced-motion: reduce) {
  .scroll-revealed { animation: none !important; opacity: 1; translate: none; }
  .program-card, .member-review, .family-grid article, .family-icon,
  .club-image img, .card-image img, .button, .button > span,
  .program-name span, .text-button > span, .film-play > span:first-child {
    transform: none !important;
  }
}
@media print {
  .scroll-revealed { animation: none !important; opacity: 1; translate: none; }
}
