/* Forward motion direction, second design proposal. */
:root{--orange:#ff7614;--ease:cubic-bezier(.16,1,.3,1)}
.page-progress{position:fixed;top:0;left:var(--rail);right:0;height:4px;z-index:80;background:var(--orange);transform-origin:left;transform:scaleX(var(--page-progress,0))}
.forward-v2 .hero{height:100svh;min-height:850px;max-height:1100px;background:#fafafa;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:22% 0 0;z-index:0;clip-path:polygon(43% 15%,100% 0,100% 100%,20% 100%);overflow:hidden;animation:scene-open 1.45s .4s var(--ease) both}
.hero-media img,.hero-media video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:70% center;transform:translateX(calc(var(--pointer-x,0px) * -.25)) scale(1.06);opacity:1}
.hero-media video{opacity:0;transition:opacity .35s}.hero-media video.is-ready{opacity:1}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fafafa 7%,#fafafae6 26%,#fafafa00 67%)}
.hero-grid{position:absolute;inset:0;z-index:0;opacity:.55;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#d9d9d9 0);background-size:25% 100%;mask-image:linear-gradient(#000,transparent 75%)}
.forward-v2 .hero-topline{padding:34px 44px;font-size:10px;z-index:4}.hero-topline span:first-child{font-weight:700;letter-spacing:.2em}
.forward-v2 .hero-copy{padding:75px 40px 0;z-index:4;transform:translateY(calc(var(--hero-scroll,0) * -36px));will-change:transform}
.hero-kicker{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.16em;font-weight:700;margin-bottom:25px;animation:fade-up .6s .65s both}
.rolling-word{height:17px;overflow:hidden;color:var(--orange)}.rolling-word b{display:block;height:17px;line-height:17px;animation:rolling-word 5s 2s cubic-bezier(.7,0,.3,1) infinite}
.forward-v2 h1{font-size:clamp(65px,7.3vw,118px);line-height:1.27;letter-spacing:-.075em;position:relative;z-index:1;font-weight:900}
.kinetic-line{display:block;overflow:hidden;padding:0 .09em .09em 0;margin-right:-.09em;white-space:nowrap}.kinetic-char{display:inline-block;animation:char-launch .85s var(--ease) both;animation-delay:calc(.3s + var(--char-index) * .042s);transform-origin:bottom left}
.forward-v2 .hero-description{font-size:18px;line-height:1.95;margin:27px 0 30px;animation:fade-up .8s .9s both;font-weight:600}
.forward-v2 .hero-actions{animation:fade-up .8s 1.1s both;gap:13px;display:flex}
.forward-v2 .button{position:relative;overflow:hidden;font-size:13px;padding:21px 23px;min-height:65px;transition:transform .3s var(--ease),background .3s,color .3s}
.forward-v2 .button.primary{box-shadow:0 7px 0 #181818;transform:translateY(-4px)}.forward-v2 .button.primary:hover{transform:translateY(0);box-shadow:0 3px 0 #181818;background:var(--ink)}
.forward-v2 .button.primary span{animation:cta-go 2.1s 2s infinite}.forward-v2 .button.secondary{background:#fffffff2;border-color:#bbb}
.hero-side-label{position:absolute;right:25px;top:26%;z-index:5;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:#555}
.speed-field{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.speed-field i{position:absolute;left:-90%;top:89%;width:190%;height:20px;background:var(--orange);transform:rotate(-25deg) translateX(-110%);transform-origin:center;animation:speed-cross 4.4s 1.15s cubic-bezier(.5,0,.2,1) infinite;opacity:.95}
.speed-field i:nth-child(2){height:2px;top:81%;animation-delay:1.28s;opacity:.55}.speed-field i:nth-child(3){height:6px;top:94%;animation-delay:1.4s;opacity:.35}
.hero-ticker{position:absolute;left:-4%;width:108%;bottom:25px;z-index:5;transform:rotate(-4deg);background:var(--orange);padding:16px 0;color:#161616;overflow:hidden;border-block:1px solid #151515}
.hero-ticker>div{width:max-content;display:flex;animation:ticker-forward 15s linear infinite}.hero-ticker span{font-size:26px;font-weight:800;letter-spacing:-.03em;padding-right:22px;white-space:nowrap}.hero-ticker b{margin:0 23px;font-size:32px}
.forward-v2 .scroll-cue{bottom:127px;left:43px;z-index:6;display:flex;flex-direction:row;gap:12px;align-items:center;font-size:9px;font-weight:600;letter-spacing:.13em}.forward-v2 .scroll-cue span{width:38px;height:38px;border:1px solid #bbb;border-radius:50%;display:grid;place-items:center;font-size:18px;background:transparent;animation:scroll-bounce 1.7s infinite}.forward-v2 .scroll-cue span:after{display:none}
.entry-sweep{position:absolute;inset:-10% -50%;background:var(--orange);z-index:10;pointer-events:none;transform:skewX(-20deg);animation:entry-sweep .95s var(--ease) both}
.journey{height:260svh;position:relative;background:#181818;color:#fff;scroll-margin-top:0}
.journey-pin{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;isolation:isolate;padding:48px;display:flex;flex-direction:column;background:linear-gradient(115deg,#181818,#202020)}
.journey-top,.journey-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.15em;font-weight:500;position:relative;z-index:4}.journey-top{color:#aaa}.journey-top span:first-child{color:var(--orange)}
.journey-scenes{flex:1;position:relative;z-index:3;display:flex;align-items:center}.journey-scene{position:absolute;left:0;right:0;transform:translateX(120px);opacity:0;pointer-events:none;will-change:transform,opacity;visibility:hidden}.journey-scene:first-child{transform:none;opacity:1;pointer-events:auto;visibility:visible}.journey-scene.active{visibility:visible;pointer-events:auto}.journey-eyebrow{font-size:11px;color:var(--orange);letter-spacing:.15em;display:block;margin-bottom:30px}.journey-scene h2{font-size:clamp(46px,5.5vw,88px);font-weight:900;line-height:1.4;letter-spacing:-.05em;margin:0 0 30px}.journey-scene p{font-size:16px;line-height:2;color:#c5c5c5;margin:0}.journey-scene .text-link{color:white;margin-top:28px}
.journey-arrow{position:absolute;right:0;top:12%;z-index:1;font-size:clamp(200px,32vw,530px);line-height:1;font-weight:900;color:var(--orange);opacity:.22;transform:translate(calc(var(--journey-progress,0) * 90px),calc(var(--journey-progress,0) * -160px)) rotate(calc(-10deg + var(--journey-progress,0) * 10deg));will-change:transform}
.journey-track{position:absolute;inset:0;z-index:0;overflow:hidden}.journey-track i{position:absolute;width:160%;height:1px;left:-20%;top:75%;background:#ffffff16;transform:rotate(-30deg)}.journey-track i:nth-child(2){top:45%}.journey-track i:nth-child(3){top:15%}.journey-track i:last-child{height:3px;top:110%;background:var(--orange);transform:rotate(-30deg) translateY(calc(var(--journey-progress,0) * -500px));opacity:.6}
.journey-bottom{margin-top:auto;color:#aaa}.journey-bottom>b{color:white}.step-markers{display:flex;align-items:center;gap:15px}.step-markers span{font-size:13px;color:#777}.step-markers span.current{color:var(--orange);font-weight:700}.step-markers i{width:65px;height:2px;background:#444;position:relative}.step-markers i:after{content:'';display:block;position:absolute;inset:0;background:var(--orange);transform:scaleX(var(--journey-progress,0));transform-origin:left}
.forward-v2 .section{padding-block:110px}.forward-v2 .services{background:#f5f5f4;overflow:hidden}.forward-v2 .section-heading h2{font-size:clamp(65px,8.5vw,128px)}.forward-v2 .service-card{transition-duration:1.1s}.forward-v2.js-motion .service-card:nth-child(1){transform:translate(-90px,40px) rotate(-4deg)}.forward-v2 .service-card:nth-child(2){transition-delay:.1s}.forward-v2 .service-photo,.forward-v2 .business-visual{height:275px}.forward-v2 .service-photo img{transition:transform 1.3s var(--ease)}.forward-v2 .service-card:hover .service-photo img{transform:scale(1.1)}
.forward-v2 .business-visual{background:var(--orange);color:#181818}.forward-v2 .business-visual>span:nth-of-type(2){color:#fff}.business-rule{animation:business-scan 4s ease-in-out infinite}
.forward-v2 .statement{background:#fff;padding-block:100px}.forward-v2 .statement-inner{border:0;padding:40px 0}.forward-v2 .statement p{font-size:clamp(46px,5.6vw,84px);color:#ddd;position:relative;background:linear-gradient(90deg,#181818 calc(var(--statement-fill,0) * 100%),#d8d8d8 0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.forward-v2 .statement p span{color:inherit}.forward-v2 .statement-line{width:35px;background:var(--orange);opacity:.85;right:5%;transform:rotate(28deg) translateY(calc(var(--statement-fill,0) * -80px));z-index:-1}
.forward-v2 .recruit{background:#ff7614;padding-block:105px}.forward-v2 .recruit-type{font-size:clamp(140px,19vw,300px);animation:recruit-forward 7s ease-in-out infinite alternate;color:#ffffff35}.forward-v2 .recruit h2{font-size:clamp(44px,5.2vw,78px)}
.motion-off .entry-sweep{display:none}.motion-off .speed-field{display:none}.motion-off .journey{height:auto}.motion-off .journey-pin{position:relative;height:auto;min-height:0;padding-block:65px}.motion-off .journey-scenes{display:block}.motion-off .journey-scene{position:relative;visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto;padding:50px 0}.motion-off .journey-bottom{display:none}.motion-off .journey-arrow{opacity:.08}.motion-off .statement p{-webkit-text-fill-color:var(--ink)}.motion-off .hero-copy,.motion-off .hero-media img,.motion-off .hero-media video{transform:none}
@keyframes char-launch{0%{transform:translate(40px,120%) rotate(15deg);opacity:0}70%{opacity:1}100%{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes scene-open{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transform:scale(1.15)}to{clip-path:polygon(43% 15%,100% 0,100% 100%,20% 100%);transform:scale(1)}}
@keyframes entry-sweep{0%{transform:translateX(-80%) skewX(-20deg)}35%{transform:translateX(-5%) skewX(-20deg)}100%{transform:translateX(110%) skewX(-20deg)}}
@keyframes speed-cross{0%,8%{transform:rotate(-25deg) translateX(-115%)}42%,100%{transform:rotate(-25deg) translateX(135%)}}
@keyframes ticker-forward{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes rolling-word{0%,38%{transform:translateY(0)}46%,82%{transform:translateY(-17px)}90%,100%{transform:translateY(-34px)}}
@keyframes scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes cta-go{0%,60%,100%{transform:translate(0,0)}70%{transform:translate(7px,-7px)}71%{transform:translate(-7px,7px);opacity:0}85%{transform:translate(0,0);opacity:1}}
@keyframes business-scan{0%,100%{transform:translateX(-130px) rotate(25deg)}50%{transform:translateX(140px) rotate(25deg)}}
@keyframes recruit-forward{from{transform:translate(-20px,35px) rotate(-7deg)}to{transform:translate(35px,-35px) rotate(-3deg)}}
@media(max-width:1150px){.forward-v2 .hero{min-height:780px}.forward-v2 .hero-copy{padding:65px 32px 0}.forward-v2 h1{font-size:7.4vw}.forward-v2 .button{padding:18px 15px;font-size:12px}.journey-pin{padding:40px 34px}.journey-scene h2{font-size:6vw}.forward-v2 .hero-description{font-size:16px}.hero-ticker span{font-size:22px}.hero-ticker b{font-size:28px}.forward-v2 .service-photo,.forward-v2 .business-visual{height:240px}}
@media(max-width:760px){.forward-v2 .hero{height:calc(100svh - 78px);min-height:740px;max-height:920px}.forward-v2 .hero-topline{padding:26px 23px;font-size:8px}.forward-v2 .hero-copy{padding:34px 22px 0}.hero-kicker{font-size:9px;margin-bottom:22px}.forward-v2 h1{font-size:clamp(38px,10.7vw,77px);line-height:1.35}.forward-v2 .hero-description{font-size:15px;margin:23px 0 25px}.forward-v2 .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;max-width:255px}.forward-v2 .hero-actions .button{min-height:54px;white-space:nowrap;font-size:12px;padding:15px 16px;width:100%;gap:8px}.hero-media{inset:20% -24% 0 -16%;clip-path:polygon(40% 25%,100% 0,100% 100%,0 100%)}.hero-media img,.hero-media video{object-position:64% center}.hero-media:after{background:linear-gradient(180deg,#fafafa 0,#fafafae6 23%,#fafafa50 53%,#fafafa00 70%)}.hero-grid{background-size:50% 100%}.hero-side-label{right:15px;top:22%;font-size:8px}.speed-field i{top:80%;height:14px;width:220%;left:-110%;animation-duration:3.8s}.speed-field i:nth-child(2){top:75%;height:2px}.speed-field i:nth-child(3){top:88%;height:5px}.hero-ticker{padding:10px 0;bottom:13px;transform:rotate(-6deg)}.hero-ticker span{font-size:18px}.hero-ticker b{font-size:23px;margin-inline:15px}.forward-v2 .scroll-cue{bottom:86px;left:22px;font-size:8px;background:#fafafad9;padding:8px 10px}.forward-v2 .scroll-cue span{width:28px;height:28px;font-size:15px}.journey{height:245svh;scroll-margin-top:78px}.journey-pin{top:78px;height:calc(100svh - 78px);min-height:580px;padding:30px 24px}.journey-top{font-size:9px}.journey-top span:last-child{display:none}.journey-scene h2{font-size:clamp(31px,9vw,52px);line-height:1.5;margin-bottom:23px}.journey-scene p{font-size:14px;line-height:2;max-width:310px}.journey-eyebrow{font-size:9px;margin-bottom:24px}.journey-arrow{font-size:280px;right:-70px;top:18%;opacity:.22}.journey-bottom{font-size:8px;letter-spacing:.1em}.step-markers{gap:9px}.step-markers i{width:28px}.step-markers span{font-size:11px}.forward-v2 .section{padding-block:72px}.forward-v2 .section-heading h2{font-size:66px}.forward-v2 .service-photo,.forward-v2 .business-visual{height:230px}.forward-v2 .statement{padding-block:65px}.forward-v2 .statement p{font-size:33px}.forward-v2 .recruit{padding-block:76px}.forward-v2 .recruit h2{font-size:38px}.forward-v2 .recruit-type{font-size:150px}.forward-v2 .contact h2{font-size:28px}.motion-off .journey-pin{top:0}.entry-sweep{animation-duration:.85s}}
@media(max-width:360px){.forward-v2 .hero{min-height:780px}.forward-v2 .hero-copy{padding-inline:20px}.forward-v2 h1{font-size:36px}.hero-kicker{font-size:8px}.forward-v2 .hero-description{font-size:14px}.journey-scene h2{font-size:30px}.journey-bottom>span{font-size:7px}.forward-v2 .section-heading h2{font-size:54px}}
@media(prefers-reduced-motion:reduce){.entry-sweep,.speed-field{display:none}.journey{height:auto}.journey-pin{position:relative;top:0;height:auto;min-height:0}.journey-scenes{display:block}.journey-scene{position:relative;visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto;padding:45px 0}.journey-bottom{display:none}.journey-arrow{opacity:.08}.forward-v2 .statement p{-webkit-text-fill-color:var(--ink)}}
.journey-scene{transition:transform .85s var(--ease),opacity .5s ease,visibility .5s;transform:translateX(100px);opacity:0;visibility:hidden}.journey-scene:first-child:not(.active){opacity:0;transform:translateX(100px);visibility:hidden}.journey-scene.active{opacity:1;transform:translateX(0);visibility:visible}.journey-scene.passed{transform:translateX(-120px)}.hero-away .speed-field i,.hero-away .hero-ticker>div,.hero-away .rolling-word b{animation-play-state:paused}html.js-motion .service-card{transform:translateY(90px) rotate(2deg)}html.js-motion .service-card:nth-child(2){transform:translateY(130px) rotate(-2deg)}html.js-motion .service-card.visible{transform:none}.motion-off .hero-ticker>div{transform:translateX(0)}
.journey-pin{background:#181818}.journey-pin:before{content:'';position:absolute;inset:0;background:var(--orange);opacity:0;transition:opacity .7s ease;z-index:-1}.journey-pin[data-phase="2"]:before{opacity:1}.journey-pin[data-phase="2"] .journey-eyebrow,.journey-pin[data-phase="2"] .journey-top,.journey-pin[data-phase="2"] .journey-top span:first-child,.journey-pin[data-phase="2"] .journey-bottom,.journey-pin[data-phase="2"] .step-markers span{color:#181818}.journey-pin[data-phase="2"] .journey-scene p{color:#fff}.journey-pin[data-phase="2"] .journey-arrow{color:white;opacity:.3}.journey-pin[data-phase="2"] .text-link span{background:#181818}.journey-pin[data-phase="2"] .step-markers i{background:#18181855}.journey-pin[data-phase="2"] .step-markers i:after{background:white}.journey-pin[data-phase="2"] .step-markers span.current{color:white}
.forward-v2 .hero{background:#fff}.hero-media:after{background:linear-gradient(90deg,#fff 0,#ffffff00 35%)}@media(max-width:760px){.hero-media:after{background:linear-gradient(180deg,#fff 0,#fffffff2 23%,#ffffff40 55%,#ffffff00 74%)}}

/* Additional business areas: retain the existing service-card motion. */
.business-visual.sales-visual{background:var(--orange);color:#171717}
.business-visual.sales-visual>span:nth-of-type(2),.business-visual.sales-visual>i{color:#fff}
.business-visual.sales-visual .business-rule{border-color:#ffffff55}
.business-visual.advertising-visual{background:#e7e7e3;color:#171717}
.business-visual.advertising-visual>i{color:#777}
.business-visual.advertising-visual>span:nth-of-type(2){color:#b84b00}
.business-visual.advertising-visual .business-rule{border-color:#17171720}
