/* ── Homepage motion layer (index.html only) ─────────────────────────── */

/* reveal on scroll */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
.rv-l.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.92);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
.rv-s.in{opacity:1;transform:none}

/* hero */
.video-hero{isolation:isolate}
.video-bg{animation:heroZoom 26s ease-in-out infinite alternate;will-change:transform}
@keyframes heroZoom{from{transform:scale(1.1) translateY(var(--py,0px))}to{transform:scale(1.18) translateY(var(--py,0px))}}
.video-hero .video-content>*{opacity:0;transform:translateY(22px);animation:heroIn 1.1s cubic-bezier(.16,1,.3,1) forwards}
.video-hero .video-content>*:nth-child(1){animation-delay:.25s}
.video-hero .video-content>*:nth-child(2){animation-delay:.45s}
.video-hero .video-content>*:nth-child(3){animation-delay:.7s}
.video-hero .video-content>*:nth-child(4){animation-delay:.85s}
.video-hero .video-content>*:nth-child(5){animation-delay:1.05s}
@keyframes heroIn{to{opacity:1;transform:none}}
.video-hero .hl,.video-hero .hlr{width:0;animation:ruleIn 1.2s cubic-bezier(.16,1,.3,1) 1s forwards}
@keyframes ruleIn{to{width:60px}}
.hero-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.35;mix-blend-mode:overlay;background:radial-gradient(ellipse at 30% 20%,rgba(201,149,122,.25),transparent 55%),radial-gradient(ellipse at 75% 80%,rgba(138,92,69,.22),transparent 50%);animation:glowDrift 18s ease-in-out infinite alternate}
@keyframes glowDrift{to{transform:translate(-4%,3%) scale(1.08)}}
.scroll-cue{position:absolute;left:50%;bottom:26px;z-index:2;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:heroIn 1s ease 1.6s forwards}
.scroll-cue span{font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--rgd)}
.scroll-cue i{display:block;width:0.5px;height:44px;background:linear-gradient(to bottom,var(--rg),transparent);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--rgs);animation:cueDrop 2s cubic-bezier(.4,0,.2,1) infinite}
@keyframes cueDrop{to{top:110%}}

/* ticker */
.ticker{overflow:hidden;border-bottom:0.5px solid var(--border);background:var(--dark2);padding:14px 0;position:relative}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(to right,var(--dark2),transparent)}
.ticker::after{right:0;background:linear-gradient(to left,var(--dark2),transparent)}
.ticker-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--rgd);white-space:nowrap;padding:0 22px;display:flex;align-items:center;gap:22px}
.ticker-track span::after{content:"";width:4px;height:4px;background:var(--rg);transform:rotate(45deg);opacity:.7}
@keyframes marquee{to{transform:translateX(-50%)}}

/* counters */
.stat-num,.big-num{font-variant-numeric:tabular-nums}
.big-num{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--rgl);margin-bottom:4px}

/* steps: drawing line */
.steps{position:relative}
.steps::before{content:"";position:absolute;left:8%;right:8%;top:38px;height:0.5px;background:linear-gradient(to right,transparent,var(--rgd),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.16,1,.3,1) .3s}
.steps.in::before{transform:scaleX(1)}
.step-num{transition:color .8s ease}
.steps.in .step-num{color:var(--rg)}
.step{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.step:hover{transform:translateY(-4px)}

/* event cards + line icons */
.ic{width:30px;height:30px;color:var(--rgl);margin:0 auto 8px;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1),color .3s}
.event-card{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s}
.event-card::after{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(201,149,122,.18) 85%,transparent 100%);opacity:0;transition:opacity .4s;animation:spin 6s linear infinite;pointer-events:none}
.event-card:hover{transform:translateY(-6px);border-color:var(--rg);box-shadow:0 18px 40px -20px rgba(201,149,122,.45)}
.event-card:hover::after{opacity:1}
.event-card:hover .ic{transform:translateY(-3px) scale(1.12);color:var(--rgs)}
.event-card>*{position:relative;z-index:1}
@keyframes spin{to{transform:rotate(360deg)}}

/* roster reel */
.reel-sec{padding:2.5rem 0 2.75rem;border-bottom:0.5px solid var(--border);background:var(--dark);text-align:center;overflow:hidden}
.reel{overflow:hidden;position:relative;margin-top:1.5rem;padding:6px 0}
.reel::before,.reel::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.reel::before{left:0;background:linear-gradient(to right,var(--dark),transparent)}
.reel::after{right:0;background:linear-gradient(to left,var(--dark),transparent)}
.reel-track{display:flex;gap:14px;width:max-content;animation:marquee 70s linear infinite}
.reel:hover .reel-track{animation-play-state:paused}
.reel-card{position:relative;width:300px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:0.5px solid var(--border);background:#000;text-decoration:none;flex:none;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s}
.reel-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--rg)}
.reel-card img,.reel-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel-card video{opacity:0;transition:opacity .4s}
.reel-card.playing video{opacity:1}
.reel-card .reel-meta{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(to top,rgba(13,10,10,.92),transparent);text-align:left;z-index:1}
.reel-card .reel-name{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--rgs);line-height:1.1}
.reel-card .reel-role{font-size:7px;letter-spacing:2px;text-transform:uppercase;color:var(--rgd);margin-top:3px}
.reel-card .reel-play{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:0.5px solid rgba(232,196,176,.5);display:flex;align-items:center;justify-content:center;z-index:1;transition:opacity .3s}
.reel-card .reel-play::after{content:"";border-left:6px solid var(--rgl);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}
.reel-card.playing .reel-play{opacity:0}

/* services icon grid */
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:960px;margin:1.5rem auto 0}
.svc{display:block;text-decoration:none;background:var(--card);border:0.5px solid var(--border);border-radius:6px;padding:1.1rem .5rem;text-align:center;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.svc:hover{transform:translateY(-5px);border-color:var(--rgd);background:rgba(201,149,122,.06)}
.svc .ic{width:26px;height:26px}
.svc:hover .ic{color:var(--rgs);transform:scale(1.15)}
.svc-name{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rgl);margin-top:2px}

/* venue cta shimmer */
.venue-cta{position:relative;overflow:hidden}
.venue-cta::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:35%;background:linear-gradient(105deg,transparent,rgba(232,196,176,.09),transparent);transform:skewX(-18deg);transition:left .9s cubic-bezier(.16,1,.3,1);pointer-events:none}
.venue-cta:hover::before{left:110%}

/* testimonial stars */
.stars span{display:inline-block;opacity:0;transform:scale(.4);transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.in .stars span{opacity:1;transform:none}
.in .stars span:nth-child(1){transition-delay:.2s}.in .stars span:nth-child(2){transition-delay:.3s}.in .stars span:nth-child(3){transition-delay:.4s}.in .stars span:nth-child(4){transition-delay:.5s}.in .stars span:nth-child(5){transition-delay:.6s}

/* equalizer */
.eq{display:flex;align-items:flex-end;gap:3px;height:34px;margin-bottom:12px}
.eq i{display:block;width:3px;background:linear-gradient(to top,var(--rgd),var(--rgl));border-radius:1px;height:30%;animation:eq 1.1s ease-in-out infinite alternate;transform-origin:bottom}
.eq i:nth-child(1){animation-delay:0s}.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.05s}.eq i:nth-child(5){animation-delay:.25s}.eq i:nth-child(6){animation-delay:.4s}.eq i:nth-child(7){animation-delay:.1s}.eq i:nth-child(8){animation-delay:.35s}.eq i:nth-child(9){animation-delay:.2s}.eq i:nth-child(10){animation-delay:.45s}.eq i:nth-child(11){animation-delay:.08s}.eq i:nth-child(12){animation-delay:.3s}
@keyframes eq{from{height:18%}to{height:100%}}
.mix-tile{background:var(--dark2);border:0.5px solid var(--border);border-radius:6px;padding:1.25rem;text-align:center;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s}
.mix-tile:hover{transform:translateY(-4px);border-color:var(--rgd)}
.mix-tile .ic{width:26px;height:26px;color:var(--rg)}

/* cta bar glow */
.cta-bar{position:relative;overflow:hidden}
.cta-bar::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:-120px;top:-300px;background:radial-gradient(circle,rgba(201,149,122,.16),transparent 60%);animation:ctaGlow 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes ctaGlow{to{transform:translate(60vw,120px)}}
.cta-bar>*{position:relative;z-index:1}

/* faq */
.rt-faq-item{transition:border-color .3s,transform .3s}
.rt-faq-item:hover{transform:translateX(4px)}

@media(max-width:900px){.svc-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.svc-grid{grid-template-columns:repeat(3,1fr)}.reel-card{width:240px}.steps::before{display:none}}

@media(prefers-reduced-motion:reduce){
  .rv,.rv-l,.rv-s{opacity:1;transform:none;transition:none}
  .video-bg,.hero-grain,.ticker-track,.reel-track,.eq i,.event-card::after,.cta-bar::before,.scroll-cue i::after{animation:none}
  .video-hero .video-content>*,.scroll-cue{opacity:1;transform:none;animation:none}
  .video-hero .hl,.video-hero .hlr{width:60px;animation:none}
  .steps::before{transform:none}
  .stars span{opacity:1;transform:none}
}
