body {
  background-color: #F8F5F0; /* Warm Ivory Base */
  color: #1a1a1a;
  overflow-x: hidden;
}

.paper-texture {
  position: fixed;
  inset: 0;
  z-index: -2;
  opacity: 0.03;
  pointer-events: none;
  background-image: url("https://www.transparenttextures.com/patterns/felt.png");
}

.glass-panel {
  background: rgba(253, 248, 248, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.serif-italic { 
  font-style: italic; 
  font-family: 'Playfair Display', serif;
}

.long-shadow { 
  box-shadow: 0 30px 60px rgba(26, 26, 26, 0.05); 
}

/* Reveal transitions */
.reveal-up {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 1.4s cubic-bezier(0.16, 1, 0.3, 1), transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

.scale-reveal {
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1), transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.scale-reveal.active {
  opacity: 1;
  transform: scale(1);
}

.line-reveal {
  width: 0;
  transition: width 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.line-reveal.active {
  width: 100%;
}
