/* Separate travel, hovering, yaw and SVG rotor animation to avoid transform conflicts. */
.drone-test-header .navbar{padding-left:148px}
.site-drone{position:fixed;z-index:1035;left:18px;top:53px;width:112px;height:auto;aspect-ratio:12/7;pointer-events:auto;user-select:none;transition:none!important;filter:drop-shadow(0 3px 3px rgba(15,35,55,.18));will-change:transform}
.site-drone img{display:block;width:100%;height:auto;transition:none!important}
@media(max-width:991px){.drone-test-header .navbar{padding-left:92px;padding-right:20px}.drone-test-header .logo{width:calc(100% - 66px);max-width:230px}.site-drone{width:64px;left:14px}}
@media(prefers-reduced-motion:reduce){.site-drone{position:absolute;will-change:auto}}
@media print{.site-drone{display:none}.drone-test-header .navbar{padding-left:30px}}

.site-drone-hover{animation:drone-hover 3.8s ease-in-out infinite;transition:none!important;will-change:transform}
.site-drone-attitude{transform:perspective(350px) rotateY(var(--drone-yaw,24deg)) rotateZ(var(--drone-bank,3deg));transform-origin:50% 55%;transition:transform .15s ease-out!important;will-change:transform}
@keyframes drone-hover{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}75%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.site-drone-hover{animation:none;will-change:auto}.site-drone-attitude{transform:none;transition:none!important;will-change:auto}}
@media print{.site-drone-hover{animation:none}}

/* Native button also supports Enter, Space and touch. Drone and wing buttons support mouse, keyboard and touch. */
button.site-drone{display:block;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;line-height:0;cursor:pointer;color:inherit}
button.site-drone:focus-visible{outline:2px solid #338ac1;outline-offset:5px;border-radius:10px}
.site-drone-hover,.site-drone-attitude{display:block}

.site-flying-wing{position:fixed;left:0;top:0;z-index:1030;width:88px;pointer-events:auto;user-select:none;transition:none!important;will-change:transform;filter:drop-shadow(0 3px 2px rgba(20,40,60,.15))}
.site-flying-wing-visual{display:block;transform:perspective(360px) rotateY(var(--wing-yaw,0deg)) rotateZ(var(--wing-bank,0deg));transform-origin:50% 55%;transition:none!important;will-change:transform}
.site-flying-wing img{display:block;width:100%;height:auto;transition:none!important}
@media(max-width:991px){.site-flying-wing{width:68px}}
@media(prefers-reduced-motion:reduce){.site-flying-wing{will-change:auto;animation:wing-preview-fade 1.2s ease-out forwards}.site-flying-wing-visual{transform:none;will-change:auto}}
@keyframes wing-preview-fade{0%,65%{opacity:1}100%{opacity:0}}
@media print{.site-flying-wing{display:none}}

button.site-flying-wing{display:block;appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;margin:0;line-height:0;cursor:pointer;color:inherit}
button.site-flying-wing:focus-visible{outline:2px dashed #338ac1;outline-offset:5px;border-radius:8px}
.site-flying-wing-visual,.site-flying-wing img{pointer-events:none}
