*{ -webkit-tap-highlight-color: transparent; }
html{ scroll-behavior: smooth; }
body{ font-family: 'Inter', sans-serif; background:#1a0407; overflow-x:hidden; }

.reveal{
  opacity: 0;
  filter: blur(10px);
  will-change: transform, opacity, filter;
  transition-property: transform, opacity, filter;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
  transition-duration: 1.4s;
}
.reveal.active{
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.reveal.from-bottom{ transform: translate3d(0, 60px, 0); }
.reveal.from-top{ transform: translate3d(0, -50px, 0); }
.reveal.from-bottom-soft{ transform: translate3d(0, 35px, 0) scale(0.97); }
.reveal.from-left{ transform: translate3d(-60px, 0, 0); }
.reveal.from-right{ transform: translate3d(60px, 0, 0); }
.reveal.from-left-soft{ transform: translate3d(-30px, 15px, 0); }
.reveal.from-right-soft{ transform: translate3d(30px, 15px, 0); }
.reveal.from-scale{ transform: scale(0.85); }

.reveal img, .reveal .img-inner{
  transition: transform 1.8s cubic-bezier(.16, 1, .3, 1), filter 1.4s ease;
  transform: scale(1.08);
  filter: saturate(0.9) brightness(0.98);
}
.reveal.active img, .reveal.active .img-inner{
  transform: scale(1);
  filter: saturate(1) brightness(1);
}

.pencil-scribble{ position:absolute; left:50%; top:52%; transform: translate(-50%,-50%) rotate(-3deg); width:86px; height:86px; pointer-events:none; }
.pencil-stroke{ stroke-dasharray:260; stroke-dashoffset:260; animation:pencilDraw 1.4s cubic-bezier(.22,1,.36,1) forwards 0.7s; }
@keyframes pencilDraw{ to{ stroke-dashoffset:0; } }
.music-spin{ animation: spin 4s linear infinite; }
@keyframes spin{ to{ transform: rotate(360deg); } }
.glass-nav{ backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); }
.no-scrollbar::-webkit-scrollbar{ display:none; } .no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

.hero-kenburns{ animation: kenburns 14s ease-in-out infinite alternate; transform-origin: center center; }
.hero-kenburns-2{ animation: kenburns2 15s ease-in-out infinite alternate; transform-origin: top center; }
@keyframes kenburns{ 0%{ transform: scale(1) translate(0,0); } 100%{ transform: scale(1.12) translate(-6px,-8px); } }
@keyframes kenburns2{ 0%{ transform: scale(1) translate(0,0); } 100%{ transform: scale(1.15) translate(8px,6px); } }

.hero-bg-fade1 { animation: heroSlowSlide1 14s ease-in-out infinite alternate; }
.hero-bg-fade2 { animation: heroSlowSlide2 14s ease-in-out infinite alternate; }

@keyframes heroSlowSlide1 {
  0% { opacity: 1; transform: scale(1) translate(0px, 0px); }
  50% { opacity: 0.6; transform: scale(1.05) translate(-12px, -8px); }
  100% { opacity: 0; transform: scale(1.09) translate(-18px, -14px); }
}
@keyframes heroSlowSlide2 {
  0% { opacity: 0; transform: scale(1.09) translate(18px, 14px); }
  50% { opacity: 0.6; transform: scale(1.05) translate(10px, 6px); }
  100% { opacity: 1; transform: scale(1) translate(0px, 0px); }
}

.floating-content { animation: floatingAnim 5s ease-in-out infinite alternate; }
@keyframes floatingAnim {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-10px); }
}

.ornament-bounce {
  animation: floatBounce 3s ease-in-out infinite alternate;
}
@keyframes floatBounce {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-12px); }
}

.love-big{ font-family:'Cormorant Garamond',serif; font-weight:700; line-height:0.85; letter-spacing:-0.04em; }