/* CSS Variables & Reset */
:root {
  --brand-gold: #bfa070;
  --brand-black: #2a2a2a;
  --brand-white: #fdfbf7;
  --brand-gray: #f3efe9;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--brand-white);
}

::-webkit-scrollbar-thumb {
  background: #d4d4d4;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--brand-gold);
}

/* Animations using Intersection Observer classes */
.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.scroll-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-100 {
  transition-delay: 100ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.delay-300 {
  transition-delay: 300ms;
}

/* Hero Gradient Background - Soft Light Theme */
.hero-gradient {
  background: radial-gradient(circle at 50% 50%, #fdfbf7 0%, #f3efe9 100%);
}

/* Text Selection */
::selection {
  background: var(--brand-gold);
  color: white;
}

/* Image styling */
img {
  user-select: none;
  -webkit-user-drag: none;
}

/* Button & Interactive Hover States */
.hover-underline-animation {
  display: inline-block;
  position: relative;
}

.hover-underline-animation::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: var(--brand-black);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Linear easing for continuous marquee effect */
.swiper-wrapper {
  transition-timing-function: linear;
}