/* Corporate motion v2: prominent, pausable and independent of page navigation. */
.hero{padding-bottom:36px}
.hero .motion-band{margin:0 0 30px}
.hero h1{animation:headline-open 1.2s cubic-bezier(.16,1,.3,1) both;transform-origin:left bottom}
.hero .eyebrow{animation:label-open .8s both}
.hero .intro{animation:intro-open 1s .25s both}
.motion-band{margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--ink);color:var(--orange);padding:17px 0;max-width:100%;position:relative}
.motion-track{display:flex;width:max-content;animation:industrial-track 24s linear infinite}
.motion-group{display:flex;flex-shrink:0;gap:50px;padding-right:50px}
.motion-group>span{font-size:14px;letter-spacing:2px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:50px}
.motion-group>span:after{content:'+';font-size:24px;font-weight:400;color:#c5d5cf}
.motion-band:after{content:'';position:absolute;inset:0;border-left:6px solid var(--orange);pointer-events:none}
.home-hero{padding-bottom:32px}
.hero-bottom{margin-bottom:52px}
.reveal{transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.pending{transform:translateY(65px);opacity:0}
.process{grid-template-columns:1fr 44px 1fr 44px 1fr}
.process>div:not(.heat){animation:stage-highlight 6s ease-in-out infinite;position:relative;overflow:hidden}
.process>div:nth-child(3){animation-delay:2s}
.process>div:nth-child(5){animation-delay:4s}
.process .flow{height:5px;background:#42645a;overflow:visible}
.flow:after{height:5px;width:18px;background:var(--orange);box-shadow:0 0 12px #f4916099;animation:energy-flow 1.4s linear infinite}
.process .heat{animation:heat-highlight 6s ease-in-out infinite}
.button{position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,background .3s}
.button:hover{transform:translateY(-5px);box-shadow:0 9px 0 #f49160}
.button span{transition:transform .3s}.button:hover span{transform:translate(4px,-4px)}
.facts>div,.contact-rows>div{transition:background .3s,padding .3s}
.facts>div:hover,.contact-rows>div:hover{background:#e6ece6;padding-left:14px}
@keyframes industrial-track{to{transform:translateX(-25%)}}
@keyframes headline-open{from{opacity:0;transform:translateY(65px) rotate(1.5deg);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes label-open{from{opacity:0;transform:translateX(-35px)}to{opacity:1;transform:none}}
@keyframes intro-open{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes energy-flow{from{transform:translateX(-6px);opacity:0}20%,80%{opacity:1}to{transform:translateX(32px);opacity:0}}
@keyframes stage-highlight{0%,33%,100%{background:transparent;border-color:#78958b;transform:none}8%,25%{background:#355649;border-color:var(--orange);transform:translateY(-7px);box-shadow:0 7px 0 #f49160}}
@keyframes heat-highlight{0%,60%,100%{background:transparent}70%,85%{background:#70472f;border-color:#ffc59f}}
@media(max-width:600px){.motion-band{margin-top:25px;padding:12px 0}.motion-group,.motion-group>span{gap:25px}.motion-group{padding-right:25px}.motion-group>span{font-size:12px;letter-spacing:1px}.process{grid-template-columns:1fr 20px 1fr 20px 1fr}.flow:after{width:9px;animation-name:energy-flow-mobile}@keyframes energy-flow-mobile{from{transform:translateX(-3px);opacity:0}20%,80%{opacity:1}to{transform:translateX(14px);opacity:0}}}
.motion-off .motion-track,.motion-off .process>div,.motion-off .flow:after{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}
