/* #region Fonts */

@font-face {
    font-family: 'Gilroy';
    src: url('fonts/Gilroy.woff2') format('woff2'),
        url('fonts/Gilroy.woff') format('woff');
}

* {
    font-family: 'Red Hat Text', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Gilroy', sans-serif;
}

/* #endregion */

/* #region Animations */

@keyframes scroll-wheel {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    50% {
        opacity: 0.5;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.scroll-wheel {
    animation: scroll-wheel 1.5s ease-in-out infinite;
}

@keyframes slideDownFade {
    from {
        opacity: 0;
        transform: translateY(-1.25rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(2rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes modalBackdropFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes modalSlideUp {
    from {
        opacity: 0;
        transform: translateY(2rem) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* #endregion */

/* #region Animate On Load */

.animate-on-load {
    opacity: 0;
}

#subHeader.animate-on-load {
    animation: slideDownFade 0.6s ease-out forwards;
    animation-delay: 0.1s;
}

#mainHeader .bg-white.animate-on-load {
    animation: slideDownFade 0.6s ease-out forwards;
    animation-delay: 0.3s;
}

/* Hero content: visible wrapper, children animate individually */
.hero-content.animate-on-load {
    opacity: 1;
    animation: none;
}

.hero-content.animate-on-load h1 {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out forwards;
    animation-delay: 0.6s;
}

.hero-content.animate-on-load p:nth-of-type(1) {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out forwards;
    animation-delay: 1s;
}

.hero-content.animate-on-load p:nth-of-type(2) {
    opacity: 0;
    animation: fadeInUp 0.8s ease-out forwards;
    animation-delay: 1.35s;
}

/* NOW DRILLING: dramatic entrance last, then persistent pulse */
.now-drilling-badge {
    opacity: 0;
    animation:
        nowDrillingEntrance 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 1.9s forwards,
        nowDrillingPulse 2.2s ease-in-out 2.6s infinite;
}

@keyframes nowDrillingEntrance {
    0% {
        opacity: 0;
        transform: scale(0.35) translateY(-0.75rem);
        letter-spacing: -0.1em;
    }
    75% {
        opacity: 1;
        transform: scale(1.18) translateY(0);
        letter-spacing: 0.18em;
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        letter-spacing: 0.05em;
    }
}

@keyframes nowDrillingPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(212, 168, 37, 0.65);
    }
    50% {
        box-shadow: 0 0 0 0.6rem rgba(212, 168, 37, 0);
    }
}

.key-stats.animate-on-load {
    animation: fadeInScale 0.8s ease-out forwards;
    animation-delay: 1s;
}

.key-stats.animate-on-load .stat-item {
    opacity: 0;
    animation: fadeInUp 0.5s ease-out forwards;
}

.key-stats.animate-on-load .stat-item:nth-child(1) {
    animation-delay: 1.2s;
}

.key-stats.animate-on-load .stat-item:nth-child(2) {
    animation-delay: 1.35s;
}

.key-stats.animate-on-load .stat-item:nth-child(3) {
    animation-delay: 1.5s;
}

.key-stats.animate-on-load .stat-item:nth-child(4) {
    animation-delay: 1.65s;
}

/* #endregion */

/* #region Modal */

#subscribeModal.modal-opening {
    animation: modalBackdropFadeIn 0.3s ease-out forwards;
}

#subscribeModal.modal-opening .modal-content {
    animation: modalSlideUp 0.4s ease-out forwards;
}

#subscribeModal.modal-closing {
    animation: modalBackdropFadeIn 0.2s ease-out reverse forwards;
}

#subscribeModal.modal-closing .modal-content {
    animation: modalSlideUp 0.2s ease-out reverse forwards;
}

/* #endregion */

/* #region Page: Content */

.content {
    position: relative;
    z-index: 1;
    box-shadow: 0 -1.5rem 2rem -0.5rem rgba(0, 0, 0, 0.2);
}

/* #endregion */

/* #region Mobile Improvements */

/* Home: "Why Cole Gold Mines" image containers — shorter on mobile */
.why-cole-img {
    height: 18rem;
}
@media (max-width: 48rem) {
    .why-cole-img {
        height: 10rem !important;
    }
}

/* Home: Visible Gold 3D carousel — shorter container on mobile */
@media (max-width: 40rem) {
    .carousel-slides-3d {
        height: 18rem !important;
    }
}

/* Stock: TradingView chart — responsive height */
.stock-chart-wrap {
    height: 31.25rem;
}
@media (max-width: 40rem) {
    .stock-chart-wrap {
        height: 18rem;
    }
}

/* #endregion */
