/* Motion is an enhancement: content stays visible if JavaScript is unavailable. */
.landing-page section[id] { scroll-margin-top: 100px; }

.landing-page .landing-lift,
.landing-page .landing-actions a {
    transition: transform 240ms cubic-bezier(.2,.8,.2,1), box-shadow 240ms ease, background-color 200ms ease;
}

/* Subtle ambient motion keeps the hero feeling alive without competing with the content. */
.landing-page .landing-ambient {
    animation: landing-ambient-drift 16s ease-in-out infinite alternate;
    will-change: transform;
}

.landing-page .landing-ambient-secondary { animation-delay: -7s; }

.landing-page .landing-hero-visual {
    animation: landing-hero-float 7s ease-in-out infinite;
    will-change: transform;
}

.landing-page .landing-progress-bar {
    transform-origin: left center;
    animation: landing-progress-reveal 1.4s cubic-bezier(.22,1,.36,1) .45s both;
}

@keyframes landing-ambient-drift {
    from { transform: translate3d(-10px, 8px, 0) scale(.98); }
    to { transform: translate3d(12px, -12px, 0) scale(1.04); }
}

@keyframes landing-hero-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes landing-progress-reveal {
    from { transform: scaleX(0); opacity: .45; }
    to { transform: scaleX(1); opacity: 1; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .landing-page .landing-lift:hover { transform: translateY(-5px); }
    .landing-page .landing-actions a:hover { transform: translateY(-3px); }
    .landing-page .landing-actions a:active { transform: translateY(0) scale(.98); }
}

@media (prefers-reduced-motion: no-preference) {
    .landing-page #mobile-nav-drawer:not(.hidden) {
        transform-origin: top center;
        animation: landing-menu-pop 220ms cubic-bezier(.2,.8,.2,1) both;
    }
    @keyframes landing-menu-pop {
        from { opacity: 0; transform: translateY(-8px) scale(.98); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-page [data-pop],
    .landing-page .landing-lift,
    .landing-page .landing-actions a,
    .landing-page #mobile-nav-drawer,
    .landing-page .landing-ambient,
    .landing-page .landing-hero-visual,
    .landing-page .landing-progress-bar,
    .landing-page .animate-pulse,
    .landing-page .animate-ping {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
