/* Fast, progressive page transitions. Links remain ordinary browser navigation. */
@view-transition{navigation:auto}
@keyframes site-page-out{to{opacity:0}}
@keyframes site-page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
::view-transition-old(root){animation:site-page-out 130ms ease-out both}
::view-transition-new(root){animation:site-page-in 260ms cubic-bezier(.22,.7,.3,1) both}
@media(prefers-reduced-motion:no-preference){
 @supports not (view-transition-name:none){main{animation:site-page-in 260ms ease-out both}}
 a,button{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
 dialog[open]{animation:site-page-in 200ms ease-out}
}
@media(prefers-reduced-motion:reduce){
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 html{scroll-behavior:auto!important}
 main,dialog[open]{animation:none!important}
}
/* Consistent tactile feedback for controls and interactive surfaces. */
:root{--motion-ease:cubic-bezier(.22,.7,.3,1)}
@keyframes site-page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
::view-transition-old(root){animation:site-page-out 180ms ease-out both}
::view-transition-new(root){animation:site-page-in 360ms var(--motion-ease) both}
@media(prefers-reduced-motion:no-preference){
 .btn,.button,.nav-contact,.chip,.lesson-tabs button,.flow-options button,.social-links a,.whatsapp-float,.menu-toggle{transition:background-color .28s var(--motion-ease),color .28s var(--motion-ease),border-color .28s var(--motion-ease),box-shadow .28s var(--motion-ease),transform .28s var(--motion-ease)}
 .services article,.archive-card,.result,.event-row,.student-paths a,.gallery-photo,.photo-button{transition:background-color .3s var(--motion-ease),border-color .3s var(--motion-ease),box-shadow .3s var(--motion-ease),transform .3s var(--motion-ease)}
 .btn:active,.button:active,.chip:active,.lesson-tabs button:active,.nav-contact:active,.social-links a:active{transform:translateY(0) scale(.98);transition-duration:.12s}
}
@media(hover:hover){
 .btn:hover,.button:hover,.nav-contact:hover{transform:translateY(-2px);box-shadow:0 5px 14px #123c351b}
 .chip:hover,.lesson-tabs button:hover,.flow-options button:hover{background:#e9edb1;color:#123c35;box-shadow:inset 0 0 0 1px #123c3530}
 .chip[aria-pressed=true]:hover,.lesson-tabs button[aria-selected=true]:hover{background:#d8e994;color:#123c35}
 .story .chip:hover{background:#ffffff12;color:#e0f275;box-shadow:none}
 .services article:hover,.archive-card:hover,.student-paths a:hover{background:#e9edb155;box-shadow:0 8px 24px #123c3510;transform:translateY(-3px)}
 .result:hover,.event-row:hover{background:#e9edb170}
 .gallery-photo:hover,.photo-button:hover{box-shadow:0 8px 22px #123c3522;transform:translateY(-2px)}
 .social-links a:hover{transform:translateY(-2px);box-shadow:0 4px 12px #123c351a}
}
.btn:focus-visible,.button:focus-visible,.chip:focus-visible,.lesson-tabs button:focus-visible,.flow-options button:focus-visible{outline:3px solid #a46920;outline-offset:4px}
.services article:focus-within,.archive-card:focus-within,.student-paths a:focus-visible,.result:focus-within,.event-row:focus-within{background:#e9edb170}
@media(prefers-reduced-motion:reduce){
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .btn,.button,.nav-contact,.chip,.lesson-tabs button,.flow-options button,.social-links a,.whatsapp-float,.services article,.archive-card,.result,.event-row,.student-paths a,.gallery-photo,.photo-button{transition:none!important;transform:none!important}
}
