/* Shared by the homepage and the standalone services study. */
.ph-journey{--phj-paper:var(--theme-paper,#0d0d0d);--phj-ink:var(--theme-ink,#f7f7f5);--phj-muted:var(--theme-muted,#9d9d99);font:400 16px/1.5 var(--display,'ProductHangar Display',Arial,sans-serif);background:#0d0d0d;color:#f7f7f5}
.ph-journey :where(h1,h2,h3,p){margin:0;font-weight:400}
.ph-journey a{color:inherit;text-decoration:none}
.ph-journey a:focus-visible{outline:1px solid #ff824b;outline-offset:6px;border-radius:2px}
.phj-intro{width:min(488px,calc(100% - 48px));margin:auto;text-align:center;padding:148px 0 92px}
.phj-intro :is(h1,h2){font:400 28px/1.35 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.phj-intro>p{margin-top:20px;letter-spacing:.02em;font-size:16px;line-height:1.5;text-wrap:pretty}
.phj-entry-links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;font-size:12px;color:var(--phj-muted)}
.phj-entry-links>span{color:#41413e}
.phj-entry-links a{padding:8px 0;transition:color .25s}
.phj-entry-links a:hover{color:var(--phj-ink)}
.phj-journey{width:min(927px,calc(100% - 80px));margin:auto;display:grid;grid-template-columns:43.15% 35.6%;justify-content:space-between;position:relative;padding-bottom:120px}
.phj-stage-list{grid-column:1;grid-row:1;min-width:0}
.phj-stage{padding:48px 0 118px;min-height:500px;scroll-margin-top:calc(50vh - 190px);transition:opacity .55s var(--ease)}
.phj-stage:last-child{padding-bottom:50px;min-height:440px}
.phj-has-motion .phj-stage{opacity:.3}
.phj-has-motion .phj-stage.is-active,.phj-has-motion .phj-stage:focus-within,.phj-has-motion .phj-stage:hover{opacity:1}
.phj-step-number{display:grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-size:13px;line-height:1;margin-bottom:25px}
.phj-starting-point{font-size:12px;line-height:1.4;color:var(--phj-muted);margin-bottom:10px;letter-spacing:.01em}
.phj-stage :is(h2,h3){font:400 26px/1.35 var(--serif);letter-spacing:-.025em;margin-bottom:14px}
.phj-stage-copy{font-size:16px;line-height:1.5;letter-spacing:.02em;text-wrap:pretty}
.phj-services{display:flex;flex-wrap:wrap;gap:5px;margin:22px 0 0;padding:0;list-style:none}
.phj-services li{border:1px solid #6b6b67;border-radius:3px;padding:2px 6px;font-size:11px;line-height:1.35;color:#dededb}
.phj-stage-outcome{font-size:12px;color:var(--phj-muted);margin-top:22px}
.phj-visual-column{grid-column:2;grid-row:1;min-width:0;position:relative;pointer-events:none}
.phj-visual-sticky{position:sticky;top:calc(50vh - 165px);pointer-events:auto}
.phj-orbit{position:relative;aspect-ratio:1;width:100%;--growth:.17;--turn:-25deg;--wire-alpha:.66;--orbit-turn:0deg}
.phj-orbit-wire{position:absolute;inset:0;width:100%;height:100%;stroke:#dadad5;stroke-width:.8;opacity:var(--wire-alpha);z-index:1;pointer-events:none}
.phj-orbit-lines{transform-origin:190px 190px;transform:rotate(var(--orbit-turn))}
.phj-gradient-core{position:absolute;left:50%;top:50%;width:170%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--phj-paper);transform:translate(-50%,-50%) scale(var(--growth));pointer-events:none;will-change:transform}
.phj-gradient-core img{display:block;width:100%;height:100%;transform:rotate(var(--turn));mix-blend-mode:screen;will-change:transform;user-select:none}
.phj-orbit-label{position:absolute;left:50%;top:50%;transform:translate(-25%,-50%);display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;line-height:1.2;z-index:2}
.phj-orbit-number{display:grid;place-items:center;flex:0 0 20px;height:20px;width:20px;border:1px solid currentColor;border-radius:50%;background:#0d0d0dbd}
.phj-orbit-name{padding:3px 6px;border:1px solid #eeeeeeb3;border-radius:3px;background:#0d0d0dce;backdrop-filter:blur(10px)}
.phj-closing{width:min(927px,calc(100% - 80px));margin:auto;border-top:1px solid #30302d;text-align:center;padding:88px 0 120px}
.phj-closing-mark{display:inline-block;font-size:24px;margin-bottom:22px}
.phj-closing h2{font:400 28px/1.35 var(--serif);letter-spacing:-.02em}
.phj-closing p{max-width:415px;margin:22px auto 28px;font-size:16px;line-height:1.5;letter-spacing:.02em;color:#b9b9b4;text-wrap:pretty}
.phj-contact-link{display:inline-flex;gap:2px;font-size:13px;color:var(--phj-paper)}
.phj-contact-link span{display:grid;place-items:center;background:var(--phj-ink);padding:12px 19px;border-radius:8px}
.phj-contact-link span:last-child{font-size:23px;line-height:1;padding:10px 12px}
.phj-contact-link:hover span{background:#dfdfd8}
@media(min-width:1600px){.phj-stage{min-height:560px}.phj-stage:last-child{min-height:480px}}
@media(max-width:760px){
  .phj-intro{padding:125px 0 54px}.phj-intro :is(h1,h2){font-size:27px}.phj-intro>p{font-size:15px}.phj-entry-links{gap:10px;margin-top:22px}
  .phj-journey{width:100%;display:block;padding-bottom:60px}
  .phj-visual-column{position:sticky;top:0;height:230px;z-index:3;pointer-events:none;overflow:clip;background:linear-gradient(var(--phj-paper) 84%,#0d0d0d00)}
  .phj-visual-sticky{position:relative;top:0;padding-top:10px;pointer-events:none}
  .phj-orbit{width:180px;margin:0 auto}
  .phj-gradient-core{width:165%}
  .phj-orbit-label{font-size:10px;transform:translate(-30%,-50%)}.phj-orbit-number{width:17px;height:17px;flex-basis:17px}.phj-orbit-name{padding:2px 4px}
  .phj-stage-list{padding:0 24px}
  .phj-stage{padding:26px 0 106px;min-height:485px;scroll-margin-top:230px}
  .phj-stage:last-child{min-height:450px;padding-bottom:60px}
  .phj-step-number{margin-bottom:21px}.phj-stage :is(h2,h3){font-size:25px}.phj-stage-copy{font-size:16px}.phj-services{margin-top:20px}.phj-stage-outcome{margin-top:20px}
  .phj-closing{width:calc(100% - 48px);padding:70px 0 90px}.phj-closing h2{font-size:25px}.phj-closing p{font-size:15px}
}
@media(max-width:360px){.phj-intro{width:calc(100% - 40px)}.phj-intro :is(h1,h2){font-size:25px}.phj-stage-list{padding:0 20px}.phj-visual-column{height:215px}.phj-orbit{width:165px}.phj-stage{scroll-margin-top:215px;min-height:535px}.phj-stage:last-child{min-height:510px}.phj-stage-copy{font-size:15px}.phj-stage :is(h2,h3){font-size:23px}.phj-closing h2{font-size:23px}}
.phj-intro>.phj-entry-note{font-size:13px;line-height:1.5;margin-top:16px;color:var(--phj-muted)}
.phj-gradient-core{transition:background-color .5s var(--ease)}
.phj-orbit-wire{stroke:currentColor}
.phj-services li{border-color:color-mix(in srgb,currentColor 44%,transparent);color:inherit}
.phj-orbit-label{color:#f7f7f5}
.phj-closing p{color:var(--phj-muted)}
.phj-contact-link{color:var(--phj-paper)!important}
@media(max-width:760px){.phj-visual-column{height:210px}.phj-stage{scroll-margin-top:210px}.phj-intro>.phj-entry-note{font-size:13px}}
@media(max-width:360px){.phj-visual-column{height:195px}.phj-stage{scroll-margin-top:195px}}
/* Leave room for the fixed mobile navigation when scrolling back up. */
@media(max-width:760px){.capabilities.ph-journey .phj-visual-column{height:260px}.capabilities.ph-journey .phj-visual-sticky{padding-top:60px}.capabilities.ph-journey .phj-stage{scroll-margin-top:260px}}
@media(max-width:360px){.capabilities.ph-journey .phj-visual-column{height:245px}.capabilities.ph-journey .phj-stage{scroll-margin-top:245px}}
@media(prefers-reduced-motion:reduce){.ph-journey *{transition:none!important;animation:none!important}.phj-gradient-core,.phj-gradient-core img{will-change:auto}.phj-has-motion .phj-stage{opacity:1}}
/* Client logos above the closing: each slot crossfades between two logos, staggered. Sized optically
   (same --logo-scale values as the service pages). No hover state, no pause on hover. */
.phj-logos{width:min(927px,calc(100% - 80px));margin:0 auto;padding:56px 0 72px}
.phj-logos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:28px;align-items:center}
.phj-logos li{display:grid;place-items:center;height:48px}
.phj-logos img{grid-area:1/1;height:calc(22px*var(--logo-scale,1));width:auto;max-width:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.62;animation:phj-logo-a 9s ease-in-out infinite;animation-delay:calc(var(--i)*-1.2s)}
.phj-logos img+img{opacity:0;animation-name:phj-logo-b}
@keyframes phj-logo-a{0%,38%{opacity:.62}50%,88%{opacity:0}100%{opacity:.62}}
@keyframes phj-logo-b{0%,38%{opacity:0}50%,88%{opacity:.62}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.phj-logos img{animation:none}}
@media(max-width:760px){.phj-logos{width:calc(100% - 48px);padding:40px 0 56px}.phj-logos ul{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:22px}.phj-logos img{height:calc(18px*var(--logo-scale,1))}}
.phj-logos img[src$="/flick.png"]{--logo-scale:1.326}
.phj-logos img[src$="/liquid-aroma.png"]{--logo-scale:1.208}
.phj-logos img[src$="/signal.svg"]{--logo-scale:1.219}
.phj-logos img[src$="/erha.png"]{--logo-scale:1.208}
.phj-logos img[src$="/steelcase.svg"]{--logo-scale:0.766}
.phj-logos img[src$="/bird-and-bird.svg"]{--logo-scale:0.83}
.phj-logos img[src$="/miggy.png"]{--logo-scale:0.802}
.phj-logos img[src$="/ontario-airport.png"]{--logo-scale:1.293}
.phj-logos img[src$="/land-rover.svg"]{--logo-scale:1.208}
.phj-logos img[src$="/pomelo.svg"]{--logo-scale:1.219}
.phj-logos img[src$="/nailboo.svg"]{--logo-scale:0.838}
.phj-logos img[src$="/rabbit.svg"]{--logo-scale:1.194}
