html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Serif JP', 'Cormorant Garamond', serif;
}
.font-script {
  font-family: 'Parisienne', cursive;
}
.font-serif-en {
  font-family: 'Cormorant Garamond', serif;
}
.fade-in-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.handwriting-text {
  line-height: 1.35;
  color: inherit; 
  text-shadow: 0 .3px .3px rgba(0,0,0,.15);
}
.handwriting-text span {
  opacity: 0;
  display: inline-block;
  transform-origin: bottom left;
  transform: translateY(-.15em) rotate(calc(var(--rand) * 1deg));
  filter: blur(.2px);
  transition: opacity 300ms ease, transform 300ms ease;
}
.handwriting-text span.on {
  opacity: 1;
  transform: translateY(0) rotate(calc((var(--rand) - 0.5) * var(--jitter)));
}
/* SP-only line break class */
@media (min-width: 768px) { /* Corresponds to Tailwind's 'md' breakpoint */
  .br-sp {
    display: none;
  }
}