/* ============================================== */
/* LASER HOUSE - MAIN STYLESHEET                 */
/* Combined CSS for production                   */
/* ============================================== */

/* Import Design Tokens */
@import 'tokens.css';

/* Import Base Styles */
@import 'base.css';

/* Import Components */
@import 'components/buttons.css';
@import 'components/header.css';
@import 'components/nav.css';
@import 'components/mobile-menu.css';
@import 'components/hero.css';
@import 'components/cards.css';
@import 'components/footer.css';

/* Import Sections */
@import 'sections/stats.css';
@import 'sections/cta.css';
@import 'sections/pages.css';
@import 'sections/blog.css';
@import 'sections/landing.css';

/* ============================================== */
/* REVEAL ANIMATIONS (Refined)                   */
/* Subtle, premium, reduced-motion friendly      */
/* ============================================== */

:root {
  --reveal-dur: 520ms;
  --reveal-ease: var(--ease-out);
}

/* Base reveal states */
.reveal,
.reveal-up,
.reveal-down,
.reveal-left,
.reveal-right,
.reveal-scale {
  opacity: 0;
  will-change: transform, opacity;
  transition:
    opacity var(--reveal-dur) var(--reveal-ease),
    transform var(--reveal-dur) var(--reveal-ease);
}

/* More subtle transforms (award-lean) */
.reveal { transform: translate3d(0, 14px, 0); }
.reveal-up { transform: translate3d(0, 18px, 0); }
.reveal-down { transform: translate3d(0, -18px, 0); }
.reveal-left { transform: translate3d(18px, 0, 0); }
.reveal-right { transform: translate3d(-18px, 0, 0); }
.reveal-scale { transform: translate3d(0, 10px, 0) scale(0.98); }

.reveal.active,
.reveal-up.active,
.reveal-down.active,
.reveal-left.active,
.reveal-right.active,
.reveal-scale.active {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Stagger (subtle + consistent) */
.reveal-stagger > * {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  will-change: transform, opacity;
  transition:
    opacity 460ms var(--reveal-ease),
    transform 460ms var(--reveal-ease);
}

/* Use a gentle ramp, capped to avoid long delays */
.reveal-stagger.active > *:nth-child(1) { transition-delay: 70ms; }
.reveal-stagger.active > *:nth-child(2) { transition-delay: 120ms; }
.reveal-stagger.active > *:nth-child(3) { transition-delay: 170ms; }
.reveal-stagger.active > *:nth-child(4) { transition-delay: 220ms; }
.reveal-stagger.active > *:nth-child(5) { transition-delay: 270ms; }
.reveal-stagger.active > *:nth-child(6) { transition-delay: 320ms; }
.reveal-stagger.active > *:nth-child(7) { transition-delay: 370ms; }
.reveal-stagger.active > *:nth-child(8) { transition-delay: 420ms; }
.reveal-stagger.active > *:nth-child(9) { transition-delay: 470ms; }

.reveal-stagger.active > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Reduced motion: no animation, just show */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-up,
  .reveal-down,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .reveal-stagger > * {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
