/* Framer-native version: only effects Framer does out of the box
   (appear on scroll, text appear, ticker, hover, carousel, accordion, sticky nav) */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.shown{opacity:1;transform:none}
.js [data-split] .ln>span{transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.js [data-split] .ln:nth-child(2)>span{transition-delay:.08s}
.js [data-split].shown .ln>span{transform:none}
.js .intro{opacity:0;transition:opacity .6s ease}
.js .intro.on{opacity:1}
header .menu-btn{transform:scale(1)!important;width:46px!important;margin-left:0!important}
@media(min-width:901px){header .menu-btn{display:none}}
header.top-bg{background:rgba(4,4,4,.82);backdrop-filter:blur(14px);border-bottom:1px solid #1a1a1a}
.btn:hover{background:#ff5a33}
.tile:hover img,.fcard:hover img,.cat:hover img,.fmt:hover .ph img,.story:hover .ph img{transform:scale(1.05)}

/* hero */
.fhero{position:relative;height:100vh;min-height:620px;overflow:hidden}
.fhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.fhero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(4,4,4,.35),rgba(4,4,4,.15) 40%,rgba(4,4,4,.92))}
.fhero-in{position:absolute;left:0;right:0;bottom:70px;z-index:2}

/* carousel slides with CSS transition (Framer Slideshow) */
.ctrack{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.carousel.drag .ctrack{transition:none}

/* event type cards */
.catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.catgrid{grid-template-columns:1fr 1fr}}
.cat{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;display:block}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.8))}
.cat span{position:absolute;left:22px;bottom:18px;z-index:2;font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.02em}

/* service cards */
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.fcards{grid-template-columns:1fr}}
.fcard{background:var(--card);border-radius:24px;overflow:hidden;display:block;transition:transform .4s ease}
.fcard:hover{transform:translateY(-6px)}
.fcard img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.fcard>div{padding:22px}
.fcard p{color:var(--mute);font-size:15px;margin-top:6px}

/* final cta */
.fcta{position:relative;margin:0 16px;border-radius:28px;overflow:hidden;min-height:520px;display:grid;place-items:center;text-align:center}
.fcta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38)}
.fcta .in{position:relative;padding:80px 24px}
.fcta .lead{margin:18px auto 28px}

/* gallery: no lightbox in this version */
.gallery figure{cursor:default}

/* version badge */
.fbadge{position:fixed;left:16px;bottom:16px;z-index:70;display:flex;gap:10px;align-items:center;background:#151515;border:1px solid #2a2a2a;border-radius:999px;padding:8px 8px 8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#ddd}
.fbadge a{background:var(--acc);color:#fff;border-radius:999px;padding:6px 10px}
@media(max-width:600px){.fbadge{font-size:9px;padding:5px 5px 5px 10px;gap:6px}.fbadge a{padding:5px 8px}}
