html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    cursor: default;
    overflow-x: hidden;
}

input, textarea {
    user-select: text;
    -webkit-user-select: text;
    cursor: auto;
}

h1, h2, h3 {
    font-family: 'Playfair Display', serif;
}

a, button, .cursor-pointer {
    cursor: pointer;
}

.hero-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)), url('https://images.unsplash.com/photo-1514933651103-005eec06c04b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: all 1s cubic-bezier(0.5, 0, 0, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.scroller {
    max-width: 100%; 
}

.scroller__inner {
    padding-block: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem; 
}

.scroller[data-animated="true"] {
    overflow: hidden;
    -webkit-mask: linear-gradient(
        90deg,
        transparent,
        white 10%,
        white 90%,
        transparent
    );
    mask: linear-gradient(90deg, transparent, white 10%, white 90%, transparent);
}

.scroller[data-animated="true"] .scroller__inner {
    width: max-content; 
    flex-wrap: nowrap;
    animation: scroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-animated="true"]:hover .scroller__inner {
    animation-play-state: paused;
}

.scroller[data-direction="left"] {
    --_animation-direction: forwards;
}

.scroller[data-direction="right"] {
    --_animation-direction: reverse;
}

@keyframes scroll {
    to {
        transform: translate(calc(-50% - 0.75rem)); 
    }
}

@keyframes deep-glow {
    0%, 100% {
        opacity: 0.1; 
        transform: scale(0.98);
    }
    50% {
        opacity: 0.5; 
        transform: scale(1.01); 
    }
}

.animate-deep-glow {
    animation: deep-glow 4s ease-in-out infinite; 
}
