/* =========================================
   common.css — entry point for shared styles
   Imports base + components that apply to every page.
   Page-specific styles (top.css / page.css) are enqueued
   conditionally per template in lib/func/enqueue.php.
   ========================================= */

@import url('./base/variables.css');
@import url('./base/reset.css');

@import url('./components/sections.css');
@import url('./components/header.css');
@import url('./components/navigation.css');
@import url('./components/footer.css');
@import url('./components/buttons.css');
@import url('./components/articles.css');
/* forms.css is NOT imported here — it's enqueued conditionally in
   lib/func/enqueue.php only on singular pages that contain a Contact Form 7
   form (so its CF7-specific styles don't load site-wide). */

/* =========================================
   Animation — Staggered Reveal
   Used sparingly on hero load; scroll-triggered reveals are avoided
   (design-system.md "全セクションへのスクロールトリガー適用は禁止").
   ========================================= */
@keyframes hero-reveal {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.reveal {
  opacity: 0;
  animation: hero-reveal 0.9s var(--ease) forwards;
}

.reveal-1 { animation-delay: 0.10s; }
.reveal-2 { animation-delay: 0.25s; }
.reveal-3 { animation-delay: 0.40s; }
.reveal-4 { animation-delay: 0.55s; }
.reveal-5 { animation-delay: 0.70s; }

@media (prefers-reduced-motion: reduce) {
  .reveal {
    animation: none;
    opacity: 1;
  }
}
