/* Motion is deliberately low-contrast and never changes the content. */
.site-header{transition:transform .4s ease,background .3s ease,border-color .3s ease}
.site-header.header-hidden{transform:translateY(-110%)}
body.menu-open .site-header,.site-header:focus-within{transform:none}
.reveal-section{transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,.7,.25,1)}
.has-reveal .reveal-section:not(.visible){transform:translateY(36px)}
.partnership-map article,.motion-steps article{transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,.7,.25,1)}
.has-reveal .reveal-section:not(.visible) .partnership-map article,.has-reveal .reveal-section:not(.visible) .motion-steps article{opacity:0;transform:translateY(28px)}
.partnership-map article:nth-of-type(2),.motion-steps article:nth-child(2){transition-delay:.18s}
.partnership-map article:nth-of-type(3),.motion-steps article:nth-child(3){transition-delay:.36s}
.process-track .process-card:nth-child(2){transition-delay:.08s}
.process-track .process-card:nth-child(3){transition-delay:.16s}
.process-track .process-card:nth-child(4){transition-delay:.24s}
.process-track .process-card:nth-child(5){transition-delay:.32s}
.partnership-map{position:relative;overflow:hidden}
.partnership-map:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:#8e2f26;transform-origin:left;transform:scaleX(0);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.visible .partnership-map:before{transform:scaleX(1)}
.partnership-map article{position:relative}
.partnership-map article.active{background:#181818;color:#f5f5f2}
.partnership-map article.active p{color:#bbb}
.partnership-map article.active:after{content:'';position:absolute;right:26px;top:25px;width:36px;height:36px;border:1px solid #8e2f26;border-radius:50%;animation:diagram-pulse 6s ease-in-out infinite}
.partnership-map i{font-size:24px;color:#8e2f26}
.why-section,.method-section{background:#141414;color:#f5f5f2}
.why-section .eyebrow.dark,.method-section .eyebrow.dark{color:#aaa}
.why-copy p{color:inherit;opacity:.78}
.why-section .partnership-map{border-color:#555}
.why-section .partnership-map article,.why-section .partnership-map article.active{color:#f5f5f2;border-color:#444;background:transparent}
.why-section .partnership-map article.active{background:#292929}
.why-section .partnership-map p{color:#bbb}
.method-section .method-grid{border-color:#555}
.method-section .method-grid article{border-color:#444}
.method-section .method-grid p{color:#bbb}
@keyframes diagram-pulse{0%,100%{transform:scale(.8);opacity:.4}50%{transform:scale(1.15);opacity:1}}
.motion-steps{counter-reset:step}
.motion-steps article{position:relative;overflow:hidden}
.motion-steps article:after{content:'';position:absolute;right:28px;top:30px;width:48px;height:48px;border:1px solid #9a9993;border-radius:50%}
.motion-steps article:nth-child(2):after{border-radius:4px;transform:rotate(45deg);border-color:#8e2f26}
.motion-steps article:nth-child(3):after{border-radius:0;border-width:0 1px 1px 0;transform:rotate(45deg);width:34px;height:34px}
.services-section{position:relative;isolation:isolate;overflow:hidden}
.services-section:before{content:'';position:absolute;z-index:-2;inset:-8%;background:url('assets/commerce-material-v4.jpg') center/cover;filter:grayscale(1) brightness(.35);animation:material-drift 32s ease-in-out infinite alternate;will-change:transform}
.services-section:after{content:'';position:absolute;z-index:-1;inset:0;background:rgba(0,0,0,.55)}
.process-section:before{background-position:center calc(50% + var(--scene-y,0px));animation:scene-drift 40s ease-in-out infinite alternate}
@keyframes scene-drift{from{transform:scale(1.06)}to{transform:scale(1.14)}}
@keyframes material-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-1%,1%,0)}}
.service-carousel{margin-top:64px}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.carousel-counter{font-size:12px;letter-spacing:.14em;color:#ccc;font-variant-numeric:tabular-nums}
.carousel-controls>div{display:flex;gap:8px}
.carousel-controls button{width:48px;height:48px;border:1px solid #777;border-radius:50%;background:#111a;color:white;font-size:20px}
.carousel-controls button:focus-visible,.service-row:focus-visible{outline:3px solid #b65045;outline-offset:3px}
.service-list{--card-width:clamp(255px,28vw,350px);display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#888 transparent;scroll-padding-left:0;margin:0;border:0;padding:0 calc(100% - var(--card-width)) 24px 0}
.service-row{flex:0 0 var(--card-width);aspect-ratio:3/4;min-height:400px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:28px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(20,20,20,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);scroll-snap-align:start;transition:none}
.service-row:hover{padding:28px;background:rgba(20,20,20,.65)}
.service-row .service-no{font-size:12px;color:#dbb5b1;letter-spacing:.1em}
.service-row h3{font-size:clamp(24px,2.2vw,31px);line-height:1.35;word-break:keep-all;margin:auto 0 20px}
.service-row p{font-size:15px;line-height:1.8;color:#ddd}
.service-row small{display:block;margin-top:20px;font-size:12px;line-height:1.7;color:#aaa}
.service-row>b{align-self:flex-end;margin-top:auto;color:#fff}
.hero-media img,.sub-hero-media img,.business-band img,.field-grid img,.partnership-photo img{transform:scale(1.08) translate3d(0,var(--parallax-y,0px),0)}
.field-grid figure:hover img{transform:scale(1.08) translate3d(0,var(--parallax-y,0px),0)}
.pill-link:hover,.brands-list article:hover .brand-title,.process-track .process-card.is-visible:hover{transform:none}
.process-track .process-card:hover:before{transform:scaleX(.24)}
h1,h2,h3,p{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:760px){
 .split-heading h2,.section-title-row h2{font-size:clamp(30px,8.2vw,40px)}
 h1 br,h2 br{display:none}
 .responsive-break:after{content:' '}
 .partnership-map article.active{background:#181818;color:#f5f5f2}
 .service-carousel{margin-top:42px}
 .service-list{--card-width:min(79vw,320px);gap:12px}
 .service-row{min-height:380px;padding:24px;aspect-ratio:3/4}
 .service-row:hover{padding:24px}
 .service-row h3{font-size:25px}
 .carousel-controls button{width:42px;height:42px}
 .motion-steps article{min-height:220px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .hero-media img,.sub-hero-media img,.business-band img,.field-grid img,.partnership-photo img{transform:none}
}

/* Four service panels form the faces of a rotating square column. */
.services-section:before{filter:grayscale(1) brightness(.78)}
.services-section:after{background:rgba(0,0,0,.3)}
.hero-shade{background:rgba(0,0,0,.34)}
.process-section:before{opacity:.3}
.sub-hero-media img{filter:brightness(.88)}
.has-prism{--prism-width:clamp(280px,30vw,390px);perspective:1400px;perspective-origin:50% 48%}
.has-prism .carousel-controls{max-width:700px;margin:0 auto 24px}
.has-prism .service-list{width:var(--prism-width);height:auto;aspect-ratio:3/4;min-height:410px;display:block;position:relative;overflow:visible;margin:0 auto;padding:0;border:0;transform-style:preserve-3d;transform:rotateX(-3deg) rotateY(calc(var(--rotation,0deg) - 10deg));transition:transform .85s cubic-bezier(.22,.68,.2,1);touch-action:pan-y;cursor:grab;scroll-snap-type:none}
.has-prism .service-list:active{cursor:grabbing}
.has-prism .service-row{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;background:rgba(18,18,18,.84);padding:30px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.has-prism .service-row:hover{padding:30px;background:rgba(18,18,18,.84)}
.has-prism .service-row:nth-child(1){transform:rotateY(0deg) translateZ(calc(var(--prism-width) / 2))}
.has-prism .service-row:nth-child(2){transform:rotateY(90deg) translateZ(calc(var(--prism-width) / 2))}
.has-prism .service-row:nth-child(3){transform:rotateY(180deg) translateZ(calc(var(--prism-width) / 2))}
.has-prism .service-row:nth-child(4){transform:rotateY(270deg) translateZ(calc(var(--prism-width) / 2))}
.has-prism .service-row h3{font-size:clamp(25px,2.3vw,32px)}
.has-prism .service-row p{color:#eee}
.has-prism .service-row small{color:#ccc}
.prism-hint{text-align:center;margin:34px 0 0;font-size:12px;color:#ddd;letter-spacing:0}
@media(max-width:760px){
 .has-prism{--prism-width:min(76vw,320px);perspective:1000px}
 .has-prism .service-list{min-height:380px}
 .has-prism .service-row,.has-prism .service-row:hover{padding:24px}
 .hero-shade{background:rgba(0,0,0,.42)}
}
@media(prefers-reduced-motion:reduce){.has-prism .service-list{transition:none;transform:rotateY(var(--rotation,0deg))}}
