/* Additive animation layer. Layout and interaction transforms belong to style.css. */
@keyframes opening-rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.site-header{animation:opening-rise .65s cubic-bezier(.22,.75,.25,1) both}
.hero-copy .availability{animation:opening-rise .65s .1s cubic-bezier(.22,.75,.25,1) both}
.hero h1{animation:opening-rise .8s .2s cubic-bezier(.22,.75,.25,1) both}
.hero-support{animation:opening-rise .75s .32s cubic-bezier(.22,.75,.25,1) both}
.hero-actions{animation:opening-rise .75s .44s cubic-bezier(.22,.75,.25,1) both}
.hero-cards>.hero-photo{animation-delay:.5s!important}
.hero-cards>.hero-stat{animation-delay:.58s!important}
.hero-cards>.hero-idea{animation-delay:.66s!important}
.hero-cards>.hero-growth{animation-delay:.74s!important}
.hero-cards>.hero-industries{animation-delay:.82s!important}
/* Individual translate leaves existing card rotation/lift and carousel transforms alone. */
.motion-enter{transition:opacity .65s cubic-bezier(.22,.75,.25,1) var(--enter-delay,0ms),translate .65s cubic-bezier(.22,.75,.25,1) var(--enter-delay,0ms),transform .35s cubic-bezier(.2,.75,.25,1),background .35s,color .35s,box-shadow .35s,border-color .35s}
.motion-ready .motion-enter:not(.is-entered){opacity:0;translate:0 24px}
.motion-enter.is-entered{opacity:1;translate:0 0}
.motion-enter:focus-within{opacity:1!important;translate:0 0!important}
.nav-roll-window{display:block;position:relative;overflow:hidden;line-height:1.5}
.nav-roll-text{display:block;white-space:nowrap}
.nav-roll-text+ .nav-roll-text{position:absolute;inset:0}
.nav-roll-text>span{display:inline-block;transition:transform .4s cubic-bezier(.22,.75,.25,1);transition-delay:var(--letter-delay)}
.nav-roll-text+ .nav-roll-text>span{transform:translateY(130%)}
.main-nav a:hover .nav-roll-text:first-child>span,.main-nav a:focus-visible .nav-roll-text:first-child>span{transform:translateY(-130%)}
.main-nav a:hover .nav-roll-text+ .nav-roll-text>span,.main-nav a:focus-visible .nav-roll-text+ .nav-roll-text>span{transform:translateY(0)}
.contact-ribbon>span{overflow:hidden}
.ribbon-track{display:flex;width:max-content;animation:ribbon-travel 36s linear infinite;animation-play-state:paused}
.ribbon-group{display:block;flex:none;padding-right:1.4em}
.ribbon-front .ribbon-track{animation-direction:reverse}
.ribbon-visible .ribbon-track{animation-play-state:running}
.contact-ribbon:hover .ribbon-front{letter-spacing:-.04em}
.contact-ribbon:hover .ribbon-track,.contact-ribbon:focus-visible .ribbon-track,.motion-document-hidden .ribbon-track{animation-play-state:paused}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
/* Match the reference's tilt and icon rollover, retaining YDM's lime wash. */
.pillar-symbol{position:relative;width:48px;height:48px;overflow:hidden;flex:none}
.pillar-symbol .pillar-icon{transition:translate .4s cubic-bezier(.22,.75,.25,1)}
.pillar-symbol .pillar-icon+ .pillar-icon{position:absolute;inset:0;translate:0 100%}
.pillar-card:hover,.pillar-card:focus-visible{transform:rotate(9deg) translateY(-8px)}
.pillar-card:hover .pillar-icon:first-child,.pillar-card:focus-visible .pillar-icon:first-child{translate:0 -100%}
.pillar-card:hover .pillar-icon+ .pillar-icon,.pillar-card:focus-visible .pillar-icon+ .pillar-icon{translate:0 0}
/* Reference-style rising button fill under the existing rolling label. */
.btn{isolation:isolate}
.btn:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--button-hover-fill,#e9ece4);transform:translateY(105%);transition:transform .4s cubic-bezier(.22,.75,.25,1);pointer-events:none}
.btn-primary{--button-hover-fill:#baff64}
.btn-secondary{--button-hover-fill:#30332e}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--lime)}
.btn-secondary:hover,.btn-secondary:focus-visible{background:#202220}
.btn-white:hover,.btn-white:focus-visible{background:#fafaf8}
.btn:hover:before,.btn:focus-visible:before{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
 .site-header,.hero-copy .availability,.hero h1,.hero-support,.hero-actions,.hero-cards>div,.hero-cards>figure{animation:none!important;opacity:1;translate:none}
 .motion-ready .motion-enter:not(.is-entered),.motion-enter.is-entered{opacity:1;translate:none}
 .motion-enter,.nav-roll-text>span{transition:none!important}
 .nav-roll-text+ .nav-roll-text{display:none}
 .main-nav a:hover .nav-roll-text:first-child>span,.main-nav a:focus-visible .nav-roll-text:first-child>span{transform:none}
 .ribbon-track{animation:none!important}
 .btn:before{transition:none}
 .pillar-card:hover,.pillar-card:focus-visible{transform:none}
 .pillar-symbol .pillar-icon{transition:none;translate:none!important}
 .pillar-symbol .pillar-icon+ .pillar-icon{display:none}
}
