/* hero marquee reveals
   Loaded in numeric order: later files refine earlier ones. */
@layer site {
/* hero */
.ln{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.12em}
.ln>span{display:inline-block;animation:lineUp 1.15s var(--ease-out) both}
.ln.l1>span{animation-delay:calc(var(--intro-delay) + .05s)}
.ln.l2>span{animation-delay:calc(var(--intro-delay) + .17s)}
.fu{animation:fadeUp 1s var(--ease-out) both}
.fu.d1{animation-delay:calc(var(--intro-delay) + .45s)}
.fu.d2{animation-delay:calc(var(--intro-delay) + .6s)}
.fu.d3{animation-delay:calc(var(--intro-delay) + .75s)}
.fu.d4{animation-delay:calc(var(--intro-delay) + .9s)}
.ul{position:relative;display:inline-block;white-space:nowrap}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.09em;border-radius:.05em;background:var(--acc);transform-origin:left;animation:hlIn .9s cubic-bezier(.7,0,.3,1) calc(var(--intro-delay) + .9s) both}
.badge-rot{animation:rot 16s linear infinite}
.pulse{animation:pulse 1.8s ease-out infinite}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:end}
.fc{position:absolute;z-index:3;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start}
.fc .fc-l{margin:-2px 0 0 14px;padding:5px 10px;border-radius:4px 10px 10px 10px;font:600 var(--fs-sm)/1.2 var(--font-body);white-space:nowrap;box-shadow:0 6px 20px var(--color-shade-a25)}
.fc1{animation:fadeIn .6s ease calc(var(--intro-delay) + 1.4s) both,fc1 10s ease-in-out calc(var(--intro-delay) + 1.4s) infinite}

/* marquee */
.mq{display:flex;width:max-content;animation:marq 38s linear infinite}
.mq.slow{animation-duration:60s}
.mq-wrap:hover .mq{animation-play-state:paused}
.sep{display:inline-block;width:.3em;height:.3em;background:currentColor;transform:rotate(45deg);margin:0 .6em;vertical-align:middle}

/* reveals */
.rv-up,.rv-group>*{transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.armed .rv-up:not(.in){opacity:0;transform:translateY(48px)}
.armed .rv-group:not(.in)>*{opacity:0;transform:translateY(40px)}
.rv-group>*:nth-child(2){transition-delay:.06s}
.rv-group>*:nth-child(3){transition-delay:.12s}
.rv-group>*:nth-child(4){transition-delay:.18s}
.rv-group>*:nth-child(5){transition-delay:.24s}
.rv-group>*:nth-child(6){transition-delay:.3s}
.rv-group>*:nth-child(7){transition-delay:.36s}
.rv-group>*:nth-child(8){transition-delay:.42s}
.rv-group>*:nth-child(n+9){transition-delay:.48s}
.rv-wm{transition:transform 1.5s var(--ease-out)}
.armed .rv-wm:not(.in){transform:none}
.rv-wm{animation:wmUp linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
}
