/* Custom styles that complement Tailwind (loaded from the CDN). */

html { scroll-behavior: smooth; }
::selection { background:#f97316; color:#fff; }

/* Grid texture used on dark hero sections */
.hero-grid{
  background-image:
    linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:48px 48px;
}

/* Brands / partners marquee */
@keyframes marquee { from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.animate-marquee{ animation:marquee 30s linear infinite; }
.animate-marquee:hover{ animation-play-state:paused; }

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

/* Hero carousel + flyer crossfade helpers */
.slide{ opacity:0; transition:opacity .8s ease; pointer-events:none; }
.slide.active{ opacity:1; pointer-events:auto; }

.flyer-page{ opacity:0; transition:opacity .45s ease, transform .45s ease; transform:translateX(30px); pointer-events:none; }
.flyer-page.active{ opacity:1; transform:none; pointer-events:auto; }

/* line-clamp fallback (Tailwind CDN also provides utilities) */
.line-clamp-2{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
