/* Motion remains progressive enhancement: all copy is readable without it. */
:root{--reading-progress:0}.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--red);transform:scaleX(var(--reading-progress));transform-origin:left;z-index:50;pointer-events:none}
#motion-toggle{background:none;border:0;border-left:1px solid #ffffff36;padding:0 0 0 14px;color:#e9edef;font-size:10px;letter-spacing:.2px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}#motion-toggle span{color:#ff7b85;font-size:13px}#motion-toggle:disabled{opacity:.75;cursor:default}.utility div{gap:18px;align-items:center}header{transition:box-shadow .4s}header.is-scrolled{box-shadow:0 6px 24px #11171b12}
.heading-line{display:block;overflow:hidden;padding:.11em 0;margin:-.11em 0}.heading-line>span{display:block}.hero h1 .heading-line:last-child{overflow:visible}.hero-photo{animation:none;will-change:auto}.hero-copy{max-width:900px}.hero-copy>p:not(.eyebrow){max-width:510px}
body[data-motion=on] .hero-photo{animation:industrial-pan 24s ease-in-out infinite alternate;will-change:transform}body[data-motion=on] .hero .heading-line>span,body[data-motion=on] .pagehero .heading-line>span{animation:heading-enter 1.1s cubic-bezier(.16,1,.3,1) both}body[data-motion=on] .heading-line:nth-child(2)>span{animation-delay:.13s}body[data-motion=on] .heading-line:nth-child(3)>span{animation-delay:.26s}body[data-motion=on] .hero-copy>.eyebrow{animation:content-enter .9s .1s both}body[data-motion=on] .hero-copy>p:not(.eyebrow){animation:content-enter .9s .35s both}body[data-motion=on] .hero-actions{animation:content-enter .9s .48s both}body[data-motion=on] .pagehero-image img{animation:media-enter 1.4s cubic-bezier(.16,1,.3,1) both}
.motion-ready[data-motion=on] .motion-reveal{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready[data-motion=on] .motion-reveal.is-visible{opacity:1;transform:none}.motion-ready[data-motion=on] .feature-image.motion-reveal{transform:none;clip-path:inset(0 7% 0 0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1),opacity .9s}.motion-ready[data-motion=on] .feature-image.motion-reveal.is-visible{clip-path:inset(0)}
.button,.outline-button{position:relative;overflow:hidden}.button>span,.outline-button>span{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.button:hover>span,.outline-button:hover>span{transform:translate(3px,-3px)}.button:before{content:'';position:absolute;inset:0;transform:translateX(-110%) skewX(-14deg);background:linear-gradient(90deg,transparent,#fff2,transparent);pointer-events:none;transition:transform .7s}.button:hover:before{transform:translateX(110%) skewX(-14deg)}.read-more{position:relative}.read-more:after{content:'';position:absolute;height:1px;background:var(--red);top:-1px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .6s}.service-card:hover .read-more:after{transform:scaleX(1)}.service-card:hover h3>span{transform:translate(3px,-3px)}.card-copy h3>span{transition:transform .35s}.compact-card{border:0;border-top:1px solid #c7cdd1;background:transparent}.compact-card .card-copy{padding:30px 0}.compact-card:hover{box-shadow:none;background:transparent}.compact-card .card-copy h3{font-size:34px}.compact-card .read-more{display:none}.compact-card .card-copy>p:last-of-type{margin-bottom:0}.related-grid{gap:50px}
.process-explorer{background:#1b2025;color:white;overflow:hidden}.process-explorer .eyebrow{color:#ff7985}.process-explorer h2{margin:0}.process-explorer .section-head{align-items:end}.explorer-intro{max-width:300px}.explorer-intro>p{color:#bfc7cd;font-size:13px;margin-bottom:15px}.journey-play{display:inline-flex;align-items:center;gap:22px;font:600 11px 'DM Sans',Arial,sans-serif;color:white;background:transparent;border:0;border-bottom:1px solid #ec5260;padding:8px 0}.journey-play span{font-size:15px}.journey-play:disabled{color:#9aa5ac;border-color:#53616a;cursor:default}.journey-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #ffffff27;border-bottom:1px solid #ffffff27;margin-top:48px}.journey-tabs button{position:relative;text-align:left;border:0;background:transparent;color:#a9b4bc;padding:24px 13px 25px;font-family:var(--display);font-size:25px;line-height:1.1;transition:color .3s,background .3s}.journey-tabs button>span{font-family:'DM Sans',Arial,sans-serif;display:block;font-size:9px;letter-spacing:1px;color:#74838e;margin-bottom:13px}.journey-tabs button[aria-selected=true]{color:#fff;background:#ffffff06}.journey-tabs button[aria-selected=true]>span{color:#ff7b85}.journey-tabs button:hover{color:white;background:#ffffff06}.journey-tabs button>i{position:absolute;bottom:-1px;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;background:#ef3849}.journey-tabs button[aria-selected=true]>i{transform:scaleX(1)}.journey-stage{min-height:370px}.journey-panel{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:5%;padding:40px 0 20px}.journey-art{position:relative;min-width:0}.journey-art svg{width:100%;height:auto;display:block;overflow:visible}.drawing{stroke:#a0afb9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drawing .signal{stroke:#f04959;stroke-width:2.5}.drawing .flow-line{stroke:#f04959;stroke-width:2;stroke-dasharray:8 12}.diagram-labels text{font:10px 'DM Sans',Arial,sans-serif;fill:#8b9ca8;letter-spacing:1.8px}.schematic-note{display:block;color:#74828c;font-size:7px;letter-spacing:1px;margin:4px 0 0 13px}.journey-index{color:#ff7b85;font-size:9px;letter-spacing:1.8px;display:block;margin-bottom:20px}.journey-copy h3{font-size:42px;margin-bottom:22px}.journey-copy p{font-size:13px;line-height:1.85;color:#c0c9cf;max-width:370px}.journey-copy .textlink{color:#fff;font-size:11px;border-color:#ea4454}.journey-overview{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:24px;margin-top:30px;font-size:11px;color:#bac6ce}.journey-overview>span{font-size:20px;color:white}.process-explorer[data-motion=on] .journey-panel:not([hidden]) .journey-copy{animation:content-enter .6s both}.process-explorer[data-motion=on] .journey-panel:not([hidden]) .drawing>path:not(.flow-line){stroke-dasharray:none;stroke-dashoffset:0}.process-explorer[data-motion=on] .flow-line{animation:flow-travel 2s linear infinite}.process-explorer[data-motion=on] .press-ram{animation:press-travel 4s ease-in-out infinite}.process-explorer[data-motion=on] .extrusion-lines{stroke-dasharray:90 9;animation:profile-travel 4s linear infinite}.process-explorer[data-motion=on] .finishing-rack{animation:rack-travel 5s ease-in-out infinite alternate}.process-explorer[data-motion=on] .caliper-jaw{animation:caliper-travel 4.5s ease-in-out infinite}.process-explorer[data-motion=on] .measure-line{animation:measure-focus 3s ease-in-out infinite}.process-explorer[data-motion=on] .support-team{animation:content-enter 1.2s both}.process-explorer[data-playing=false] svg *{animation-play-state:paused!important}.process-explorer[data-playing=true] .journey-tabs button[aria-selected=true]>i{animation:stage-progress 6.5s linear both}.process-explorer[data-playing=false] .journey-tabs button[aria-selected=true]>i{animation:none;transform:scaleX(1)}
.back-top{position:fixed;right:25px;bottom:25px;width:44px;height:44px;z-index:25;background:white;color:var(--ink);border:1px solid #ced3d8;box-shadow:0 5px 20px #11171b1a;font-size:24px;transition:background .25s,color .25s,transform .25s}.back-top:hover{background:var(--red);color:white;border-color:var(--red);transform:translateY(-3px)}body[data-motion=on] .back-top{animation:content-enter .4s both}
@keyframes industrial-pan{from{transform:scale(1.015) translateX(0)}to{transform:scale(1.075) translateX(-.8%)}}@keyframes heading-enter{from{transform:translateY(110%);opacity:.2}to{transform:none;opacity:1}}@keyframes content-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes media-enter{from{transform:scale(1.08);filter:brightness(.75)}to{transform:scale(1);filter:brightness(1)}}@keyframes technical-draw{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}@keyframes flow-travel{to{stroke-dashoffset:-40}}@keyframes press-travel{0%,100%{transform:translateX(0)}55%{transform:translateX(18px)}}@keyframes profile-travel{to{stroke-dashoffset:-99}}@keyframes rack-travel{from{transform:translateX(-7px)}to{transform:translateX(7px)}}@keyframes caliper-travel{0%,100%{transform:translateX(18px)}40%,70%{transform:translateX(0)}}@keyframes measure-focus{0%,100%{opacity:.4}50%{opacity:1}}@keyframes stage-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:page-fade-out .18s ease both}::view-transition-new(root){animation:page-fade-in .32s ease both}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
body[data-motion=off] *,body[data-motion=off] *:before,body[data-motion=off] *:after{animation:none!important;transition:none!important}body[data-motion=off] .motion-reveal{opacity:1!important;transform:none!important;clip-path:none!important}body[data-motion=off] .hero-photo{transform:none;will-change:auto}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off]::view-transition-old(root),html[data-motion=off]::view-transition-new(root){animation:none!important}
@media(max-width:1100px){.journey-copy h3{font-size:36px}.journey-panel{gap:4%}.journey-tabs button{font-size:23px}.journey-copy p{font-size:12px}.journey-stage{min-height:350px}}
@media(max-width:800px){.utility div{gap:12px}.utility div a[data-email]{display:none}#motion-toggle{padding-left:12px;font-size:9px}.journey-panel{grid-template-columns:1fr 1fr;gap:5%}.journey-tabs button{font-size:21px;padding:20px 9px}.journey-tabs button>span{font-size:8px}.journey-copy h3{font-size:33px}.journey-stage{min-height:320px}.journey-copy .textlink{font-size:10px;gap:13px}.explorer-intro{margin-top:22px}.process-explorer .section-head{display:block}.journey-tabs{margin-top:30px}}
@media(max-width:560px){.utility div{gap:8px}.utility div a[data-phone]{display:inline}#motion-toggle{font-size:8px;border-left:0;padding:0;gap:5px}#motion-toggle span{font-size:11px}.hero-copy>p:not(.eyebrow){max-width:330px}.hero-copy{padding-top:52px}.heading-line{padding:.09em 0;margin:-.09em 0}.journey-tabs{grid-template-columns:repeat(3,1fr);margin-top:32px}.journey-tabs button{font-size:23px;padding:15px 10px 18px}.journey-tabs button>span{margin-bottom:8px;font-size:8px}.journey-tabs button:nth-child(-n+3){border-bottom:1px solid #ffffff18}.journey-panel{grid-template-columns:1fr;gap:30px;padding-top:25px}.journey-art{margin:0 -5%}.journey-copy h3{font-size:37px;max-width:320px}.journey-copy p{font-size:13px;max-width:none}.journey-copy .textlink{font-size:11px}.journey-index{margin-bottom:16px}.schematic-note{font-size:6px;margin-left:18px}.journey-stage{min-height:550px}.journey-overview{margin-top:15px;font-size:10px}.journey-play{font-size:10px}.explorer-intro>p{font-size:12px}.back-top{right:14px;bottom:14px;width:39px;height:39px;font-size:22px}.compact-card .card-copy h3{font-size:31px}.related-grid{gap:12px}.motion-ready[data-motion=on] .motion-reveal{transform:translateY(20px);transition-duration:.7s;transition-delay:0ms}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.hero-photo{transform:none!important}.reading-progress{transition:none}.journey-panel .drawing>path{stroke-dashoffset:0!important}.journey-tabs button[aria-selected=true]>i{transform:scaleX(1)!important}}
