/* Small, branch-coloured responses to visitor exploration. */
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .school-page .campaign-hero-visual img,
  .family-page .family-hero-visual img { transition: transform .7s cubic-bezier(.22,1,.36,1); }
  .school-page .campaign-hero-visual:hover img,
  .family-page .family-hero-visual:hover img { transform: scale(1.025); }

  .school-page .support-grid a,
  .school-page .featured-components article,
  .school-page .competency-grid li { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
  .school-page .support-grid a:hover,
  .school-page .featured-components article:hover,
  .school-page .competency-grid li:hover { transform: translateY(-4px); box-shadow: 0 16px 30px #0d432f16; border-color:#72a95d; }
  .school-page .programme-accordions details { transition: border-color .25s ease, box-shadow .25s ease; }
  .school-page .programme-accordions details:hover,
  .school-page .programme-accordions details:focus-within { border-color:#72a95d;box-shadow:0 7px 24px #0d432f12; }

  .family-page .family-start-options button,
  .family-page .family-possibility-grid article,
  .family-page .family-difference-grid article { transition: background .28s ease, border-color .28s ease, box-shadow .28s ease; }
  .family-page .family-start-options button:hover,
  .family-page .family-start-options button:focus-visible,
  .family-page .family-possibility-grid article:hover,
  .family-page .family-difference-grid article:hover { border-color:#c59b25;box-shadow:0 12px 30px #a77e1924;background:#fff9de; }

  .leader-page .leader-programme,
  .leader-page .leader-method-grid article,
  .leader-page .leader-focus-grid article { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .leader-page .leader-programme:hover,
  .leader-page .leader-method-grid article:hover,
  .leader-page .leader-focus-grid article:hover { transform:translateY(-5px);box-shadow:0 18px 36px #43295318;border-color:#a573b0; }
  .leader-page .leader-programme:focus-within { box-shadow:0 18px 36px #43295320;border-color:#a573b0; }
  .leader-page .leader-impact-list span { transition: background .25s ease, border-color .25s ease; }
  .leader-page .leader-impact-list span:hover { background:#efe0f3;border-color:#69407b; }
}

/* Slow breathing draws attention to one useful focal point per section. */
@media (prefers-reduced-motion:no-preference) {
  .school-page .campaign-hero-visual figcaption { animation: school-breathe 7.5s ease-in-out infinite; }
  .family-page .family-hero-visual figcaption { animation: family-breathe 8s ease-in-out infinite; }
  .family-page .family-start-options button.is-selected { animation: family-choice-breathe 7s ease-in-out infinite; }
  .leader-page .leader-hero-actions .leader-button { animation: leader-breathe 8s ease-in-out infinite; }
  .school-page .campaign-hero-visual:hover figcaption,
  .family-page .family-hero-visual:hover figcaption,
  .family-page .family-start-options button.is-selected:hover,
  .family-page .family-start-options button.is-selected:focus-visible,
  .leader-page .leader-hero-actions .leader-button:hover,
  .leader-page .leader-hero-actions .leader-button:focus-visible { animation-play-state:paused; }
}

@keyframes school-breathe {
  0%,100% { transform:translateY(0);box-shadow:8px 8px 0 #dfeade; }
  50% { transform:translateY(-4px);box-shadow:8px 12px 20px #23785030; }
}
@keyframes family-breathe {
  0%,100% { transform:translateY(0);box-shadow:8px 8px 0 #a77a13; }
  50% { transform:translateY(-4px);box-shadow:8px 12px 22px #9b701644; }
}
@keyframes family-choice-breathe {
  0%,100% { box-shadow:0 0 0 0 #c59b2500; }
  50% { box-shadow:0 0 0 7px #c59b2526; }
}
@keyframes leader-breathe {
  0%,100% { box-shadow:0 0 0 0 #69407b00; }
  50% { box-shadow:0 0 0 8px #69407b2b; }
}
