/* CABFIGHT motion system. Content and navigation remain native without JS. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:cf-page-out .18s ease both}
::view-transition-new(root){animation:cf-page-in .42s cubic-bezier(.2,.7,.2,1) both}
@keyframes cf-page-out{to{opacity:0}}
@keyframes cf-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--lime);transform:scaleX(var(--read-progress,0));transform-origin:left;pointer-events:none;z-index:2}
.home-hero{--hero-x:0;--hero-y:0;--hero-scroll:0;perspective:1400px}
.home-hero .hero-image{transform:translate3d(calc(var(--hero-x)*12px),calc(var(--hero-y)*9px + var(--hero-scroll)*40px),0) scale(calc(1.045 + var(--hero-scroll)*.04));transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.home-hero .hero-content{transform:translate3d(calc(var(--hero-x)*-6px),calc(var(--hero-y)*-4px - var(--hero-scroll)*18px),0);transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.home-hero h1{animation:none;position:relative;z-index:1}
.home-hero h1 .hero-line{display:block;overflow:clip;color:inherit;line-height:1.16;padding-bottom:.04em;margin-bottom:-.04em}
.home-hero h1 .hero-line-inner{display:inline-block;color:inherit;transform-origin:left bottom}
.home-hero h1 .hero-accent{color:var(--lime);position:relative}
.motion-ready .hero-line-inner{animation:cf-title-rise .95s cubic-bezier(.16,1,.3,1) both}
.motion-ready .hero-line:nth-child(2) .hero-line-inner{animation-delay:.16s}
.motion-ready .hero-kicker{animation:cf-hero-detail .8s .05s ease both}
.motion-ready .home-hero p{animation:cf-hero-detail .8s .34s ease both}
.motion-ready .hero-actions{animation:cf-hero-detail .8s .46s ease both}
.motion-ready .hero-foot{animation:cf-hero-detail .8s .6s ease both}
.motion-ready .hero-image{animation:cf-arena-enter 1.3s cubic-bezier(.16,1,.3,1) both}
.hero-stage-geometry{position:absolute;inset:2% -2% 6% auto;width:67%;color:#d9ff66;opacity:.4;z-index:-1;pointer-events:none;transform:translate3d(calc(var(--hero-x)*-14px),calc(var(--hero-y)*-10px),0) rotateY(calc(var(--hero-x)*-2deg));transition:transform .4s cubic-bezier(.2,.7,.2,1);transform-origin:60% 50%}
.hero-stage-geometry svg{width:100%;height:100%;overflow:visible}
.hero-stage-guide{stroke:currentColor;stroke-width:.65;fill:none;opacity:.3;vector-effect:non-scaling-stroke}
.hero-stage-route{stroke:#e2eadb;stroke-width:1;fill:none;stroke-dasharray:1800;stroke-dashoffset:0;opacity:.55;vector-effect:non-scaling-stroke}
.hero-stage-corner{stroke:var(--lime);stroke-width:1.4;fill:none;opacity:.8;vector-effect:non-scaling-stroke}
.motion-ready .hero-stage-route{animation:cf-route-draw 1.8s .2s cubic-bezier(.2,.7,.2,1) both}
.motion-ready .hero-stage-corner{animation:cf-hero-detail 1.1s .7s ease both}
.hero-stage-word{font:700 11px Arial,Helvetica,sans-serif;letter-spacing:5px;fill:currentColor;opacity:.6}
.hero-foot>a{display:inline-flex;align-items:center;gap:15px}
.hero-foot .scroll-mark{height:24px;width:13px;display:inline-block;position:relative;border:1px solid #b8c9a466;border-radius:8px}
.hero-foot .scroll-mark:after{content:"";position:absolute;top:5px;left:5px;width:1px;height:5px;background:var(--lime)}
.motion-ready .scroll-mark:after{animation:cf-scroll-nudge 1.8s .8s ease-in-out 3}

.button{position:relative;isolation:isolate;overflow:hidden;transition:background .22s,color .22s,border-color .22s,box-shadow .22s,transform .22s}
.button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 15%,#fff3 45%,transparent 70%);transform:translateX(-130%);pointer-events:none;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.button:hover:before,.button:focus-visible:before{transform:translateX(130%)}
.button>span[aria-hidden]{transition:transform .25s ease}
.button:hover>span[aria-hidden],.button:focus-visible>span[aria-hidden]{transform:translate(2px,-2px)}
.button:active{transform:translateY(0) scale(.985)}
.desktop-nav a:before{content:"";position:absolute;bottom:20px;left:0;right:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.desktop-nav a:hover:before,.desktop-nav a:focus-visible:before{transform:scaleX(1);transform-origin:left}
.header-contact{transition:background .25s,border-color .25s,color .25s}
.header-contact:hover{background:#d9ff6610}
.audience-links a{transition:border-color .25s,padding-left .3s}
.audience-links a:hover{padding-left:12px}
.poster-symbol{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.poster-link:hover .poster-symbol,.poster-link:focus-visible .poster-symbol{transform:rotate(-10deg) scale(1.06)}
.poster-number{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.poster-link:hover .poster-number{transform:skewY(-8deg) translateY(-7px)}
.mobile-nav:not([hidden]){animation:cf-menu-open .28s cubic-bezier(.2,.7,.2,1) both}
.info-dialog[open]{animation:cf-dialog-open .28s cubic-bezier(.2,.7,.2,1) both}
.info-dialog[open]::backdrop{animation:cf-page-in .2s ease both}

@keyframes cf-title-rise{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}
@keyframes cf-hero-detail{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes cf-arena-enter{from{opacity:.4;filter:brightness(.72)}to{opacity:1;filter:brightness(1)}}
@keyframes cf-mobile-arena-enter{from{opacity:.4}to{opacity:.73}}
@keyframes cf-route-draw{from{stroke-dashoffset:1800;opacity:0}to{stroke-dashoffset:0;opacity:.55}}
@keyframes cf-scroll-nudge{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}
@keyframes cf-menu-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes cf-dialog-open{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

@media(hover:none),(pointer:coarse){
 .home-hero .hero-image{transform:none;transition:none}
 .home-hero .hero-content{transform:none;transition:none}
 .hero-stage-geometry{transform:none;transition:none;opacity:.24}
 .audience-links a:hover{padding-left:0}
 .button:hover{transform:none}
 .button:hover:before{transform:translateX(-130%)}
}
@media(max-width:900px){.hero-stage-geometry{width:75%;right:-13%;opacity:.23}.desktop-nav a:before{display:none}}
@media(max-width:600px){
 .home-hero .hero-image{transform:none;transition:none}
 .home-hero .hero-content{transform:none;transition:none}
 .hero-stage-geometry{display:none}
 .motion-ready .hero-line-inner{animation-duration:.7s}
 .motion-ready .hero-image{animation:cf-mobile-arena-enter .8s ease both}
 .hero-foot .scroll-mark{height:20px;width:11px}
 .hero-foot .scroll-mark:after{left:4px;top:4px}
 .home-hero h1 .hero-line{line-height:1.16}
 .home-hero h1 .hero-line-inner{letter-spacing:inherit}
}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .home-hero .hero-image,.home-hero .hero-content,.hero-stage-geometry{transform:none!important;filter:none!important;transition:none!important}
 .motion-ready .hero-line-inner,.motion-ready .hero-kicker,.motion-ready .home-hero p,.motion-ready .hero-actions,.motion-ready .hero-foot,.motion-ready .hero-image,.motion-ready .hero-stage-route,.motion-ready .hero-stage-corner{animation:none!important;opacity:1;transform:none}
 .hero-stage-route{stroke-dashoffset:0}
 .button:before{display:none}
 .button:hover,.button:active,.button:hover>span[aria-hidden],.audience-links a:hover,.poster-link:hover .poster-symbol,.poster-link:focus-visible .poster-symbol{transform:none}
 .audience-links a:hover{padding-left:0}
}
