/* Approved homepage motion, scoped to the added components. */
.motion-elements .motion-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;border-top:1px solid #32106620;padding-top:20px}
.motion-elements .motion-index a{display:flex;justify-content:space-between;gap:22px;padding:10px 14px;border:1px solid #32106620;font-size:11px;border-radius:3px}
.motion-elements .motion-index a:hover{background:#e5d9f8}
.motion-elements .motion-index span{color:var(--purple)}
.motion-elements .topics-section,.motion-elements .method-section{padding:100px var(--gutter);position:relative}
.motion-elements .topics-section{background:#24113b;color:#fff;overflow:clip}
.motion-elements .element-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:60px}
.motion-elements .element-heading h2{font-size:clamp(36px,3.7vw,60px);font-variation-settings:'wdth' 160,'wght' 400;line-height:1.12}
.motion-elements .element-heading>p{max-width:330px;font-size:14px;line-height:1.8;flex-shrink:0}
.motion-elements .element-heading em{font-style:normal;color:var(--purple)}
.motion-elements .topics-section .eyebrow{color:#c3a5df}
.motion-elements .topics-section .element-heading>p{color:#c8b5dc}
.motion-elements .fan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;isolation:isolate}
.motion-elements .fan-card{position:relative;display:block;min-width:0;min-height:440px;border-radius:8px;overflow:hidden;background:#130c1d;border:1px solid #a475c935;transform-origin:50% 90%}
.motion-elements .fan-card:focus-visible{outline-offset:5px;z-index:10!important}
.motion-elements .fan-card>img,.motion-elements .fan-card>picture,.motion-elements .fan-card>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.motion-elements .fan-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10081cdb,#10081c00 35%,#10081c9c 70%,#10081cb8)}
.motion-elements .fan-copy{position:relative;z-index:1;display:flex;flex-direction:column;padding:26px;height:100%;min-height:440px}
.motion-elements .fan-category{font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.6;color:#d6b7ef;margin-bottom:24px}
.motion-elements .fan-copy h3{font-size:clamp(19px,1.75vw,28px);line-height:1.22;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
.motion-elements .fan-copy>p{font-size:12px;line-height:1.7;color:#dfd4e7;margin-top:18px}
.motion-elements .fan-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;margin-top:auto;padding-top:34px}
.motion-elements .fan-bottom b{font-size:23px;font-weight:400;transition:translate .2s}
.motion-elements .fan-card:hover .fan-bottom b{translate:3px -3px}
.motion-elements .fan-card-type{background:#e6d8f5;color:#321066}
.motion-elements .fan-card-type:after{display:none}
.motion-elements .fan-card-type .fan-category,.motion-elements .fan-card-type .fan-copy>p{color:#634983}
.motion-elements .fan-five{position:absolute;right:15px;bottom:10px;font-family:Sztos,Arial,sans-serif;font-size:330px;line-height:1;color:#d5b9f1}
.motion-elements .topics-note{border-top:1px solid #d4b5fa25;padding-top:22px;margin-top:40px;font-size:11px;color:#d1bfe2;display:flex;justify-content:space-between;gap:20px}
.motion-elements .topics-note span{color:#9b86ae}
.motion-elements .services-section{background:#f0ebf5;padding:90px var(--gutter);position:relative}
.motion-elements .services-stage{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;align-items:start}
.motion-elements .services-intro h2{font-size:clamp(34px,3.3vw,54px);font-variation-settings:'wdth' 160,'wght' 400;line-height:1.12}
.motion-elements .services-intro h2 em{font-style:normal;color:var(--purple)}
.motion-elements .services-intro>p:not(.eyebrow):not(.service-promise){font-size:14px;line-height:1.8;color:#6c6075;max-width:350px;margin-top:25px}
.motion-elements .service-navigation{margin-top:35px;display:flex;flex-direction:column;gap:0}
.motion-elements .service-navigation a{padding:12px 0;display:flex;align-items:center;gap:18px;font-size:12px;color:#746781}
.motion-elements .service-navigation a span{font-size:10px;color:#a084b8}
.motion-elements .service-navigation a[aria-current=step]{color:#6420bf;font-weight:600}
.motion-elements .service-navigation a[aria-current=step] span{color:#7f27ff}
.motion-elements .service-promise{font-size:12px;line-height:1.7;color:#95879f;margin-top:36px}
.motion-elements .service-promise strong{font-weight:500;color:#321066}
.motion-elements .service-deck{position:relative;display:grid;gap:22px;min-width:0}
.motion-elements .service-card{background:#fff;border:1px solid #d9cce6;border-radius:10px;padding:0 32px 28px;scroll-margin-top:24px}
.motion-elements .service-card>header{height:60px;display:flex;align-items:center;gap:18px;border-bottom:1px solid #32106615}
.motion-elements .service-card>header>span:first-child{font-size:11px;color:#9467bf}
.motion-elements .service-card h3{font-size:19px;letter-spacing:-.03em;font-weight:500}
.motion-elements .service-body{padding-top:26px}
.motion-elements .service-statement{font-family:Sztos,Arial,sans-serif;font-variation-settings:'wdth' 150,'wght' 400;font-size:clamp(27px,2.8vw,43px);line-height:1.13;letter-spacing:-.02em}
.motion-elements .service-body>p:not(.service-statement){font-size:13px;line-height:1.75;color:#766981;max-width:480px;margin-top:18px}
.motion-elements .service-body ul{padding:0;margin:23px 0;list-style:none}
.motion-elements .service-body li{position:relative;padding-left:19px;font-size:11px;line-height:1.65;margin:7px 0;color:#493758}
.motion-elements .service-body li:before{content:none;display:none}
.motion-elements .service-outcome{display:block;border-top:1px solid #32106620;padding-top:17px;font-size:10px;color:#785590}
.motion-elements .service-card:nth-child(2){background:#f5effc}
.motion-elements .service-card:nth-child(3){background:#e4d4f6}
.motion-elements .service-card:nth-child(4){background:#321066;color:white;border-color:#674294}
.motion-elements .service-card:nth-child(4)>header{border-color:#ffffff25}
.motion-elements .service-card:nth-child(4) .service-body>p:not(.service-statement),.motion-elements .service-card:nth-child(4) li{color:#dbcee9}
.motion-elements .service-card:nth-child(4) .service-outcome{border-color:#ffffff25;color:#ddc6f6}
.motion-elements .service-card:nth-child(4)>header>span:first-child,.motion-elements .service-card:nth-child(4) li:before{color:#c8a3ff}
.motion-elements .services-footer{display:none}
.motion-elements .services-section.stack-enabled{height:370svh;padding:0 var(--gutter)}
.motion-elements .stack-enabled .services-stage{position:sticky;top:0;height:100svh;align-items:center}
.motion-elements .stack-enabled .service-deck{height:var(--deck-height);display:block}
.motion-elements .stack-enabled .service-card{position:absolute;inset:0 0 auto;min-height:var(--card-height);height:var(--card-height);transform-origin:top center;box-shadow:0 14px 35px #3210660d;will-change:transform}
.motion-elements .stack-enabled .services-footer{display:flex;justify-content:space-between;position:absolute;bottom:24px;left:0;right:0;font-size:10px;color:#8e7c9f}
.motion-elements .stack-enabled .service-body{opacity:var(--body-opacity,1)}
.motion-elements .stack-enabled .services-stage{overflow:clip}
.motion-elements .method-section{background:#fff;padding-top:110px;padding-bottom:90px}
.motion-elements .method-section .eyebrow{color:#8e6aac}
.motion-elements .method-section .element-heading>p{color:#7e6b8a}
.motion-elements .method-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;--route:1}
.motion-elements .method-track{position:absolute;left:22px;top:21px;width:var(--track-length,66%);height:2px;background:#eee7f4}
.motion-elements .method-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f2490c,#7f27ff);transform:scaleX(var(--route));transform-origin:left}
.motion-elements .method-step{position:relative;--step:1;isolation:isolate}
.motion-elements .method-number{width:44px;height:44px;display:grid;place-items:center;position:relative;z-index:2;background:#fff;border:1px solid #d4c0e6;border-radius:50%;color:#84669d;font-size:11px;box-shadow:0 0 0 8px white}
.motion-elements .method-number:after{content:'';position:absolute;inset:-1px;border-radius:50%;border:2px solid #7f27ff;opacity:var(--step)}
.motion-elements .method-verb{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7f27ff;margin-top:34px;margin-bottom:12px}
.motion-elements .method-step h3{font-size:23px;line-height:1.25;letter-spacing:-.04em;font-weight:500}
.motion-elements .method-step>div>p:last-child{font-size:13px;line-height:1.85;color:#7b6b87;max-width:310px;margin-top:18px}
.motion-elements .method-chevron{position:absolute;width:115px;height:150px;object-fit:contain;top:95px;right:-15px;z-index:-1;opacity:calc(.03 + var(--step)*.09);transform:translateX(calc((1 - var(--step))*-16px))}
.motion-elements .method-action{border-top:1px solid #32106620;margin-top:68px;padding-top:36px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.motion-elements .method-action>p{font-size:19px;line-height:1.5;letter-spacing:-.025em}
.motion-elements .method-action .button{margin-top:0}
@media(min-width:901px) and (max-width:1200px){.motion-elements .fan-grid{gap:14px}
.motion-elements .fan-copy{padding:20px}
.motion-elements .services-stage{gap:5vw}
.motion-elements .service-card{padding-inline:24px}
.motion-elements .services-intro h2{font-size:36px}
.motion-elements .service-statement{font-size:30px}
.motion-elements .method-steps{gap:30px}}
@media(max-width:900px){.motion-elements .element-heading{display:block;margin-bottom:38px}
.motion-elements .element-heading>p{margin-top:25px;max-width:470px}
.motion-elements .fan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.motion-elements .fan-card,.motion-elements .fan-copy{min-height:410px}
.motion-elements .fan-copy h3{font-size:25px}
.motion-elements .services-stage{grid-template-columns:1fr;gap:40px}
.motion-elements .service-navigation{flex-direction:row;flex-wrap:wrap;gap:8px 25px;margin-top:24px}
.motion-elements .service-navigation a{padding:8px 0}
.motion-elements .service-promise{margin-top:20px}
.motion-elements .service-deck{grid-template-columns:repeat(2,minmax(0,1fr))}
.motion-elements .service-card{padding-inline:22px}
.motion-elements .service-statement{font-size:29px}
.motion-elements .service-body>p:not(.service-statement){font-size:12px}
.motion-elements .service-body li{font-size:11px}
.motion-elements .services-intro h2 br{display:none}
.motion-elements .services-intro h2{max-width:540px}
.motion-elements .method-steps{gap:25px}
.motion-elements .method-step h3{font-size:20px}
.motion-elements .method-chevron{width:90px;right:-10px}}
@media(max-width:600px){.motion-elements .motion-index{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.motion-elements .motion-index a{font-size:9px;padding:10px;gap:10px}
.motion-elements .topics-section,.motion-elements .method-section{padding:64px 24px}
.motion-elements .element-heading h2{font-size:clamp(30px,8.5vw,43px);font-variation-settings:'wdth' 140,'wght' 400}
.motion-elements .element-heading>p{font-size:12px;line-height:1.75}
.motion-elements .fan-grid{gap:12px}
.motion-elements .fan-card,.motion-elements .fan-copy{min-height:320px}
.motion-elements .fan-copy{padding:16px 12px}
.motion-elements .fan-category{font-size:7px;letter-spacing:.06em;margin-bottom:16px;min-height:24px}
.motion-elements .fan-copy h3{font-size:clamp(16px,4.3vw,22px);line-height:1.25}
.motion-elements .fan-copy>p{font-size:10px;line-height:1.6}
.motion-elements .fan-bottom{font-size:8px;padding-top:20px;gap:4px}
.motion-elements .fan-bottom b{font-size:18px}
.motion-elements .fan-five{font-size:240px;right:3px;bottom:20px}
.motion-elements .topics-note{display:block;font-size:10px;margin-top:28px;line-height:1.7}
.motion-elements .topics-note span{display:block;margin-top:5px}
.motion-elements .services-section{padding:64px 24px}
.motion-elements .services-intro h2{font-size:clamp(31px,8.6vw,43px);font-variation-settings:'wdth' 140,'wght' 400}
.motion-elements .services-intro>p:not(.eyebrow):not(.service-promise){font-size:13px}
.motion-elements .service-navigation{gap:5px 20px}
.motion-elements .service-navigation a{font-size:11px;gap:8px}
.motion-elements .service-deck{grid-template-columns:1fr;gap:20px}
.motion-elements .service-card{padding:0 23px 26px}
.motion-elements .service-statement{font-size:30px}
.motion-elements .service-body>p:not(.service-statement){font-size:13px}
.motion-elements .service-body li{font-size:11px}
.motion-elements .method-steps{grid-template-columns:1fr;gap:40px}
.motion-elements .method-step{display:grid;grid-template-columns:44px 1fr;gap:22px}
.motion-elements .method-verb{margin-top:3px;margin-bottom:12px}
.motion-elements .method-step h3{font-size:21px}
.motion-elements .method-step>div>p:last-child{font-size:12px;margin-top:15px}
.motion-elements .method-track{top:22px;left:21px;width:2px;height:var(--track-length,70%)}
.motion-elements .method-track i{transform:scaleY(var(--route));transform-origin:top;background:linear-gradient(#f2490c,#7f27ff)}
.motion-elements .method-chevron{top:45px;width:90px;height:120px;right:0}
.motion-elements .method-action{display:block;margin-top:45px;padding-top:30px}
.motion-elements .method-action>p{font-size:18px}
.motion-elements .method-action .button{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.motion-elements .fan-card{transform:none!important}
.motion-elements .method-chevron{transform:none}
.motion-elements .method-track i{transform:none}
.motion-elements .method-number:after{opacity:1}}
.motion-elements .method-reveal .method-step{opacity:0;transform:translateX(-24px);transition:opacity var(--method-duration,700ms) ease,transform var(--method-duration,700ms) cubic-bezier(.22,.61,.36,1)}
.motion-elements .method-reveal .method-step.is-method-visible{opacity:1;transform:translateX(0)}
.motion-elements .method-reveal .method-chevron{transform:none}
.motion-elements .method-reveal .method-track i{transition:transform var(--method-duration,700ms) cubic-bezier(.22,.61,.36,1)}
.motion-elements .method-reveal.method-reset .method-step,.motion-elements .method-reveal.method-reset .method-track i{transition:none}
@media(max-width:600px){.motion-elements .method-reveal .method-step{transform:translateX(-12px)}
.motion-elements .method-reveal .method-step.is-method-visible{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.motion-elements .method-reveal .method-step{opacity:1;transform:none;transition:none}
.motion-elements .method-reveal .method-track i{transition:none}}
.motion-finale .acceleration-section{padding:100px var(--gutter);background:#f8f6fa}
.motion-finale .acceleration-section .element-heading>p{color:#7e6b8a;line-height:1.8}
.motion-finale .acceleration-section>.element-heading .eyebrow{color:#8e6aac}
.motion-finale .acceleration-option{margin-top:66px;scroll-margin-top:30px}
.motion-finale .acceleration-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.motion-finale .acceleration-heading>div{display:flex;align-items:center;gap:18px}
.motion-finale .acceleration-number{font-size:11px;color:#8b719f;border:1px solid #d9cce6;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}
.motion-finale .acceleration-heading h3{font-size:18px;font-weight:500;letter-spacing:-.03em}
.motion-finale .acceleration-replay{display:none;border:0;background:transparent;color:#6a4387;font:inherit;font-size:11px;cursor:pointer;padding:10px 0 10px 10px;align-items:center;gap:14px;white-space:nowrap}
.motion-finale .acceleration-replay span{font-size:19px}
.motion-finale .acceleration-replay:focus-visible{outline:3px solid #f2490c;outline-offset:5px}
.motion-finale .acceleration-ready .acceleration-replay{display:flex}
.motion-finale .acceleration-stage{height:420px;position:relative;overflow:hidden;border-radius:8px;isolation:isolate;background:#201032;color:#fff}
.motion-finale .acceleration-statement{position:absolute;top:36px;left:40px;right:100px;font-family:Sztos,Arial,sans-serif;font-size:clamp(28px,3.2vw,46px);font-variation-settings:'wdth' 150,'wght' 400;line-height:1.1;letter-spacing:-.025em;z-index:2}
.motion-finale .acceleration-statement em{font-style:normal;color:#be92ff}
.motion-finale .acceleration-claim-up,.motion-finale .acceleration-claim-right{display:block}
.motion-finale .acceleration-pulse .acceleration-claim-up,.motion-finale .acceleration-pulse .acceleration-result-up{font-size:40px}
.motion-finale .acceleration-mark{position:absolute;right:40px;top:42px;font-size:9px;letter-spacing:.12em;color:#b79aca}
.motion-finale .acceleration-arena{position:absolute;left:40px;right:40px;top:146px;bottom:80px;--chevron-width:clamp(28px,6vw,82px)}
.motion-finale .acceleration-chevron{position:absolute;left:50%;top:50%;width:var(--chevron-width);height:auto;max-width:none;transform:translate(calc((var(--i) - 1.5)*110%),-50%)}
.motion-finale .acceleration-ready .acceleration-chevron{left:0}
.motion-finale .acceleration-caption{position:absolute;bottom:32px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;line-height:1.6;color:#bca5cf}
.motion-finale .acceleration-caption strong{font-size:13px;font-weight:500;color:#f0e7ff}
.motion-finale .acceleration-pulse .acceleration-caption{display:block;bottom:24px;text-align:right}
.motion-finale .acceleration-pulse .acceleration-caption strong{display:block;margin:0;font-family:Sztos,Arial,sans-serif;font-variation-settings:'wdth' 150,'wght' 400;font-size:clamp(28px,3.2vw,46px);font-weight:400;line-height:1.1;letter-spacing:-.025em;color:#fff}
.motion-finale .acceleration-pulse .acceleration-caption strong span,.motion-finale .acceleration-pulse .acceleration-caption strong em{display:block}
.motion-finale .acceleration-pulse .acceleration-caption strong em{font-style:normal;color:#be92ff}
.motion-finale .acceleration-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#f2490c,#7f27ff);transform-origin:left}
.motion-finale .acceleration-trails{position:absolute;top:50%;left:0;width:100%;height:64px;transform:translateY(-50%);opacity:0}
.motion-finale .acceleration-trails i{position:absolute;right:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#b185f5)}
.motion-finale .acceleration-trails i:nth-child(1){top:0;width:80%}
.motion-finale .acceleration-trails i:nth-child(2){top:50%}
.motion-finale .acceleration-trails i:nth-child(3){bottom:0;width:65%}
.motion-finale .acceleration-description{color:#7b6b87;font-size:13px;line-height:1.8;max-width:730px;margin-top:20px}
.motion-finale .acceleration-pulse{background:radial-gradient(ellipse at 55% 60%,#321653,transparent 70%),#140c22;width:calc(100% + 2*var(--gutter));margin-inline:calc(-1*var(--gutter));border-radius:0;display:grid;gap:56px;height:auto;padding:36px 40px 24px}
.motion-finale .acceleration-pulse .acceleration-statement{position:relative;inset:auto;grid-row:1}
.motion-finale .acceleration-visual{position:relative;grid-row:2;margin-inline:-40px;width:calc(100% + 80px);height:calc(min(720px,60vw) * .1294)}
.motion-finale .acceleration-pulse .acceleration-caption{position:relative;inset:auto;grid-row:3}
.motion-finale .acceleration-pulse .acceleration-arena{inset:0}
.motion-finale .acceleration-pulse .acceleration-lockup,.motion-finale .acceleration-pulse .acceleration-brand-color{top:50%}
.motion-finale .acceleration-lockup{position:absolute;left:50%;top:calc(50% + 33px);width:min(720px,60vw);height:150px;transform:translate(-50%,-50%)}
.motion-finale .acceleration-logo{position:absolute;left:0;top:50%;width:16.7159%;height:auto;transform:translateY(-50%);fill:currentColor;color:#f2f0f0;z-index:2}
.motion-finale .acceleration-wordmark-window{position:absolute;left:17.921%;right:-8px;top:0;height:100%;overflow:hidden}
.motion-finale .acceleration-wordmark{position:absolute;left:0;top:50%;width:calc(100% - 8px);max-width:none;height:auto;transform:translateY(-50%);filter:brightness(0) invert(94.5%)}
.motion-finale .acceleration-brand-color{position:absolute;left:50%;top:calc(50% + 33px);width:min(720px,60vw);height:150px;transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.motion-finale .acceleration-brand-color img{position:absolute;top:50%;height:auto;transform:translateY(-50%)}
.motion-finale .acceleration-brand-x{left:0;width:16.7159%}
.motion-finale .acceleration-brand-letters{left:17.921%;width:82.079%}
.motion-finale .acceleration-pulse .acceleration-chevron,.motion-finale .acceleration-pulse .acceleration-signal{display:none}
.motion-finale .acceleration-ready .acceleration-pulse .acceleration-chevron,.motion-finale .acceleration-ready .acceleration-pulse .acceleration-signal{display:block}
.motion-finale .acceleration-pulse .acceleration-chevron{width:clamp(24px,5vw,68px);transform:translate(calc((var(--i) - 3.5)*120%),-50%)}
.motion-finale .acceleration-signal{position:absolute;top:50%;left:4%;width:92%;height:1px;background:linear-gradient(90deg,#7f27ff20,#a675ff80);transform-origin:left}
@media(max-width:600px){.motion-finale .acceleration-section{padding:64px 24px}
.motion-finale .acceleration-option{margin-top:44px}
.motion-finale .acceleration-heading{gap:12px}
.motion-finale .acceleration-heading>div{gap:10px}
.motion-finale .acceleration-heading h3{font-size:14px}
.motion-finale .acceleration-number{width:28px;height:28px;font-size:10px}
.motion-finale .acceleration-replay{font-size:10px;gap:6px}
.motion-finale .acceleration-stage{height:350px}
.motion-finale .acceleration-statement{top:28px;left:22px;right:22px;font-size:clamp(26px,6.5vw,36px)}
.motion-finale .acceleration-mark{display:none}
.motion-finale .acceleration-arena{left:22px;right:22px;top:130px;bottom:100px}
.motion-finale .acceleration-caption{left:22px;right:22px;bottom:25px;display:block;font-size:9px}
.motion-finale .acceleration-caption strong{display:block;margin-top:8px;font-size:12px}
.motion-finale .acceleration-description{font-size:12px}
.motion-finale .acceleration-trails{height:36px}
.motion-finale .acceleration-pulse{width:calc(100% + 48px);margin-inline:-24px;padding:28px 22px 24px;gap:40px;height:auto}
.motion-finale .acceleration-visual{margin-inline:-22px;width:calc(100% + 44px);height:calc((100vw - 48px) * .1294)}
.motion-finale .acceleration-pulse .acceleration-arena{inset:0}
.motion-finale .acceleration-lockup,.motion-finale .acceleration-brand-color{width:calc(100% - 48px)}
.motion-finale .acceleration-pulse .acceleration-caption strong{font-size:clamp(26px,6.5vw,36px)}}
@media(prefers-reduced-motion:reduce){.motion-finale .acceleration-ready .acceleration-replay{display:none}}
.motion-elements,.motion-finale{--gutter:clamp(24px,5.5vw,100px);--night:#140c22}
.motion-elements{color:var(--ink)}
/* Match the homepage hero's centered 1270px content grid. */
.scroll-integrated .home-content,
.scroll-integrated .landscape>.container{
 width:calc(100% - 170px);max-width:1270px;margin-inline:auto;
}
.scroll-integrated .services-section,
.scroll-integrated .services-section.stack-enabled,
.scroll-integrated .method-section{padding-inline:0}
@media(min-width:901px){
 .scroll-integrated .services-stage{gap:clamp(32px,5vw,72px)}
 .scroll-integrated .method-steps{gap:clamp(24px,3vw,48px)}
}
@media(min-width:900px) and (max-width:1250px){
 .scroll-integrated .home-content,
 .scroll-integrated .landscape>.container{width:calc(100% - 100px)}
}
@media(max-width:899px){
 .scroll-integrated .home-content,
 .scroll-integrated .landscape>.container{width:calc(100% - 48px)}
}
.motion-elements .eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:25px}
.motion-elements .services-intro .eyebrow{font-variant:normal;text-transform:uppercase}
.motion-elements .services-intro h2,.motion-elements .element-heading h2{font-size:34px;line-height:1.32;font-variation-settings:'wdth' 200,'wght' 400}
.motion-elements .service-card{display:block;width:auto;min-height:0;margin:0}
.motion-elements .service-card h3{
 position:static;max-width:none;padding:0;margin:0;color:inherit;
 font:700 20px/26px var(--body);font-variation-settings:normal;letter-spacing:0;
}
.motion-elements .service-body .service-statement{
 font:400 clamp(23px,2.1vw,31px)/1.3 var(--display);
 font-variation-settings:'wdth' 200,'wght' 400;letter-spacing:0;
 margin:0;max-width:none;color:inherit;overflow-wrap:anywhere;hyphens:manual;
}
.motion-elements .service-body li{
 font:400 15px/22px var(--body);font-variation-settings:normal;
 padding-left:0;overflow-wrap:anywhere;
}
.motion-elements .service-navigation a{
 font:400 14px/20px var(--display);font-variation-settings:'wdth' 200,'wght' 400;
}
.motion-elements .service-body ul{margin-bottom:0}
.motion-elements .home-services-action{margin-top:30px}
.motion-elements .home-method-copy{margin-top:55px;padding-top:34px;border-top:1px solid #32106620;display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center}
.motion-elements .home-method-copy>p{font-size:14px;line-height:1.9;color:#6c6075;max-width:720px}
.motion-elements .home-method-copy .home-button-row{display:flex;justify-content:flex-end}
.motion-finale{padding:0 var(--gutter);background:#140c22;position:relative}
.motion-finale .home-acceleration{margin:0;position:relative;scroll-margin-top:0}
.motion-finale .acceleration-mark{display:none}
.motion-finale .home-replay{position:absolute;right:0;top:25px;z-index:6;color:#bca5cf;padding:10px}
.motion-finale .acceleration-pulse{padding-top:60px;padding-bottom:50px}
.scroll-integrated .editorial-card{transform-origin:50% 90%}
/* Figma editorial hover: photo fades into the dark copy panel. */
.scroll-integrated .editorial{height:auto;padding-bottom:52px}
.scroll-integrated .editorial-slider{grid-template-columns:repeat(4,minmax(0,1fr))}
.scroll-integrated .editorial-card{
 --card-hover:0;min-width:0;height:auto;min-height:480px;
 border-color:transparent;transition:box-shadow .45s ease;
}
.scroll-integrated .editorial-card::before{
 content:"";position:absolute;inset:0;z-index:2;border-radius:8px;padding:2px;
 background:linear-gradient(180deg,#f2490c 0%,#f2490c 20%,#7f27ff 100%);
 -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 -webkit-mask-composite:xor;mask-composite:exclude;
 opacity:var(--card-hover);transition:opacity .4s ease;pointer-events:none;
}
.scroll-integrated .editorial-card:is(:hover,:focus-visible,:active,.is-revealed){
 --card-hover:1;border-color:transparent;
 box-shadow:0 0 20px #f2490c30,0 10px 24px #7f27ff30;
}
.scroll-integrated .editorial-card .card-background{
 opacity:calc(1 - var(--card-hover));scale:calc(1 + var(--card-hover) * .035);
 transition:opacity .45s ease,scale .6s ease;
}
.scroll-integrated .editorial-card::after{
 background:linear-gradient(0deg,#000b,transparent 28%),linear-gradient(#000,transparent 51.923%);
}
.scroll-integrated .editorial-card .card-label{overflow-wrap:anywhere;letter-spacing:.02em}
.scroll-integrated .editorial-card h3{
 font-size:16px;font-variation-settings:'wdth' 200,'wght' 400;transition:color .35s ease;
}
.scroll-integrated .editorial-card:is(:hover,:focus-visible,:active,.is-revealed) h3{color:#7f27ff}
.scroll-integrated .editorial-copy{
 opacity:var(--card-hover);transform:translateY(calc((1 - var(--card-hover)) * 12px));
 transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);
 color:#f2f0f0;overflow-wrap:anywhere;hyphens:auto;
}
.scroll-integrated .editorial-card:not(:has(.card-background)) .editorial-copy{opacity:1;transform:none}
.scroll-integrated .editorial-card .read-more{align-items:center;padding:28px 4px 0 0;gap:12px;color:#f2f0f0}
.scroll-integrated .read-more-label{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.scroll-integrated .read-more-chevron{
 width:16px;height:18px;flex:none;transform:translateX(calc(var(--card-hover) * 4px));
 transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
@media(max-width:899px){.scroll-integrated .editorial-card{min-height:440px}}
/* Touch zeigt wie Desktop zuerst das Bild. Solange der Finger auf der Karte
   liegt (:active) oder nach dem ersten Tipp (.is-revealed, homepage.js) steht
   der Text; erst der zweite Tipp folgt dem Link. Bis 23.09.2026 stand hier ein
   dauerhaftes --card-hover:1, damit blieben die Bilder auf Mobil unsichtbar. */
/* The marquee was replaced by the finale; only its former space is removed. */
.scroll-integrated .team-teaser{height:auto;padding-bottom:100px}
/* Keep the dotted chevron fully visible beside the lower corner of the photo. */
@media(min-width:900px){
 .scroll-integrated .team-teaser{min-height:850px}
 .scroll-integrated .team-teaser::after{
  top:auto;right:18px;bottom:24px;width:231px;height:266px;
  background:url('/assets/media/start/raster-cta.webp') center/contain no-repeat;
 }
}
.scroll-integrated .motion-repeat{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.scroll-integrated .motion-repeat.is-motion-visible,.scroll-integrated .motion-repeat:focus-within{opacity:1;transform:none}
.scroll-integrated .motion-repeat.motion-reset{transition:none}
@media(max-width:900px){
 .motion-elements .home-method-copy{grid-template-columns:1fr;gap:28px}
 .motion-elements .home-method-copy .home-button-row{justify-content:flex-start}
}
@media(max-width:600px){
 .motion-elements .services-intro h2,.motion-elements .element-heading h2{font-size:28px;line-height:1.4}
 .motion-elements .home-method-copy{margin-top:35px;padding-top:26px}
 .motion-elements .home-method-copy>p{font-size:13px}
 .motion-finale{padding-inline:24px}
 .motion-finale .acceleration-pulse{padding-top:65px;padding-bottom:40px}
 .motion-finale .home-replay{top:10px;right:-10px;font-size:10px}
 .scroll-integrated .team-teaser{padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){
 .scroll-integrated .editorial-card{transform:none!important}
 .scroll-integrated .motion-repeat{opacity:1;transform:none;transition:none}
}
/* Without JavaScript, show the finished orange artwork only. */
.motion-finale .acceleration-lockup{visibility:hidden}
.motion-finale .acceleration-ready .acceleration-lockup{visibility:visible}
/* Long existing headlines must also fit a 320px viewport. */
@media(max-width:360px){.scroll-integrated .hero h1,.scroll-integrated .landscape h2{overflow-wrap:anywhere}}

/* Original logo proportions: 215.974-wide wordmark, 193.55 × 22.4935 claim. */
.motion-finale{
 --finale-logo-width:min(720px,60vw);
 --finale-claim-height:calc(var(--finale-logo-width) * 35.4935 / 215.974);
 --finale-padding:max(96px,calc(var(--finale-claim-height) + 48px));
}
.motion-finale .acceleration-pulse{
 --finale-claim-progress:1;
 gap:0;
 padding-top:var(--finale-padding);
 padding-bottom:calc(var(--finale-padding) + var(--finale-claim-height) * .6 * var(--finale-claim-progress));
}
.motion-finale .acceleration-ready .acceleration-pulse{--finale-claim-progress:0}
.motion-finale .acceleration-visual{
 grid-row:1;height:calc(var(--finale-logo-width) * .114667);
 /* The lower edge grows while the wordmark gently rises. Together with the
    claim this leaves identical top and bottom space at the end. */
 transform:translateY(calc(var(--finale-claim-height) * -.2 * var(--finale-claim-progress)));
}
.motion-finale .acceleration-pulse .acceleration-caption{
 position:absolute;inset:auto;left:50%;
 top:calc(50% + var(--finale-logo-width) * .114667 / 2 + var(--finale-logo-width) * 13 / 215.974 - var(--finale-claim-height) * .5 * var(--finale-claim-progress));
 width:var(--finale-logo-width);margin:0;text-align:left;transform:translateX(-50%);
}
.motion-finale .acceleration-pulse .acceleration-caption strong{
 position:relative;width:calc(100% * 193.55 / 215.974);aspect-ratio:193.55 / 22.4935;
 margin:0;color:#fff;
}
.motion-finale .acceleration-pulse .acceleration-caption strong :is(span,em){
 position:absolute;left:0;width:100%;height:50%;margin:0;overflow:hidden;color:#fff;
}
.motion-finale .acceleration-result-up{top:0}
.motion-finale .acceleration-result-right{top:50%}
.motion-finale .acceleration-caption strong img{
 position:absolute;left:0;width:100%;height:200%;max-width:none;
}
.motion-finale .acceleration-result-up img{top:0}
.motion-finale .acceleration-result-right img{bottom:0}
@media(max-width:600px){
 .motion-finale{
  --finale-logo-width:calc(100vw - 48px);
  --finale-padding:max(96px,calc(var(--finale-claim-height) + 48px));
 }
}
