/* Emjan: movement supports the content and respects system accessibility. */
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#b8d68e;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.motion-toggle{font:inherit;font-size:11px;color:#d7edbc;border:1px solid #ffffff35;background:transparent;border-radius:20px;padding:6px 13px;cursor:pointer}.motion-toggle:hover{background:#ffffff0d}
.motion-paused .orbit-app,.motion-paused .orbit-ring,.motion-paused .orbit-spark{animation-play-state:paused!important}
header{position:relative;z-index:5;transition:box-shadow .3s ease}
header.is-scrolled{box-shadow:0 8px 28px #102b2a16}
header nav a{position:relative;padding:6px 0}
header nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
header nav a:hover:after,header nav a:focus-visible:after{transform:scaleX(1)}
.hero{position:relative;background:radial-gradient(ellipse at 85% 30%,#234940 0,transparent 55%),var(--green)}
.hero-copy,.orbit{z-index:1}
.hero .button{box-shadow:0 8px 25px #0002}
.button:focus-visible,button:focus-visible{outline:3px solid #c27e3c;outline-offset:5px}
.button span,.support-links span,.app-directory>a>span{transition:transform .25s ease}
.button:hover span,.support-links a:hover span,.app-directory>a:hover>span{transform:translate(3px,-3px)}
.app-directory>a,.contact-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.app-directory>a:hover,.contact-card:hover{box-shadow:0 16px 36px #18332f0d;border-color:#a8b998}
.orbit-ring:after{content:'';position:absolute;width:7px;height:7px;top:14%;left:14%;border-radius:50%;background:#d7edbc;box-shadow:0 0 20px #d7edbc66}
.reveal-item{transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.2,1)}
.reveal-pending{opacity:0;translate:0 22px}
.faq details[open]>p{animation:emjan-enter .25s ease both}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:emjan-enter .8s ease both}
 .orbit{animation:emjan-enter 1s .12s ease both}
 .orbit-app{animation:emjan-float 7s ease-in-out infinite;will-change:translate}
 .orbit-pdf{animation-delay:-2.4s}.orbit-vault{animation-delay:-4.8s}
 .orbit-app:hover,.orbit-app:focus-visible{animation-play-state:paused}
 .orbit-spark{animation:emjan-turn 36s linear infinite}
 .orbit-ring{animation:emjan-ring 55s linear infinite}.ring-two{animation-direction:reverse;animation-duration:75s}
 .hero:has(a:focus-visible) .orbit-app,.hero:has(a:focus-visible) .orbit-ring,.hero:has(a:focus-visible) .orbit-spark{animation-play-state:paused}
}
@keyframes emjan-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes emjan-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes emjan-turn{to{rotate:360deg}}
@keyframes emjan-ring{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:700px){.hero{background:radial-gradient(ellipse at 80% 65%,#234940 0,transparent 60%),var(--green)}.reading-progress{height:2px}}
@media(min-width:701px) and (max-width:950px){.orbit-app{width:230px;padding:16px;gap:12px}.orbit-app span{font-size:20px}.orbit-app img{width:52px;height:52px}.orbit-pdf{top:248px}.orbit-vault{top:410px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;translate:none}}
@media print{.reading-progress{display:none}.reveal-pending{opacity:1;translate:none}}
