.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
}
.cheerful-shadow {
  box-shadow: 0 16px 36px -12px rgba(192, 83, 47, 0.25);
}
.soft-card-shadow {
  box-shadow: 0 8px 30px -6px rgba(0, 0, 0, 0.3), 0 2px 8px -2px rgba(0, 0, 0, 0.2);
}
.glass-pill {
  background: rgba(28, 25, 22, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(222, 192, 183, 0.2);
}
.glass-panel {
  background: rgba(42, 38, 34, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(222, 192, 183, 0.2);
}

/* Scroll reveal animations */
.reveal-element {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal-element.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mouse scroll bouncing line */
@keyframes mouse-scroll {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(7px);
    opacity: 0.3;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.animate-scroll-dot {
  animation: mouse-scroll 1.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

/* Main Section Transitions */
.view-section {
  transition: opacity 0.25s ease-in-out;
}
.view-section.hidden {
  display: none;
}
