@tailwind base;
@tailwind components;
@tailwind utilities;

html, body { height: 100%; }
body { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }

/* Custom utilities */
.container-max { @apply max-w-7xl mx-auto px-4; }

/* Smooth scrolling for in-page anchors */
html { scroll-behavior: smooth; }

/* Subtle hero background animations */
@keyframes drift {
	0% { transform: translate3d(0,0,0) scale(1) rotate(0deg); }
	50% { transform: translate3d(10px,-8px,0) scale(1.02) rotate(8deg); }
	100% { transform: translate3d(0,0,0) scale(1) rotate(0deg); }
}

.animate-drift-slow {
	animation: drift 16s ease-in-out infinite;
	will-change: transform;
}

.animate-drift-slower {
	animation: drift 22s ease-in-out infinite;
	will-change: transform;
}

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity 500ms ease, transform 600ms ease; }
.reveal-visible { opacity: 1; transform: translateY(0); }

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.animate-drift-slow, .animate-drift-slower { animation: none !important; }
	.reveal { opacity: 1; transform: none; transition: none; }
}

/* Performance: avoid rendering off-screen content until needed */
.content-auto {
	content-visibility: auto;
	contain-intrinsic-size: 1px 1000px; /* reserve space to prevent big jumps */
}
