/* Shared motion layer: original content, colours and layout remain unchanged. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-old(root){animation:siteSceneOut .22s ease both}
 ::view-transition-new(root){animation:siteSceneIn .48s cubic-bezier(.2,.7,.2,1) both}
 @keyframes siteSceneOut{to{opacity:0}}
 @keyframes siteSceneIn{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
 .site-depth-image{translate:0 var(--site-depth-y,0px);scale:var(--site-depth-scale,1);transform-origin:center}
 .site-motion-card{transition:box-shadow .5s ease,border-color .5s ease}
}
.site-cinematic-dust{position:fixed;inset:0;pointer-events:none!important;z-index:4;overflow:hidden;contain:strict;opacity:.44;transition:opacity .6s ease}
.site-cinematic-dust i{position:absolute;left:var(--dust-x);top:var(--dust-y);width:2px;height:2px;border-radius:50%;background:#c7aa71;box-shadow:0 0 7px #c7aa7155;animation:siteDustDrift var(--dust-time) ease-in-out infinite alternate;animation-delay:var(--dust-delay)}
@keyframes siteDustDrift{from{transform:translate3d(0,10px,0);opacity:.15}to{transform:translate3d(8px,-28px,0);opacity:.75}}
.site-cinematic-paused .site-cinematic-dust i{animation-play-state:paused}
body:has(dialog[open]) .site-cinematic-dust,body:not(.intro-complete):has(.site-intro) .site-cinematic-dust{opacity:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.site-motion-card:hover{box-shadow:0 16px 35px #162f2518}}
@media(max-width:760px){.site-cinematic-dust{display:none}.site-depth-image{translate:none!important;scale:1!important}}
@media(prefers-reduced-motion:reduce){.site-cinematic-dust{display:none}.site-depth-image{translate:none!important;scale:1!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
@media print{.site-cinematic-dust{display:none}.site-depth-image{translate:none!important;scale:1!important}}
