/* =========================================
   HAGU MIRA — Main Stylesheet
   ========================================= */

/* ── Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

.font-serif { font-family: 'Noto Serif JP', serif; }
.font-sans  { font-family: 'Noto Sans JP', sans-serif; }

/* ── Animations ── */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fadeIn { animation: fadeIn 0.8s ease-out forwards; }

/* ── Selection ── */
::selection { background: #E5DCD0; color: #1A1A1A; }

/* ── Back to Top ── */
@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.animate-spin-slow { animation: spin-slow 10s linear infinite; }

.back-to-top-btn:hover .animate-spin-slow { animation-duration: 5s; }

@keyframes bounce-subtle {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-5px); }
}
.animate-bounce-subtle { animation: bounce-subtle 2s ease-in-out infinite; }

/* ── 3D Door Animation for Plan E ── */
.perspective-2000 { perspective: 2000px; }
.door-left { transform-origin: left center; transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.door-right { transform-origin: right center; transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.group:hover .door-left { transform: rotateY(-110deg); }
.group:hover .door-right { transform: rotateY(110deg); }

/* ── Gallery ── */
.eyebrow { color: #a67c52; font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.quiet-shadow { box-shadow: 0 18px 50px rgba(26, 26, 26, 0.08); }
.image-tint { filter: saturate(0.92) contrast(0.97); }
