/* Layout and scroll behavior adapted from the supplied SweetTape motion rebuild.
   Original campaign logo is rendered unchanged; transparent margins clipped via CSS. */
.work-page{--motion-paper:#f6f1e7;--motion-blue:#3858a3;--motion-gold:#ffe25a}.motion-progress{position:fixed;top:0;left:0;z-index:1000;height:3px;background:var(--motion-blue);width:0;pointer-events:none}.work-nav{background:var(--motion-paper);border-bottom:0}.preview{font-size:10px}.motion-hero{background:var(--motion-paper);position:relative;isolation:isolate;min-height:850px;height:calc(100svh - 115px);max-height:1100px;overflow:hidden;padding:30px 5%}.motion-meta,.motion-hero-bottom,.rail-top{display:flex;justify-content:space-between;gap:20px;font:700 16px var(--font-heading);letter-spacing:.07em}.motion-stamp{position:absolute;left:5%;top:95px;font:700 15px/1.3 var(--font-heading);letter-spacing:.08em}.motion-stamp span{display:block;font-size:30px;margin-top:10px}.hero-lettering{position:absolute;left:10%;right:5%;top:15%;font:800 clamp(140px,22vw,370px)/.75 var(--font-heading);letter-spacing:-.045em;color:#19396b1c;user-select:none;pointer-events:none}.hero-lettering span{display:block;will-change:translate}.hero-lettering span:last-child{margin-left:23%;margin-top:2vw}.logo-stage{position:absolute;left:50%;top:14%;width:clamp(400px,56vw,850px);aspect-ratio:1071/798;overflow:hidden;transform:translateX(-35%) rotate(-8deg);will-change:translate;animation:campaign-float 5s ease-in-out infinite alternate}.logo-stage img{max-width:none;width:186.741%;height:auto;position:absolute;left:-42.577%;top:-81.078%}.motion-hero-copy{position:absolute;left:5%;bottom:100px;max-width:540px;z-index:2}.motion-hero-copy h2{font:700 clamp(23px,2.8vw,39px)/1.45 var(--font-body);letter-spacing:0}.motion-hero-copy p{font-size:15px;line-height:1.9;margin:20px 0}.motion-hero-copy .work-button{background:var(--motion-blue);border-color:var(--motion-blue)}.motion-hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;padding-top:18px;border-top:1px solid var(--rule);font-size:13px}.hero-pull-link{position:absolute;right:0;top:48%;writing-mode:vertical-rl;display:flex;align-items:center;gap:18px;padding:22px 13px;background:var(--motion-gold);font:700 15px var(--font-heading);border-radius:5px 0 0 5px}.hero-pull-link b{font-size:26px}.route-rail{background:#c8def2;position:relative}.route-sticky{position:sticky;top:0;overflow:hidden;height:100svh;min-height:680px;display:flex;flex-direction:column}.rail-top{padding:27px 4%;font-size:15px}.route-track{display:flex;flex:1;min-height:0;will-change:transform}.route-panel{flex:0 0 100%;min-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:65px 6% 45px;position:relative}.route-number{position:absolute;top:24px;left:6%;font:700 18px var(--font-heading)}.route-photo{position:relative;width:90%;transform:rotate(-6deg);padding:12px;background:var(--motion-paper)}.route-photo>img{width:100%;aspect-ratio:1.2;object-fit:cover}.route-photo>span{position:absolute;right:-8%;top:-12%;font:800 clamp(90px,12vw,180px)/1 var(--font-heading);color:var(--motion-blue)}.route-panel h2{font:800 clamp(65px,8vw,125px)/.85 var(--font-heading);letter-spacing:-.03em}.route-panel h2 em{color:var(--motion-blue)}.route-info p{font-size:16px;line-height:1.9;margin:28px 0;max-width:480px}.route-info button{border:1px solid var(--navy);padding:15px 20px;font-size:14px;min-height:48px;border-radius:4px}.route-info button:hover{background:var(--navy);color:white}.route-gold{background:#f4d969}.route-paper{background:var(--motion-paper)}.route-blue{background:#c8def2}.rail-progress{height:4px;background:#07265e22}.rail-progress span{display:block;width:0;height:100%;background:var(--motion-blue)}.motion-reveal{transition:opacity .65s,transform .65s}.motion-ready .motion-reveal{opacity:0;transform:translateY(24px)}.motion-ready .motion-reveal.is-visible{opacity:1;transform:none}.next-section{background:#f0db9c;max-width:none;padding-inline:max(5%,calc((100vw - 1260px)/2));border-top:0}.work-footer{background:var(--motion-paper)}@keyframes campaign-float{to{transform:translateX(-35%) translateY(-20px) rotate(-3deg)}}
@media(min-width:1500px){.motion-hero-copy{left:8%}.motion-meta{padding-inline:3%}}
@media(max-width:900px){.motion-hero{height:900px;min-height:900px}.logo-stage{top:15%;left:50%;width:min(76vw,650px);transform:translateX(-50%) rotate(-6deg);animation-name:campaign-float-mobile}.hero-lettering{left:5%;top:17%;font-size:29vw}.hero-lettering span:last-child{margin-left:17%}.motion-stamp{top:80px;font-size:12px}.motion-hero-copy{bottom:95px;max-width:90%}.motion-hero-copy h2{font-size:28px}.route-rail{height:auto!important}.route-sticky{position:relative;height:auto;min-height:0}.route-track{display:block;transform:none!important}.route-panel{min-height:650px;grid-template-columns:1fr 1fr;padding:65px 6%}.rail-progress{display:none}.route-panel h2{font-size:70px}.route-info p{font-size:14px}.route-photo{width:100%}}
@media(max-width:600px){.motion-hero{height:auto;min-height:820px;padding:24px 20px}.motion-meta{font-size:12px}.motion-meta span:last-child{display:none}.motion-stamp{top:65px;left:20px;font-size:10px}.hero-lettering{top:21%;font-size:36vw;left:3%}.logo-stage{width:90vw;top:20%}.motion-hero-copy{left:24px;right:24px;bottom:95px}.motion-hero-copy h2{font-size:24px}.motion-hero-copy p{font-size:13px;margin:16px 0}.hero-pull-link{top:20%;font-size:11px;padding:18px 8px}.motion-hero-bottom{left:24px;right:24px;font-size:11px;line-height:1.5;gap:20px}.motion-hero-bottom span:last-child{text-align:right}.route-panel{grid-template-columns:1fr;gap:36px;padding:75px 24px 45px;min-height:0}.route-photo{width:80%;max-width:420px;justify-self:center}.route-panel h2{font-size:clamp(64px,16vw,96px)}.route-info p{margin:20px 0}.rail-top{font-size:12px;padding:24px}.route-number{left:24px;font-size:16px}.route-photo>span{font-size:100px}.motion-reveal{transition-duration:.3s}}
@keyframes campaign-float-mobile{to{transform:translateX(-50%) translateY(-14px) rotate(0)}}
@media(prefers-reduced-motion:reduce){.logo-stage{animation:none}.hero-lettering span{translate:none!important}.motion-reveal,.motion-ready .motion-reveal{opacity:1;transform:none;transition:none}.route-rail{height:auto!important}.route-sticky{position:relative;height:auto;min-height:0}.route-track{display:block;transform:none!important}.route-panel{min-height:650px}.rail-progress{display:none}}
@media(max-width:600px){.hero-pull-link{top:75px;right:20px;writing-mode:horizontal-tb;padding:11px 13px;border-radius:3px;gap:10px}.hero-pull-link b{font-size:18px}.motion-hero-copy h2{font-size:22px}}

/* Three original SVG layers drift independently at different depths. */
.logo-stage{animation:none!important;will-change:auto}
.animated-logo{max-width:none;width:186.741%;height:auto;position:absolute;left:-42.577%;top:-81.078%;overflow:visible}
.logo-layer{transform-box:view-box;transform-origin:50% 50%;will-change:transform}
.layer-lettering{animation:float-lettering 7.5s ease-in-out infinite alternate}
.layer-lines{animation:float-lines 10s ease-in-out -3s infinite alternate}
.layer-location{animation:float-location 8.5s ease-in-out -2s infinite alternate}
@keyframes float-lettering{from{transform:translate(-3px,5px) rotate(-.35deg)}to{transform:translate(5px,-12px) rotate(.4deg)}}
@keyframes float-lines{from{transform:translate(8px,-8px) rotate(.7deg)}to{transform:translate(-9px,12px) rotate(-.65deg)}}
@keyframes float-location{from{transform:translate(-3px,2px)}to{transform:translate(4px,-6px)}}
@media(prefers-reduced-motion:reduce){.logo-layer{animation:none;transform:none;will-change:auto}}

/* The separated line artwork extends above the old PNG crop and needs room to drift. */
.logo-stage{overflow:visible;pointer-events:none}
