/* Restrained site-wide refinement for the protected preview. */
.fest-hero-copy {
  animation: hero-copy-in 680ms cubic-bezier(.2,.75,.25,1) both;
}

.page-heading h1,
.compact-hero h1,
.inner-hero h1 {
  line-height: 1.02;
  letter-spacing: -.025em;
}

.section-heading { gap: 1.25rem; }
.section-heading h2,
.media-section-heading h2,
.hub-navigation-heading h2 { text-wrap: balance; }

.page-heading,
.compact-hero-content,
.inner-hero-copy { animation: hero-copy-in 620ms cubic-bezier(.2,.75,.25,1) both; }

/* Cards keep the quiet editorial style; movement appears only on interaction. */
.hub-card,
.pathway-card,
.photo-archive-card,
.video-card,
.brotherhood-card,
.news-archive-list article {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.hub-card:hover,
.hub-card:focus-visible,
.pathway-card:hover,
.pathway-card:focus-visible,
.photo-archive-card:hover,
.photo-archive-card:focus-within,
.video-card:hover,
.video-card:focus-within,
.brotherhood-card:hover,
.news-archive-list article:hover {
  transform: translateY(-3px);
}

.hub-card img,
.pathway-card img,
.photo-archive-card img,
.video-card img { transition: transform 300ms ease; }

.hub-card:hover img,
.hub-card:focus-visible img,
.pathway-card:hover img,
.pathway-card:focus-visible img,
.photo-archive-card:hover img,
.photo-archive-card:focus-within img,
.video-card:hover img,
.video-card:focus-within img { transform: scale(1.025); }

.archive-year-nav a,
.filter-chip,
.archive-pagination a,
.news-read,
.brotherhood-links a { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease; }

.archive-toolbar input,
.archive-toolbar select,
.search-dialog input,
.contribute-form input,
.contribute-form textarea,
.contribute-form select {
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.archive-toolbar input:focus-visible,
.archive-toolbar select:focus-visible,
.search-dialog input:focus-visible,
.contribute-form input:focus-visible,
.contribute-form textarea:focus-visible,
.contribute-form select:focus-visible {
  border-color: var(--green-900);
  box-shadow: 0 0 0 3px #0c4a3b1c;
}

.fest-entrypoints {
  gap: .75rem;
  margin-top: 1rem;
  border: 0;
}

.fest-entrypoints a,
.fest-entrypoints a:first-child,
.fest-entrypoints a:last-child {
  gap: .9rem;
  min-height: 5.25rem;
  padding: .9rem 1rem;
  border: 1px solid #e5e7df;
  border-radius: .85rem;
  background: #fff;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.fest-entrypoints a:hover,
.fest-entrypoints a:focus-visible {
  transform: translateY(-3px);
  border-color: #c6d1c5;
  box-shadow: 0 8px 20px #082d2712;
}

.entry-icon { transition: transform 180ms ease, background-color 180ms ease; }
.fest-entrypoints a:hover .entry-icon,
.fest-entrypoints a:focus-visible .entry-icon {
  transform: scale(1.06);
  background: #e3e9dd;
}

.home-news { padding-top: clamp(3rem, 5vw, 4.5rem); }
.home-news .news-card {
  border: 1px solid #e6e7e0;
  border-radius: .8rem;
  background: #fff;
  overflow: hidden;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.home-news .news-card:hover,
.home-news .news-card:focus-within {
  transform: translateY(-4px);
  border-color: #d3dbd0;
  box-shadow: 0 12px 28px #082d2714;
}

.home-news .news-card-body { padding: 1rem 1.1rem 1.2rem; }
.home-news .news-card-image:not(.news-card-image-poster) img { transition: transform 320ms ease; }
.home-news .news-card:hover .news-card-image:not(.news-card-image-poster) img,
.home-news .news-card:focus-within .news-card-image:not(.news-card-image-poster) img { transform: scale(1.025); }

.calendar-shell { border-radius: .9rem; }
.calendar-list > a {
  border-radius: .65rem;
  transition: background-color 160ms ease, padding 160ms ease;
}
.calendar-list > a:hover,
.calendar-list > a:focus-visible { padding-inline: .75rem; background: #e3e9dd; }

/* Reveal major page and article sections once; individual cards stay still. */
.motion-ready .section.reveal.is-visible,
.motion-ready .post-feature.reveal.is-visible,
.motion-ready .post-reading-layout.reveal.is-visible,
.motion-ready .post-gallery.reveal.is-visible,
.motion-ready .post-film.reveal.is-visible {
  animation: section-reveal 520ms cubic-bezier(.2,.75,.25,1) var(--reveal-delay, 0ms) both;
}

@media (max-width: 46rem) {
  .fest-entrypoints { gap: .5rem; }
  .fest-entrypoints a,
  .fest-entrypoints a:first-child,
  .fest-entrypoints a:last-child { min-height: 0; padding: .8rem; }
  .home-news .news-card-body { padding: .9rem 1rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .fest-hero-copy { animation: none; }
  .page-heading,
  .compact-hero-content,
  .inner-hero-copy,
  .hub-card,
  .pathway-card,
  .photo-archive-card,
  .video-card,
  .brotherhood-card,
  .news-archive-list article,
  .hub-card img,
  .pathway-card img,
  .photo-archive-card img,
  .video-card img { animation: none; transition: none; }
  .fest-entrypoints a,
  .entry-icon,
  .home-news .news-card,
  .home-news .news-card-image img,
  .calendar-list > a { transition: none; }
  .motion-ready .section.reveal.is-visible,
  .motion-ready .post-feature.reveal.is-visible,
  .motion-ready .post-reading-layout.reveal.is-visible,
  .motion-ready .post-gallery.reveal.is-visible,
  .motion-ready .post-film.reveal.is-visible { animation: none; }
}
