/* assets/css/style.css */
@keyframes bounce-slow {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.animate-bounce-slow {
    animation: bounce-slow 3s infinite ease-in-out;
}

/* Modal Z-index for Youtube Fix */
.video-modal-bg {
    background-color: rgba(0,0,0,0.85);
    backdrop-filter: blur(5px);
}

/* Masonry Fallback - although we'll use CSS Columns */
.masonry-grid {
    column-count: 3;
    column-gap: 1.5rem;
}
@media (max-width: 1024px) {
    .masonry-grid {
        column-count: 2;
    }
}
@media (max-width: 640px) {
    .masonry-grid {
        column-count: 1;
    }
}
.masonry-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
}

/* Number Counter Styles */
.stat-item {
    position: relative;
}
.stat-item::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background-color: #e5e7eb;
}
.stat-item:last-child::after {
    display: none;
}
@media (max-width: 768px) {
    .stat-item::after {
        display: none;
    }
}

/* Zone Overlay fixed scale */
.zone-card:hover .zone-bg {
    transform: scale(1.05);
}

/* Background Grids dots */
.bg-dots {
    background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
    background-size: 30px 30px;
}

/* Custom Typography for Pixel-Perfect Match */
.hero-title {
    line-height: 1.05;
    letter-spacing: -0.05em;
    font-weight: 800;
}

.hero-title span {
    display: block;
}

.video-heading-italic {
    font-family: 'Inter', sans-serif;
    font-style: italic;
    font-weight: 300;
    text-transform: lowercase;
    opacity: 0.8;
}

/* Button Refinements */
.btn-primary-custom {
    background-color: #F25C05;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-primary-custom:hover {
    background-color: #d95204;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(242, 92, 5, 0.3);
}
