/* Go Stride Adventures — custom styles (#0E87CC + #228B22 theme) */

html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { -webkit-font-smoothing: antialiased; }

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .72rem;
    color: #0E87CC;
}

.text-gradient {
    background: linear-gradient(90deg, #0E87CC, #228B22);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(1, 8, 12, 0.52) 0%, rgba(0, 0, 0, 0.898) 50%, rgba(2,15,24,.88) 100%);
}

.lift { transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.lift:hover { transform: translateY(-6px); }

.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.img-zoom:hover img { transform: scale(1.08); }

#navbar.is-scrolled { box-shadow: 0 8px 30px -16px rgba(14,135,204,.25); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

.snap-row { scroll-snap-type: x mandatory; }
.snap-row > * { scroll-snap-align: start; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

@media (max-width: 767px) {
    body { padding-bottom: env(safe-area-inset-bottom); }
}

@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track { display: flex; width: max-content; animation: marquee 28s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }

/* Compact star ratings (testimonials) */
.star-rating { display: flex; align-items: center; gap: 2px; }
.star-rating svg { width: 14px; height: 14px; flex-shrink: 0; }
