.patch-replica .workshop-foundations{align-items:start}
.patch-replica .workshop-art-stack{height:auto;aspect-ratio:1;position:relative;margin:24px 0}
.workshop-scene{margin:0;position:relative}
.workshop-scene img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4px}
.workshop-side-art{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .22s}
.workshop-side-art.is-current{visibility:visible;opacity:1}
.workshop-accent{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--patch-orange)}
.workshop-accent-path{fill:none;stroke:currentColor;stroke-width:.8;stroke-linecap:round;stroke-dasharray:120;animation:workshop-draw 2.7s ease-in-out infinite}
.workshop-side-art:not(.is-current) .workshop-accent-path{animation-play-state:paused}
.workshop-foundation{position:relative}
.patch-replica .workshop-service-trigger{appearance:none;background:none;border:0;border-bottom:1px solid var(--patch-blue);border-radius:0;color:inherit;text-align:left;width:100%;display:flex;gap:30px;align-items:flex-start;padding:32px 0}
.patch-replica .workshop-service-trigger h3{font-size:6.2831vw;line-height:.7895;letter-spacing:normal}
.workshop-foundation:not(.is-current) .workshop-service-trigger{opacity:.35}
.workshop-foundation.is-current .workshop-service-trigger{opacity:1}
.workshop-inline-art{display:none}
.workshop-more{display:inline-block;font:800 22px var(--patch-display);text-transform:uppercase;padding:12px 0}
.patch-replica .workshop-logos{overflow:hidden;padding:40px 0 65px;margin-top:35px}
.workshop-logo-heading{display:flex;align-items:center;justify-content:space-between;padding:0 40px 20px;gap:20px}
.workshop-logo-heading p{font:800 17px var(--patch-display);text-transform:uppercase;margin:0}
.workshop-logo-heading button{font:800 16px var(--patch-display);border:1px solid var(--patch-blue);background:white;color:var(--patch-blue);border-radius:4px;min-height:44px;padding:8px 14px}
.workshop-logo-row{overflow:hidden;margin-top:14px}
.workshop-logo-track{display:flex;width:max-content;gap:14px;animation:workshop-marquee var(--logo-duration,60s) linear infinite}
.workshop-logo-track[data-logo-row='1']{animation-direction:reverse;transform:translateX(-80px)}
.workshop-logo-group{display:flex;gap:14px}
.workshop-logo-tile{flex:none;width:210px;height:140px;border:1px solid var(--patch-blue);border-radius:5px;background:white;display:grid;place-items:center;padding:23px}
.workshop-logo-tile img{max-width:100%;max-height:100%;object-fit:contain}
.workshop-logo-row:hover .workshop-logo-track,.workshop-logo-row:focus-within .workshop-logo-track,.motion-paused .workshop-logo-track{animation-play-state:paused}
.motion-paused .workshop-accent-path{animation-play-state:paused}
@keyframes workshop-marquee{to{transform:translateX(calc(-1 * var(--logo-distance,2016px)))}
}
@keyframes workshop-draw{0%,100%{stroke-dashoffset:120;opacity:0}
25%,70%{stroke-dashoffset:0;opacity:.85}
}
@media(max-width:800px){
.patch-replica .workshop-foundations aside{position:static}
.patch-replica .workshop-foundations .workshop-art-stack{display:none}
.patch-replica .workshop-foundations .replica-foundation-list{padding:65px 14px 90px}
.patch-replica .workshop-service-trigger{gap:15px;padding:28px 0}
.patch-replica .workshop-service-trigger h3{font-size:10.6667vw;line-height:.875;padding-right:38%}
.workshop-foundation.is-current .workshop-service-trigger h3{padding-right:31%}
.workshop-inline-art{display:none}
.workshop-foundation{min-height:180px}
.workshop-foundation.is-current .workshop-inline-art{display:block;position:absolute;right:0;top:32px;width:32%;aspect-ratio:1}
.workshop-more{margin:0 25px 25px}
.workshop-logo-heading{padding:0 14px 16px}
.workshop-logo-tile{width:155px;height:100px;padding:17px}
.workshop-logo-group,.workshop-logo-track{gap:10px}
.workshop-logo-row{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
.workshop-accent-path,.workshop-logo-track{animation:none}
.workshop-logo-row{overflow-x:auto}
.workshop-logo-track .workshop-logo-group[aria-hidden]{display:none}
.workshop-logo-track[data-logo-row='1']{transform:none}
}
.workshop-foundation.is-current .workshop-inline-art img,.workshop-side-art.is-current img{animation:workshop-tool-lift 3.5s ease-in-out infinite}
.workshop-scene[data-workshop-scene='1'] img{animation-name:workshop-tool-align}
.workshop-scene[data-workshop-scene='2'] img{animation-name:workshop-tool-path}
.workshop-scene[data-workshop-scene='3'] img{animation-name:workshop-tool-write}
.workshop-scene[data-workshop-scene='4'] img{animation-name:workshop-tool-align}
.workshop-scene[data-workshop-scene='5'] img{animation-name:workshop-tool-measure}
.workshop-scene[data-workshop-scene='6'] img{animation-name:workshop-tool-click}
@keyframes workshop-tool-lift{50%{transform:translateY(-3px)}
}
@keyframes workshop-tool-align{50%{transform:rotate(.4deg)}
}
@keyframes workshop-tool-path{50%{transform:translateX(3px)}
}
@keyframes workshop-tool-write{50%{transform:translate(2px,-2px)}
}
@keyframes workshop-tool-measure{50%{transform:scale(1.008)}
}
@keyframes workshop-tool-click{35%{transform:scale(.992)}
50%{transform:scale(1.006)}
}
.motion-paused .workshop-scene img{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
.workshop-scene img{animation:none!important}
}
.patch-replica .workshop-heading-entered{animation:workshop-heading-enter .6s ease-out both}
@keyframes workshop-heading-enter{from{opacity:.25;transform:translateY(22px)}
to{opacity:1;transform:none}
}
.patch-replica .replica-faqs{position:relative}
.patch-replica .replica-faqs::before{content:'';position:absolute;z-index:-1;width:45vw;height:60vw;left:-16vw;bottom:0;background:radial-gradient(ellipse,#f1d95f40,transparent 65%);pointer-events:none;animation:workshop-glow 6s ease-in-out infinite}
@keyframes workshop-glow{50%{transform:scale(1.15);opacity:.6}
}
.patch-replica .replica-mobile-offers details{padding:24px;background:white;border:1px solid var(--patch-blue);border-radius:4px}
.patch-replica .replica-mobile-offers summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:44px}
.patch-replica .replica-mobile-offers summary::-webkit-details-marker{display:none}
.patch-replica .replica-mobile-offers summary::after{content:'+';font:32px Arial}
.patch-replica .replica-mobile-offers details[open] summary::after{content:'−'}
.patch-replica .replica-mobile-offers summary h3{margin:0;font-size:34px}
.motion-paused .workshop-heading-entered,.motion-paused .replica-faqs::before{animation:none}
@media(prefers-reduced-motion:reduce){
.patch-replica .workshop-heading-entered,.patch-replica .replica-faqs::before{animation:none}
}
@media(max-width:800px){
.patch-replica .workshop-foundation.is-current .workshop-service-trigger h3{font-size:10.6667vw;padding-right:38%}
}
.patch-replica .replica-carousel{min-height:0;padding-bottom:120px}
.patch-replica .replica-case:not([hidden]){animation:workshop-heading-enter .25s ease-out both;touch-action:pan-y}
.motion-paused .replica-case:not([hidden]){animation:none}
@media(max-width:800px){
.patch-replica .replica-carousel{min-height:0;padding-bottom:50px}
}
@media(prefers-reduced-motion:reduce){
.patch-replica .replica-case:not([hidden]){animation:none}
}
@media(min-width:801px){
.patch-replica .replica-offer-layout>.replica-panel-label{position:absolute;top:0;left:0;width:calc(25% - 14px)}
.patch-replica .replica-offer-table{margin-top:0}
.patch-replica .replica-offer-table thead th:not(:first-child){position:sticky;top:1.322vw;z-index:4}
}
@media(min-width:801px){
.patch-replica .replica-offer-table thead th:first-child{height:var(--offer-label-height,auto)}
}
/* Word entry follows the observed rise/rotate/stagger, with stable line breaks. */
.patch-replica .replica-hero h1>span{perspective:900px}
.patch-replica .replica-hero h1 .workshop-hero-word{display:inline-block;transform-origin:50% 100%;animation:workshop-word-entry .8s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(.5s + var(--word-order)*.08s)}
@keyframes workshop-word-entry{from{transform:translateY(1em) rotateX(-88deg);opacity:0}
to{transform:translateY(0) rotateX(0deg);opacity:1}
}
.motion-paused .replica-hero h1 .workshop-hero-word{animation:none}
@media(prefers-reduced-motion:reduce){
.patch-replica .replica-hero h1 .workshop-hero-word{animation:none}
}
/* Measured blue Patch process: clipped text rolls, 600 ms, four staggered parts. */
.workshop-process{height:305.6svh;min-height:0;position:relative}
.workshop-process-sticky{position:sticky;top:0;height:100svh;min-height:730px;overflow:hidden}
.patch-replica .workshop-process-card{position:absolute;z-index:3;top:6.6667vw;left:1.0417vw;width:48.2%;padding:0;background:white;color:var(--patch-blue);border-radius:4px;overflow:hidden}
.workshop-process-top{height:3.82vw;min-height:55px;padding:1.1vw 11vw 1.1vw 1.74vw;display:flex;align-items:center;border-bottom:1px solid var(--patch-blue);font:800 1.653vw var(--patch-display);text-transform:uppercase}
.workshop-step-symbol{display:none}
.workshop-process-slides{display:grid}
.workshop-process-slide{grid-area:1/1;pointer-events:none}
.workshop-process-slide.is-current{pointer-events:auto}
.patch-replica .workshop-process .replica-step-heading{display:grid;grid-template-columns:25% 1fr;gap:0;border-bottom:1px solid var(--patch-blue)}
.patch-replica .workshop-process .replica-step-heading>span{border-right:1px solid var(--patch-blue);padding:1.2vw .35vw;display:grid;place-items:center;font:800 10.582vw/1 var(--patch-display)}
.patch-replica .workshop-process .replica-step-heading h3{font-size:4.63vw;line-height:.95;letter-spacing:normal;padding:1.66vw 1.74vw;display:flex;align-items:center}
.patch-replica .workshop-process .replica-step-copy{padding:1.67vw 1.74vw 2.1vw;margin:0}
.patch-replica .workshop-process .replica-step-copy h4{margin:0;font-size:1.984vw;line-height:1.1}
.patch-replica .workshop-process .replica-step-copy p{margin:1vw 0 0;font:1.653vw/1.35 Arial,sans-serif}
.workshop-roll-window{overflow:hidden;display:block}
.workshop-roll-content{display:block;transform:translateY(calc(var(--roll-position,1)*100%));transition:transform .8s cubic-bezier(.5,0,.25,1);transition-delay:var(--roll-delay,0ms)}
.workshop-process-slide.is-current .workshop-roll-content{transform:translateY(0)}
.replica-step-heading h3 .workshop-roll-content{--roll-delay:50ms}
.replica-step-copy h4 .workshop-roll-content{--roll-delay:100ms}
.replica-step-copy p .workshop-roll-content{--roll-delay:120ms}
.workshop-step-controls{position:absolute;top:0;right:0;height:3.82vw;min-height:55px;width:10vw;min-width:144px;margin:0;display:flex;justify-content:center;align-items:center;gap:3px;border-left:1px solid var(--patch-blue)}
.workshop-step-controls button{width:44px;height:44px;border:0;background:white;color:var(--patch-blue);font:800 18px var(--patch-display);border-radius:3px}
.workshop-step-controls button[aria-pressed=true]{background:var(--patch-gray)}
.patch-replica #main>.workshop-process{padding:0}
@media(max-width:800px){
.workshop-process{height:305svh}
.workshop-process-sticky{min-height:730px}
.patch-replica .workshop-process-card{top:84px;left:13px;width:calc(100% - 26px)}
.workshop-process-top{height:61px;font-size:17px;padding:16px 150px 16px 15px}
.workshop-step-controls{height:61px;width:144px}
.patch-replica .workshop-process .replica-step-heading>span{font-size:18vw;padding:18px 5px}
.patch-replica .workshop-process .replica-step-heading h3{font-size:10.7vw;padding:15px}
.patch-replica .workshop-process .replica-step-copy{padding:17px 15px 22px}
.patch-replica .workshop-process .replica-step-copy h4{font-size:22px}
.patch-replica .workshop-process .replica-step-copy p{font-size:17px;line-height:1.38;margin-top:10px}
}
@media(prefers-reduced-motion:reduce),(max-height:729px){
.workshop-process{height:auto;min-height:0}
.workshop-process-sticky{position:relative;height:auto;min-height:0;overflow:visible;padding:100px 14px 40px}
.patch-replica .workshop-process-card{position:relative;top:auto;left:auto;width:100%;max-width:1000px;margin:auto;overflow:visible}
.workshop-process-top{padding-right:25px}
.workshop-process-slides{display:block}
.workshop-process-slide{pointer-events:auto}
.workshop-process-slide~.workshop-process-slide{border-top:1px solid var(--patch-blue)}
.workshop-roll-content{transform:none;transition:none;will-change:auto}
.workshop-step-controls{display:none}
}
.motion-paused .workshop-roll-content{transition:none}
.workshop-offscreen .workshop-scene img,.workshop-offscreen .workshop-accent-path,.workshop-offscreen .workshop-logo-track,.workshop-offscreen .replica-tickers span,.workshop-offscreen.replica-faqs::before{animation-play-state:paused}

.workshop-process-slide.is-dormant .workshop-roll-content{transition:none}
