/* Brief, one-shot transitions. All content stays still while being read. */
@media(prefers-reduced-motion:no-preference){
 .view-enter{animation:sanctis-page-arrive .36s cubic-bezier(.22,1,.36,1) both}
 .reveal-pending{opacity:0;transform:translateY(16px)}
 .reveal-shown{animation:sanctis-section-arrive .48s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both}
 .reveal-instant{animation:none!important;opacity:1;transform:none}
 .view-enter .hero-quote{animation:sanctis-word-arrive .6s cubic-bezier(.22,1,.36,1) .06s both}
 .view-enter .hero-line{transform-origin:left;animation:sanctis-rule-arrive .6s cubic-bezier(.22,1,.36,1) .12s both}
 .modal-backdrop{animation:sanctis-backdrop-in .18s ease-out both}
 .modal{transform-origin:50% 45%;animation:sanctis-dialog-arrive .28s cubic-bezier(.22,1,.36,1) both}
 .modal .saint-reading>h2{animation:sanctis-word-arrive .38s cubic-bezier(.22,1,.36,1) .05s both}
 .btn,.icon-button,.topic-chip,.collection-nav button,.calendar-day,.calendar-library-links>button{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s cubic-bezier(.22,1,.36,1)}
 .btn:active:not(:disabled),.icon-button:active:not(:disabled),.topic-chip:active:not(:disabled),.collection-nav button:active:not(:disabled){transform:translateY(1px) scale(.975)}
 .saint-upcoming-card:active,.feature-doors>button:active,.theology-portal:active{transform:scale(.985)}
 .btn .icon,.portal-enter .icon,.faith-card-action .icon,.arrow-corner{transition:transform .22s cubic-bezier(.22,1,.36,1)}
 .progress-fill{transition:width .5s cubic-bezier(.22,1,.36,1)}
 .formation-header-badge{transition:background-color .2s,border-color .2s}
 #saint-calendar-content>.saint-calendar-days{animation:sanctis-calendar-arrive .28s ease-out both}
 .calendar-library-links>button:hover{background:#edf1e6}
 .speech-player{animation:sanctis-player-arrive .28s cubic-bezier(.22,1,.36,1) both}
 details[open]>.passage-study-sections,details[open]>.study-catalogue-body{animation:sanctis-word-arrive .24s ease-out both}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .saint-upcoming-card,.faith-card,.resource-card,.formation-card,.parish-card,.feature-doors>button,.theology-portal{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s}
 .saint-upcoming-card:hover,.faith-card:hover,.resource-card:hover,.formation-card:hover,.parish-card:hover,.feature-doors>button:hover,.theology-portal:hover{transform:translateY(-4px);box-shadow:0 20px 34px -25px #153e3350}
 .btn:hover .icon:last-child,.theology-portal:hover .portal-enter .icon,.faith-card:hover .faith-card-action .icon,.resource-card:hover .arrow-corner{transform:translateX(3px)}
 .saint-upcoming-card:active,.feature-doors>button:active,.theology-portal:active{transform:translateY(-1px) scale(.985)}
}
@keyframes sanctis-page-arrive{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sanctis-section-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sanctis-word-arrive{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sanctis-rule-arrive{from{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}
@keyframes sanctis-dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sanctis-calendar-arrive{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes sanctis-player-arrive{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){
 html,html:focus-within{scroll-behavior:auto}
 .view-enter,.reveal-pending,.reveal-shown,.reveal-instant,.hero-quote,.hero-line,.modal-backdrop,.modal,.modal .saint-reading>h2,.speech-player,#saint-calendar-content>.saint-calendar-days,.formation-article-grid details[open]{animation:none!important}
 .view-enter,.reveal-pending,.reveal-shown,.reveal-instant{opacity:1;transform:none}
 .btn,.btn .icon,.icon-button,.topic-chip,.collection-nav button,.calendar-day,.calendar-library-links>button,.saint-upcoming-card,.faith-card,.resource-card,.formation-card,.parish-card,.feature-doors>button,.theology-portal,.progress-fill,.formation-header-badge,.portal-enter .icon,.faith-card-action .icon,.arrow-corner,#toast{transition:none!important}
 .btn:hover,.btn:active,.icon-button:active,.saint-upcoming-card:hover,.saint-upcoming-card:active,.faith-card:hover,.resource-card:hover,.formation-card:hover,.parish-card:hover,.feature-doors>button:hover,.feature-doors>button:active,.theology-portal:hover,.theology-portal:active{transform:none}
}
