/* Motion enhances the existing layout; it never conceals content at rest. */
html { scroll-behavior: smooth; }
.fpc-redesign { --fpc-motion-ease: cubic-bezier(.22,1,.36,1); }
body .fpc-redesign.fpc-template .fpc-template-header {
  transition: box-shadow 300ms ease, background-color 300ms ease;
}
html[data-fpc-scrolled] .fpc-redesign.fpc-template .fpc-template-header {
  box-shadow: 0 4px 20px #152b4012;
}
body .fpc-redesign.fpc-template :is(.fpc-btn,.fpc-template-toggle,.fpc-header-search-toggle,.fpc-gallery-more) {
  transition: translate 220ms var(--fpc-motion-ease), background-color 220ms ease, color 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
body .fpc-redesign.fpc-template :is(.fpc-btn,button):active:not(:disabled) { translate: 0 1px; }
body .fpc-redesign.fpc-template :is(.fpc-field input,.fpc-field textarea,.fpc-field select) {
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
body .fpc-redesign.fpc-template .fpc-field:focus-within :is(input,textarea,select) {
  border-color: #29705e; box-shadow: 0 0 0 3px #29705e18;
}
body .fpc-redesign.fpc-template :is(.fpc-nav-group>summary svg,.fpc-footer-toggle svg) {
  transition: transform 220ms var(--fpc-motion-ease);
}
body .fpc-redesign.fpc-template :is(.fpc-template-card-image,.fpc-template-moment,.fpc-gallery-item) img {
  transition: transform 650ms var(--fpc-motion-ease), filter 650ms ease;
}
body .fpc-redesign.fpc-template :is(.fpc-template-text-link,.fpc-template-schedule-row,.fpc-sermon-action,.fpc-footer a) {
  transition: color 220ms ease, background-color 220ms ease;
}
body .fpc-redesign.fpc-template :is(.fpc-template-row-arrow,.fpc-sermon-icon) {
  transition: translate 260ms var(--fpc-motion-ease);
}
body .fpc-redesign.fpc-template .fpc-template-moment>span {
  transition: translate 350ms var(--fpc-motion-ease), background-color 350ms ease;
}
body .fpc-redesign.fpc-template .fpc-template-slide.is-active img {
  animation: fpc-photo-drift 7s ease-out both;
}
body .fpc-redesign.fpc-template .fpc-template-hero:has([data-slide-playback].is-paused) .fpc-template-slide img,
body .fpc-redesign.fpc-template .fpc-template-hero:is(:hover,:focus-within) .fpc-template-slide img,
html[data-fpc-motion-paused] .fpc-redesign.fpc-template .fpc-template-slide img { animation-play-state: paused; }
@keyframes fpc-photo-drift { from { transform: scale(1.025); } to { transform: scale(1); } }

/* Fine-pointer effects do not leave sticky hover states on touch screens. */
@media (hover:hover) and (pointer:fine) {
  body .fpc-redesign.fpc-template .fpc-btn:hover { translate: 0 -2px; box-shadow: 0 5px 12px #152b4020; }
  body .fpc-redesign.fpc-template :is(.fpc-template-card:hover .fpc-template-card-image,.fpc-template-moment:hover,.fpc-gallery-item:hover) img { transform: scale(1.045); }
  body .fpc-redesign.fpc-template .fpc-template-moment:hover>span { translate: 0 -3px; background-color: #1f3856; }
  body .fpc-redesign.fpc-template .fpc-template-schedule-row:hover .fpc-template-row-arrow { translate: 4px 0; }
  body .fpc-redesign.fpc-template .fpc-sermon-action:hover .fpc-sermon-icon { translate: 0 -2px; }
  body .fpc-redesign.fpc-template :is(#fpc-primary-menu>a:not(.fpc-btn),.fpc-nav-group>summary) { position: relative; }
  body .fpc-redesign.fpc-template :is(#fpc-primary-menu>a:not(.fpc-btn),.fpc-nav-group>summary)::after {
    content: ''; position: absolute; inset-inline: 0; bottom: -6px; height: 1px; background: #a97e17;
    transform: scaleX(0); transform-origin: left; transition: transform 250ms var(--fpc-motion-ease); pointer-events: none;
  }
  body .fpc-redesign.fpc-template :is(#fpc-primary-menu>a:not(.fpc-btn),.fpc-nav-group>summary):hover::after { transform: scaleX(1); }
}
@media (max-width:767px) {
  body .fpc-redesign.fpc-template .fpc-template-slide.is-active img { animation: none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  body .fpc-redesign.fpc-template * { animation: none!important; transition: none!important; }
  body .fpc-redesign.fpc-template :is(.fpc-btn,button,.fpc-template-row-arrow,.fpc-sermon-icon,.fpc-template-moment>span) { translate: none!important; }
  body .fpc-redesign.fpc-template :is(.fpc-template-slide,.fpc-template-card-image,.fpc-template-moment,.fpc-gallery-item) img { transform: none!important; }
}
@media print { html { scroll-behavior: auto; } }
