/* Three-dimensional entrances; only composited opacity and transform animate. */
.reveal-motion{
 --reveal-rise:30px;--reveal-depth:-42px;--reveal-tilt:9deg;--reveal-scale:.985;--reveal-duration:780ms;
 transform-origin:50% 80%;backface-visibility:hidden;
 transition-property:color,background-color,border-color,box-shadow;transition-duration:.3s;transition-delay:0s;
}
.reveal-inline{display:inline-block}
.reveal-motion[data-reveal="scene"]{--reveal-rise:56px;--reveal-depth:-100px;--reveal-tilt:12deg;--reveal-scale:.975;--reveal-duration:1050ms}
.reveal-motion[data-reveal="control"]{--reveal-rise:20px;--reveal-depth:-25px;--reveal-tilt:7deg;--reveal-scale:.99;--reveal-duration:680ms}
.reveal-motion:not(.is-revealed){opacity:0;transform:perspective(1100px) translate3d(0,var(--reveal-rise),var(--reveal-depth)) rotateX(var(--reveal-tilt)) rotateY(var(--reveal-turn,0deg)) scale(var(--reveal-scale))}
.reveal-motion.is-revealed{opacity:1;transform:none}
.reveal-motion.is-revealed:not(.is-reveal-complete){animation:depth-enter var(--reveal-duration) cubic-bezier(.16,.75,.25,1) var(--reveal-delay,0ms) both}
.reveal-motion.is-reveal-complete{transition:color .3s,background-color .3s,border-color .3s,transform .35s,box-shadow .35s}
@keyframes depth-enter{
 from{opacity:0;transform:perspective(1100px) translate3d(0,var(--reveal-rise),var(--reveal-depth)) rotateX(var(--reveal-tilt)) rotateY(var(--reveal-turn,0deg)) scale(var(--reveal-scale))}
 to{opacity:1;transform:none}
}
/* Hero text stays synchronized with slide changes. */
.hero-inner{--hero-entry-rise:28px;--hero-entry-depth:-60px;--hero-entry-tilt:10deg}
.hero-slide[data-slide="0"].is-active:not(.has-intro-finished) .hero-inner>*{animation:hero-intro 1s cubic-bezier(.16,.75,.25,1) .15s both}
.hero-slide[data-slide="0"].is-active:not(.has-intro-finished) .hero-inner .slider-lead{animation-delay:.25s}
.hero-slide[data-slide="0"].is-active:not(.has-intro-finished) .hero-inner .actions{animation-delay:.35s}
@keyframes hero-intro{from{opacity:0;transform:perspective(1100px) translate3d(0,var(--hero-entry-rise),var(--hero-entry-depth)) rotateX(var(--hero-entry-tilt))}to{opacity:1;transform:none}}
.hero-inner>*{transform-origin:0 75%;transform:perspective(1100px) translate3d(0,28px,-60px) rotateX(10deg);transition:opacity .8s cubic-bezier(.16,.75,.25,1) .15s,transform 1s cubic-bezier(.16,.75,.25,1) .15s}
.hero-slide.is-active .hero-inner>*{transform:none;opacity:1}
.hero-slide.is-active .hero-inner .slider-lead{transition-delay:.25s}
.hero-slide.is-active .hero-inner .actions{transition-delay:.35s}
@keyframes header-arrive{from{opacity:0;transform:perspective(1000px) translate3d(0,-15px,-28px) rotateX(-9deg)}to{opacity:1;transform:none}}
@keyframes menu-arrive{from{opacity:0;transform:perspective(1000px) translate3d(0,-12px,-36px) rotateX(-7deg)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .reveal-motion.is-reveal-complete.button:hover{transform:translateY(-3px)}
 .reveal-motion.is-reveal-complete.text-link:hover{transform:translateX(3px)}
}
@media(max-width:800px){
 .hero-inner{--hero-entry-rise:20px;--hero-entry-depth:-35px;--hero-entry-tilt:7deg}
 .reveal-motion{--reveal-rise:22px;--reveal-depth:-26px;--reveal-tilt:6deg;--reveal-duration:650ms;--reveal-turn:0deg!important}
 .reveal-motion[data-reveal="scene"]{--reveal-rise:35px;--reveal-depth:-55px;--reveal-tilt:8deg;--reveal-duration:850ms}
 .reveal-motion[data-reveal="control"]{--reveal-rise:15px;--reveal-depth:-18px;--reveal-tilt:5deg;--reveal-duration:560ms}
 .hero-inner>*{transform:perspective(1000px) translate3d(0,20px,-35px) rotateX(7deg)}
}
@media(prefers-reduced-motion:reduce){
 .reveal-motion,.reveal-motion:not(.is-revealed),.reveal-motion.is-revealed{opacity:1;transform:none!important;animation:none!important;transition:none!important}
 .hero-inner>*{transform:none!important;transition:none!important}
}
@media print{.reveal-motion,.reveal-motion:not(.is-revealed){opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}
