/* Scroll choreography, depth layers and section-level motion (src/fx/scene.js). */
html { scroll-behavior: smooth; }

/* Scroll reveal: individual transform properties + clip-path, so GSAP/tilt transforms stay untouched */
[data-fx="in"] {
  transition:
    translate 1.1s cubic-bezier(.16, 1, .3, 1), scale 1.1s cubic-bezier(.16, 1, .3, 1),
    opacity .9s cubic-bezier(.16, 1, .3, 1), clip-path 1.2s cubic-bezier(.77, 0, .18, 1), filter .9s ease;
  transition-delay: calc(var(--fx-i, 0) * 65ms);
}
[data-fx="hide"][data-fx-variant="up"] { translate: 0 26px; opacity: 0; filter: blur(6px); }
[data-fx="hide"][data-fx-variant="card"] { translate: 0 54px; scale: .94; opacity: 0; }
[data-fx="hide"][data-fx-variant="mask"] { translate: 0 .5em; opacity: 0; clip-path: inset(0 0 100% 0); }
[data-fx="hide"][data-fx-variant="zoom"] { scale: 1.12; opacity: 0; clip-path: inset(14% 10% 14% 10% round 18px); }
[data-fx="in"][data-fx-variant="mask"], [data-fx="in"][data-fx-variant="zoom"] { clip-path: inset(-20% -10% -20% -10%); }

.navbar-root { animation: fx-drop 1.1s cubic-bezier(.16, 1, .3, 1) .15s both; }
@keyframes fx-drop { from { translate: 0 -140%; opacity: 0; } to { translate: 0 0; opacity: 1; } }

.hero-status-pill { animation: fx-float 6s ease-in-out infinite; }
@keyframes fx-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }

/* Mouse parallax via the individual translate property (--sx/--sy come from src/fx/core.js) */
.gsap-ambient-orb-one { translate: calc(var(--sx, 0) * -46px) calc(var(--sy, 0) * -34px); }
.gsap-ambient-orb-two { translate: calc(var(--sx, 0) * 38px) calc(var(--sy, 0) * 28px); }
.gsap-ambient-orb-three { translate: calc(var(--sx, 0) * -24px) calc(var(--sy, 0) * 40px); }
.hero-heading-group { translate: calc(var(--sx, 0) * 8px) calc(var(--sy, 0) * 6px); }
.particles-container, .meteor-background { translate: calc(var(--sx, 0) * -12px) calc(var(--sy, 0) * -9px); }

html[data-motion="reduced"] [data-fx] { translate: none !important; scale: none !important; opacity: 1 !important; clip-path: none !important; filter: none !important; }
html[data-motion="reduced"] .gsap-ambient-orb-one, html[data-motion="reduced"] .gsap-ambient-orb-two,
html[data-motion="reduced"] .gsap-ambient-orb-three, html[data-motion="reduced"] .hero-heading-group,
html[data-motion="reduced"] .particles-container, html[data-motion="reduced"] .meteor-background { translate: none; }
html[data-motion="reduced"] { scroll-behavior: auto; }
