/* Gadimel motion: progressive enhancement; content visible without JavaScript. */
body .hero{--pointer-x:0px;--pointer-y:0px}
body .hero .ambient-light{width:600px;height:600px;right:-60px;top:-20px;background:radial-gradient(ellipse,#5f94dc38,transparent 67%);animation:g-light 16s ease-in-out infinite alternate}
body .hero .tech-scene:after{content:"";position:absolute;inset:15% 0 0 20%;pointer-events:none;background:radial-gradient(ellipse,#5bbcac30,transparent 65%);transform:translate(var(--pointer-x),var(--pointer-y));transition:transform .8s ease-out}
@keyframes g-light{from{transform:translate(-20px,-20px) scale(.9)}to{transform:translate(45px,45px) scale(1.12)}}
body .g-reveal{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--g-delay,0ms)}
body .g-reveal.g-pending{opacity:0;transform:translateY(20px)}
body .book-media{perspective:900px}
body .book-media img{transform:rotateY(0) rotateX(0);transition:transform .5s ease,filter .5s ease;will-change:auto}
body .card-media:not(.book-media) img{transition:transform .5s ease}
body .content-card{transition:border-color .25s,box-shadow .25s,opacity .65s,transform .65s}
body .button,body .spin,body .retry,body .reader button{transition:background .2s,box-shadow .2s,transform .2s}
body .button:active,body .spin:active,body .retry:active,body .reader button:not(:disabled):active{transform:scale(.97)}
body .button span,body .g-arrow{display:inline-block;transition:transform .25s ease}
body .person{position:relative}
body .person .role{position:relative;padding-bottom:12px}
body .person .role:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:28px;background:#389d91;transition:width .35s ease}
body .g-reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;background:transparent}
body .g-reading-progress span{display:block;height:100%;background:linear-gradient(90deg,#4875cf,#3baf9e);transform-origin:left;transform:scaleX(0)}
@media(hover:hover) and (pointer:fine){body .book-media:hover img,body .book-media:focus-visible img{transform:rotateY(-12deg) rotateX(3deg) translateY(-6px);filter:drop-shadow(10px 18px 14px #172f4330)}body .content-card:hover .card-media:not(.book-media) img{transform:scale(1.035)}body .button:hover span,body .text-link:hover .g-arrow{transform:translate(3px,-2px)}body .person:hover .role:after{width:65px}}
body .person:focus-within .role:after{width:65px}
@media(max-width:700px){body .hero .ambient-light{width:380px;height:380px;animation-duration:20s}}
@media(prefers-reduced-motion:reduce){body .g-reveal,body .g-reveal.g-pending{opacity:1;transform:none;transition:none}body .hero .ambient-light{animation:none}body .hero .tech-scene:after{transform:none;transition:none}body .book-media img,body .card-media img,body .button,body .button span,body .g-arrow,body .person .role:after,body .reader button,body .spin,body .retry{transition:none!important;transform:none!important}}
