/* Service journeys: the approved /creation-site-internet visual direction.
   Shared by the other service routes. No body/header/footer rules or JS. */
.px-service .project-process-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(32px,5vw,72px);align-items:start}
.px-service .project-process-intro{padding-top:52px}
.px-service .project-process h2{margin:0;font-size:clamp(2rem,4.2vw,3.25rem)!important;line-height:1.12!important;letter-spacing:-.035em;font-weight:650;text-align:left;text-wrap:initial}
.px-service .project-process h2 span{color:var(--primary)}
.px-service .project-process-intro>p{margin:28px 0 30px;font-size:1.25rem;line-height:1.5;color:var(--px-muted);max-width:42ch}
.px-service .project-process-intro>.btn-primary-cta{display:inline-flex;width:auto;max-width:100%;min-height:56px;font-size:1.125rem;padding:14px 24px;box-shadow:none!important;animation:none!important;justify-content:center}
.px-service .project-process .btn-primary-cta:focus-visible{outline:2px solid var(--primary);outline-offset:5px}
.px-service .project-process-timeline{position:relative;list-style:none;margin:0;padding:0}
.px-service .project-process-timeline:before{content:"";position:absolute;left:134px;top:30px;bottom:64px;width:1px;background:var(--primary)}
.px-service .project-process-item{position:relative;list-style:none;margin:0;padding:0}
.px-service .project-process-phase{position:relative;z-index:1;display:flex;align-items:center;gap:22px;margin:22px 0 12px;max-width:none;font-size:.6875rem;font-weight:600;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:#b5c3c0;background:var(--background)}
.px-service .project-process-item:first-child .project-process-phase{margin-top:0}
.px-service .project-process-phase span{background:var(--background);padding-block:5px}
.px-service .project-process-phase:after{content:"";height:1px;background:var(--px-line);flex:1}
.px-service .project-process-step{display:grid;grid-template-columns:96px 28px minmax(0,1fr);gap:24px;align-items:start;padding-bottom:4px}
.px-service .project-process-number{padding-top:15px;text-align:right;font-size:2.125rem;font-weight:650;line-height:1.2;color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.px-service .project-process-node{position:relative;display:block;justify-self:center;width:24px;height:24px;margin-top:23px;border:1px solid var(--primary);border-radius:50%;background:var(--background)}
.px-service .project-process-node:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--primary)}
.px-service .project-process-content{min-width:0;padding:8px 20px;border:1px solid transparent;border-radius:12px}
.px-service .project-process-item:first-child .project-process-content{border-color:rgba(0,228,190,.2);background:rgba(0,228,190,.025)}
.px-service .project-process-content h3{font-size:1.125rem;font-weight:600;line-height:1.35;text-wrap:initial;margin:0 0 6px;color:var(--foreground)}
.px-service .project-process-content p{font-size:.9375rem;line-height:1.65;margin:0;color:var(--px-muted)}
.px-service .project-process-content .project-process-meta{margin-top:8px;font-size:.8125rem;color:var(--primary);font-weight:500}
.px-service .project-process{padding-block:48px!important;scroll-margin-top:96px}
@media(max-width:900px){
 .px-service .project-process-layout{grid-template-columns:minmax(0,1fr);gap:36px}
 .px-service .project-process-intro{padding-top:0}
 .px-service .project-process h2{font-size:clamp(2rem,5vw,2.75rem)!important}
 .px-service .project-process-intro>p{max-width:60ch;margin:22px 0 24px}
}
@media(max-width:600px){
 .px-service .project-process-layout{gap:32px}
 .px-service .project-process h2{font-size:clamp(1.875rem,9.7vw,2.625rem)!important}
 .px-service .project-process-intro>p{font-size:1.125rem;line-height:1.6}
 .px-service .project-process-timeline:before{left:65px;bottom:72px}
 .px-service .project-process-step{grid-template-columns:38px 22px minmax(0,1fr);gap:16px}
 .px-service .project-process-number{font-size:1.875rem;padding-top:17px}
 .px-service .project-process-node{width:22px;height:22px;margin-top:24px}
 .px-service .project-process-node:after{inset:5px}
 .px-service .project-process-content{padding:16px}
 .px-service .project-process-content h3{font-size:1.125rem;line-height:1.4}
 .px-service .project-process-content p{font-size:1rem;line-height:1.6}
 .px-service .project-process-content .project-process-meta{font-size:.875rem}
 .px-service .project-process-phase{margin-top:20px;font-size:.6875rem;letter-spacing:.16em;gap:16px}
}
