/* Local motion concept. Every color comes from the existing Public Sector palette. */
.ps-motion-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ps-main [hidden]{display:none!important}
body>footer{padding-bottom:72px}
.ps-hero-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.ps-hero-tools .ps-eyebrow{margin:0;max-width:29ch}
.ps-motion-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid var(--ps-line);border-radius:999px;padding:10px 12px;min-height:44px;background:#FFF;color:var(--ps-teal);font:600 11px/1.4 Inter,sans-serif;cursor:pointer}
.ps-motion-toggle:focus-visible{outline:3px solid #155E57;outline-offset:4px}
.ps-motion-indicator{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}
html[data-motion=on] .ps-motion-indicator{background:currentColor}
.ps-main h1{font-size:clamp(38px,4.75vw,66px);max-width:none;letter-spacing:-.045em}
.ps-main h1 .ps-hero-line{display:block;color:var(--ps-teal)}
.ps-main h1 .ps-hero-line:first-child{color:var(--ps-ink);margin-bottom:.12em}
.ps-stats dt{font-variant-numeric:tabular-nums}

/* A large, visibly illustrative diagram separates the headline from the evidence. */
.ps-workstage{position:relative;background:#16332F;padding:clamp(36px,5vw,64px) 0;overflow:hidden}
.ps-workstage-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(26px,5vw,64px);align-items:end;margin-bottom:34px}
.ps-workstage-heading .ps-eyebrow{color:#AEE3CE}
.ps-workstage h2{color:#FFF;font-size:clamp(30px,3.6vw,46px);line-height:1.14;letter-spacing:-.035em}
.ps-workstage h2 span{color:#BCE9D7}
.ps-workstage-heading>p{font-size:15px;color:#D4E4DC;margin:0;max-width:37ch}
.ps-workstage-figure{margin:0;perspective:1200px}
.ps-workstage-diagram{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.85fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,40px);min-height:410px;padding:30px 24px;border:1px solid #6D8A7E;background:#244C42;transform-style:preserve-3d}
.ps-workstage-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ps-workstage-routes path{vector-effect:non-scaling-stroke}
.ps-route-bed path{stroke:#6D8A7E;stroke-width:1}
.ps-route-moving path{stroke:#BCE9D7;stroke-width:3;stroke-dasharray:8 15}
.ps-route-moving path:nth-child(2){animation-delay:-1.4s}
.ps-route-moving path:nth-child(3){animation-delay:-2.8s}
.ps-source-stack,.ps-output-stack{position:relative;z-index:2;min-width:0}
.ps-main .ps-stage-label{font:600 9px/1.5 Inter,sans-serif;color:#C0D6CA;text-transform:uppercase;letter-spacing:.08em;margin:0 0 15px}
.ps-source-stack ul,.ps-output-stack ul{display:grid;gap:14px;list-style:none;margin:0;padding:0}
.ps-source-stack li,.ps-output-stack li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 11px;align-items:start;border:1px solid #6D8A7E;padding:17px 15px;background:#FFF;color:var(--ps-ink);min-height:86px}
.ps-source-stack strong,.ps-output-stack strong{font:600 13px/1.4 Poppins,sans-serif;min-width:0}
.ps-source-stack li>span:last-child,.ps-output-stack li>span:last-child{grid-column:2;font:400 10px/1.55 Inter,sans-serif;color:var(--ps-muted)}
.ps-document-icon{position:relative;grid-row:1/3;width:19px;height:25px;border:1px solid #155E57;background:#E7EFE8;margin-top:1px}
.ps-document-icon::before,.ps-document-icon::after{content:"";position:absolute;left:4px;right:4px;border-top:1px solid #155E57;top:8px}
.ps-document-icon::after{top:14px}
.ps-output-stack li{background:#E7EFE8;border-left:3px solid #BCE9D7}
.ps-output-index{grid-row:1/3;font:500 23px/1 Inter,sans-serif;color:#155E57}
.ps-agent-hub{position:relative;z-index:3;aspect-ratio:1;display:grid;place-items:center;min-width:0}
.ps-hub-inner{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;justify-content:center;width:100%;aspect-ratio:1;background:#16332F;border:1px solid #AEE3CE;border-radius:50%;text-align:center;padding:20px 12px}
.ps-hub-inner>svg{width:68px;height:60px;margin-bottom:8px;stroke:#BCE9D7;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.ps-main .ps-hub-inner .ps-stage-label{font-size:8px;margin-bottom:8px;color:#AEE3CE}
.ps-hub-inner>strong{font:600 clamp(17px,1.65vw,22px)/1.25 Poppins,sans-serif;color:#FFF;letter-spacing:-.02em}
.ps-hub-inner>span{font:400 8px/1.5 Inter,sans-serif;color:#C0D6CA;margin-top:10px}
.ps-hub-orbit{position:absolute;inset:-14px;border:1px dashed #6D8A7E;border-radius:50%;pointer-events:none}
.ps-hub-orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:#BCE9D7;border:2px solid #244C42;left:50%;top:-5px}
.ps-hub-orbit i:nth-child(2){left:6%;top:73%}
.ps-hub-orbit i:nth-child(3){left:91%;top:73%}
.ps-workstage-figure figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:24px;color:#C0D6CA;font:400 11px/1.6 Inter,sans-serif}
.ps-workstage-figure figcaption strong{color:#BCE9D7;font-weight:600;white-space:nowrap}

/* The real city artwork remains unchanged; the layout supplies the rhythm. */
.ps-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.ps-city{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);align-items:center;border:0;border-bottom:1px solid #D7DED8;border-radius:0;margin:0;padding:28px 0;background:transparent;overflow:visible}
.ps-city-logo{height:142px;min-width:0;padding:18px;border:1px solid #E3E8E2;border-radius:0}
.ps-city-logo-westfield{border-color:#143C38}
.ps-city-copy{padding:12px 0 12px 22px}
.ps-city-copy .ps-eyebrow{font-size:9px}
.ps-city-copy h3{font-size:19px}
.ps-city-copy p:last-child{font-size:13px;line-height:1.65}
.ps-studio-layout{perspective:1500px}
.ps-studio-figure{transform-origin:center center}

/* Motion is explicitly opt-in to the shared engine's current on/off state. */
html[data-motion=on] .ps-workstage-diagram{transform:translateY(calc((.5 - var(--scene-progress,.5))*38px)) rotateX(calc(var(--pointer-y,0)*-3deg)) rotateY(calc(var(--pointer-x,0)*4deg))}
html[data-motion=on] .ps-hub-orbit{animation:ps-orbit 22s linear infinite}
html[data-motion=on] .ps-source-stack li{animation:ps-source-float 6s ease-in-out infinite}
html[data-motion=on] .ps-source-stack li:nth-child(2){animation-delay:-2s}
html[data-motion=on] .ps-source-stack li:nth-child(3){animation-delay:-4s}
html[data-motion=on] .ps-output-stack li{animation:ps-output-lift 6s ease-in-out infinite}
html[data-motion=on] .ps-output-stack li:nth-child(2){animation-delay:-2s}
html[data-motion=on] .ps-output-stack li:nth-child(3){animation-delay:-4s}
html[data-motion=on] .ps-studio-figure{transform:translateY(calc((1 - var(--expand-progress,1))*34px)) scale(calc(.88 + var(--expand-progress,1)*.12)) rotateX(calc((1 - var(--expand-progress,1))*8deg))}
html[data-motion=off] .ps-main *,html[data-motion=off] .ps-main *::before,html[data-motion=off] .ps-main *::after{animation:none!important;transition:none!important}
html[data-motion=off] .ps-workstage-diagram,html[data-motion=off] .ps-studio-figure{transform:none!important}
@keyframes ps-orbit{to{transform:rotate(360deg)}}
@keyframes ps-source-float{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@keyframes ps-output-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

@media(max-width:1050px){.ps-workstage-diagram{gap:22px;padding:26px 18px;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr)}.ps-source-stack li,.ps-output-stack li{padding:14px 11px;grid-template-columns:20px minmax(0,1fr);gap:4px 8px}.ps-source-stack strong,.ps-output-stack strong{font-size:12px}.ps-hub-inner{padding:14px 8px}.ps-hub-inner>svg{width:55px;height:48px}.ps-city-grid{gap:0 26px}.ps-city{grid-template-columns:130px minmax(0,1fr)}.ps-city-copy{padding-left:18px}}
@media(max-width:800px){.ps-workstage-heading{grid-template-columns:1fr;gap:18px}.ps-workstage-heading>p{max-width:58ch}.ps-workstage-diagram{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:17px;padding:25px 14px}.ps-source-stack li,.ps-output-stack li{display:flex;flex-direction:column;gap:6px;min-height:126px;padding:12px}.ps-source-stack li>span:last-child,.ps-output-stack li>span:last-child{font-size:10px}.ps-document-icon{width:16px;height:20px}.ps-document-icon::before{top:6px}.ps-document-icon::after{top:11px}.ps-output-index{font-size:21px}.ps-hub-inner>svg{width:43px;height:38px}.ps-hub-inner>strong{font-size:17px}.ps-main .ps-hub-inner .ps-stage-label{font-size:7px}.ps-hub-inner>span{display:none}.ps-hub-orbit{inset:-9px}.ps-main .ps-stage-label{font-size:8px}.ps-city-grid{grid-template-columns:1fr}.ps-city{grid-template-columns:180px minmax(0,1fr);padding:24px 0}.ps-city-copy{padding-left:28px}.ps-city-copy h3{font-size:21px}.ps-city-copy p:last-child{font-size:14px}}
@media(max-width:600px){.ps-hero-tools{gap:10px;align-items:flex-start}.ps-hero-tools .ps-eyebrow{font-size:9px;max-width:24ch}.ps-motion-toggle{font-size:10px;padding:9px 10px}.ps-main h1{font-size:clamp(38px,8.2vw,49px)}.ps-workstage{padding:36px 0}.ps-workstage h2{font-size:31px}.ps-workstage-diagram{display:flex;flex-direction:column;gap:32px;padding:22px 17px;min-height:0}.ps-workstage-routes{display:none}.ps-source-stack,.ps-output-stack{width:100%}.ps-source-stack ul,.ps-output-stack ul{gap:9px}.ps-source-stack li,.ps-output-stack li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 9px;min-height:0;padding:12px}.ps-source-stack strong,.ps-output-stack strong{font-size:13px}.ps-source-stack li>span:last-child,.ps-output-stack li>span:last-child{grid-column:2;font-size:10px}.ps-main .ps-stage-label{font-size:9px}.ps-agent-hub{width:180px;margin:5px 0}.ps-agent-hub::before,.ps-agent-hub::after{content:"";position:absolute;left:50%;height:38px;width:1px;background:#BCE9D7;top:-38px}.ps-agent-hub::after{top:100%}.ps-hub-inner>svg{width:55px;height:48px}.ps-hub-inner>strong{font-size:20px}.ps-main .ps-hub-inner .ps-stage-label{font-size:8px}.ps-workstage-figure figcaption{flex-direction:column;align-items:flex-start;gap:8px;font-size:10px}.ps-workstage-figure figcaption strong{white-space:normal}.ps-city{grid-template-columns:108px minmax(0,1fr);padding:22px 0}.ps-city-logo{height:126px;padding:12px}.ps-city-copy{padding:8px 0 8px 17px}.ps-city-copy h3{font-size:18px}.ps-city-copy p:last-child{font-size:12px}.ps-city-copy .ps-eyebrow{font-size:8px;letter-spacing:.06em}html[data-motion=on] .ps-workstage-diagram{transform:none}html[data-motion=on] .ps-studio-figure{transform:translateY(calc((1 - var(--expand-progress,1))*20px)) scale(calc(.94 + var(--expand-progress,1)*.06))}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) .ps-main *,html:not([data-motion=on]) .ps-main *::before,html:not([data-motion=on]) .ps-main *::after{animation:none!important;transition:none!important}}
