/* Small composited motions; no WebGL, external packages or scroll hijacking. */
.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#1c9bf5,#6acadd 60%,#f4a4ca);transform-origin:left;transform:scaleX(0);z-index:30;pointer-events:none}
.home-hero-copy:after{display:none}.tech-orbit{position:absolute;right:34px;top:34px;width:76px;height:76px;pointer-events:none;opacity:.8;z-index:0;contain:layout style}.orbit-ring{position:absolute;inset:5px;border:1px dashed #6db8e655;border-radius:50%;transform:rotate(-20deg)}.orbit-ring:after{content:'';position:absolute;inset:11px;border:1px solid #90cff833;border-radius:50%}.orbit-dot{position:absolute;inset:0;border-radius:50%}.orbit-dot:after{content:'';position:absolute;top:2px;left:50%;width:5px;height:5px;border-radius:50%;background:#69bde7;box-shadow:0 0 9px #69bde744}.tech-orbit svg{position:absolute;inset:21px;width:34px;height:34px;filter:drop-shadow(0 4px 5px #74afd51c)}
.award-hero,.next-page{position:relative;overflow:hidden;isolation:isolate}.tech-beam{position:absolute;inset:-50% auto -50% -65%;width:35%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);transform:skewX(-22deg) translateX(0);pointer-events:none;z-index:0;opacity:0}.award-topline,.award-core,.award-bottom,.next-page>strong,.next-page>span:not(.tech-beam){position:relative;z-index:1}
.metrics strong{font-variant-numeric:tabular-nums}.button,.header-join,.tabs button,.task-row,.mobile-nav a{position:relative;overflow:hidden}.tap-ripple{position:absolute;pointer-events:none;border-radius:50%;background:#8fd7ff45;transform:scale(0);animation:tap-wave .65s cubic-bezier(.2,.65,.3,1) forwards;z-index:2}.primary .tap-ripple,.header-join .tap-ripple,.tabs [aria-selected=true] .tap-ripple{background:#ffffff48}
@media(prefers-reduced-motion:no-preference){
 .reveal-pending{opacity:0;transform:translateY(14px)}
 .reveal-done{animation:reveal-lift .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
 .home-hero.motion-in-view .tech-orbit svg{animation:plane-float 5.5s ease-in-out infinite}
 .home-hero.motion-in-view .orbit-dot{animation:orbit-travel 12s linear infinite}
 .motion-in-view>.tech-beam{animation:beam-pass 8s ease-in-out infinite;animation-delay:1.8s}
 .motion-in-view.next-page>.tech-beam{animation-duration:10s;animation-delay:2.6s}
 .task-row{animation:task-appear .4s cubic-bezier(.2,.7,.2,1) both}.task-row:nth-child(2){animation-delay:.07s}.task-row:nth-child(3){animation-delay:.12s}
 .button,.header-join,.task-row,.award-card,.mobile-nav a{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
 .button:active,.header-join:active,.tabs button:active,.mobile-nav a:active{transform:scale(.975)}
 dialog[open]{animation:dialog-appear .25s ease-out both}
 @media(hover:hover) and (pointer:fine){.award-card:hover,.task-row:hover{transform:translateY(-3px);box-shadow:0 10px 25px #2189ba12}.primary:hover,.header-join:hover{box-shadow:0 7px 23px #178cea35;transform:translateY(-2px)}}
}
@keyframes reveal-lift{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes task-appear{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes plane-float{0%,100%{transform:translate(-2px,3px) rotate(-5deg)}50%{transform:translate(4px,-4px) rotate(5deg)}}
@keyframes orbit-travel{to{transform:rotate(360deg)}}
@keyframes beam-pass{0%,68%{opacity:0;transform:skewX(-22deg) translateX(0)}71%{opacity:.7}87%{opacity:.7}91%,100%{opacity:0;transform:skewX(-22deg) translateX(560%)}}
@keyframes tap-wave{0%{transform:scale(0);opacity:.8}100%{transform:scale(1);opacity:0}}
@keyframes dialog-appear{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.motion-paused .tech-orbit *,.motion-paused .tech-beam{animation-play-state:paused!important}
@media(max-width:700px){.tech-orbit{width:53px;height:53px;top:23px;right:15px;opacity:.6}.orbit-ring{inset:3px}.orbit-ring:after{inset:9px}.tech-orbit svg{inset:14px;width:25px;height:25px}.orbit-dot:after{width:4px;height:4px;top:1px}.reading-progress{height:2px}}
@media(max-width:355px){.tech-orbit{right:10px;top:20px;width:43px;height:43px;opacity:.45}.tech-orbit svg{inset:10px;width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.reveal-pending,.reveal-done{opacity:1!important;transform:none!important;animation:none!important}.tech-beam,.tap-ripple{display:none}.tech-orbit *{animation:none!important}.reading-progress{display:none}}
@media(prefers-reduced-motion:no-preference){.reveal-done{animation-fill-mode:backwards}}
