/* Photography and a restrained, interactive sequence through the existing process. */
.photo-flow .ph{padding:26px 20px 24px;gap:12px;transition:background .4s}.photo-flow .ph.is-active{background:#f8fbfe}.photo-flow .no{border-color:#c7d8e9;background:white;color:var(--navy);transition:background .35s,border-color .35s,color .35s,box-shadow .35s;transition-delay:0s}.photo-flow .ph.is-active .no{background:var(--navy);border-color:var(--navy);color:white;box-shadow:0 0 0 5px #109fd112}.photo-flow .ph.is-complete .no{background:#edf5fc;border-color:#aac9e4;color:var(--navy)}
.photo-flow .rail{top:42px;inset-inline:37px calc(25% - 37px)}.photo-flow .rail-fill{transform:scaleX(var(--phase-progress,.03));transition:transform 1.1s ease;background:var(--cyan)}.photo-flow .rail-fill:after{content:"";position:absolute;inset-inline-end:-3px;top:-2px;width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 0 4px #109fd115}
.phase-photo{position:relative;display:block;width:100%;height:156px;padding:0;overflow:hidden;border:1px solid #d8e3ed;border-radius:10px;cursor:pointer;background:#edf3f8;text-align:inherit;isolation:isolate;transition:border-color .3s,box-shadow .3s}
.phase-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,50%)}.phase-photo[data-phase="3"]>img{object-position:var(--crop-x,65%) var(--crop-y,40%)}
.phase-photo:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left}.ph.is-active .phase-photo:after{animation:phase-photo-progress 4.8s linear both}.photo-flow.is-interacting .ph.is-active .phase-photo:after{animation:none;transform:scaleX(1)}.ph.is-active .phase-photo{border-color:#7ba8d2;box-shadow:0 0 0 2px #109fd108}.phase-photo-cue{position:absolute;inset-inline-end:9px;top:9px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--navy);font-size:17px;opacity:0;translate:0 3px;transition:opacity .3s,translate .3s}.phase-photo:hover .phase-photo-cue,.phase-photo:focus-visible .phase-photo-cue{opacity:1;translate:0 0}.phase-photo:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.photo-flow .segs{transform:scaleX(1);transition:none}.photo-flow .segs i{position:relative;transition:background .35s,box-shadow .35s}.photo-flow .segs i.is-current{box-shadow:inset 0 -2px 0 var(--cyan),inset 0 2px 0 var(--cyan)}.photo-flow .role.is-leading .who{color:var(--navy)}.photo-flow .role.is-leading .who:after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cyan);margin-inline-start:9px;vertical-align:middle;animation:phase-lead-pulse 2.5s ease-in-out infinite}.photo-flow.paused *{animation-play-state:paused!important}
@keyframes phase-photo-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes phase-lead-pulse{50%{box-shadow:0 0 0 4px #109fd118}}[dir=rtl] .phase-photo:after{transform-origin:right}[dir=rtl] .phase-photo-cue{scale:-1 1}
@media(min-width:1400px){.phase-photo{height:175px}}@media(max-width:960px){.phase-photo{height:190px}.photo-flow .rail{display:none}}@media(max-width:560px){.photo-flow .ph{padding:23px 20px}.phase-photo{height:205px}.photo-flow .phase-photo-cue{opacity:1;translate:none}.photo-flow .lane-head{gap:14px}}
.team-lane{padding:25px 20px 20px;background:#f4f8fc}.team-lane .lane-head{padding:0;margin-bottom:18px;align-items:center}.team-note{font-size:11px;color:#6d8094}.team-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.team-lane .team-role{margin:0;background:white;border:1px solid #dce6ef;border-radius:12px;overflow:hidden;min-width:0;transition:border-color .4s,box-shadow .4s}.team-lane .team-role.is-leading{border-color:#93b9db;box-shadow:0 4px 16px #194f920b}
.role-photo{position:relative;display:block;width:100%;height:150px;border:0;padding:0;overflow:hidden;cursor:pointer;background:#e9eff6;text-align:inherit}.role-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.team-role:last-child .role-photo>img{object-position:center 40%}.role-photo:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left}.team-role.is-leading .role-photo:after{animation:phase-photo-progress 4.8s linear both}.photo-flow.is-interacting .team-role.is-leading .role-photo:after{animation:none;transform:scaleX(1)}.role-image-cue{position:absolute;top:11px;inset-inline-end:11px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:18px;background:white;color:var(--navy);opacity:0;translate:0 3px;transition:opacity .3s,translate .3s}.role-photo:hover .role-image-cue,.role-photo:focus-visible .role-image-cue{opacity:1;translate:0 0}.role-photo:focus-visible{outline:3px solid var(--cyan);outline-offset:-4px}
.role-info{padding:16px}.role-title{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.team-lane .who{padding:0;margin:0;font-size:15px;font-weight:600;color:var(--ink)}.team-lane .role-status{border-radius:20px;font-size:9px;padding:3px 7px;color:#72869a;background:#f0f4f8;white-space:nowrap;line-height:1.5}.leading-label{display:none}.team-role.is-leading .leading-label{display:inline}.team-role.is-leading .involved-label{display:none}.team-role.is-leading .role-status{background:#e7f4fb;color:var(--navy)}.role-description{font-size:11px;color:#697e92;line-height:1.65;margin-top:10px;min-height:36px}
.role-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:16px;padding:0;list-style:none}.role-phases li{border-top:2px solid #e1e9f1;padding-top:6px;min-width:0;transition:border-color .4s,color .4s;color:#8191a1}.role-phases li>span:first-child{display:block;font-size:9px;font-variant-numeric:tabular-nums}.role-phases li>span:last-child{font-size:8px;line-height:1.5;display:block;margin-top:2px}.role-phases li.owns-phase{border-color:#9eb9d5;color:#537597}.role-phases li.is-current{border-color:var(--cyan);color:var(--navy)}
[dir=rtl] .role-photo:after{transform-origin:right}[dir=rtl] .role-image-cue{scale:-1 1}
@media(min-width:1400px){.role-photo{height:170px}.team-lane .who{font-size:16px}.role-phases li>span:last-child{font-size:9px}}
@media(max-width:800px){.team-role-grid{gap:12px}.role-info{padding:13px}.team-lane .who{font-size:13px}.role-photo{height:135px}.role-description{font-size:10px}.role-title{align-items:flex-start}.team-lane .role-status{font-size:8px}.role-phases li>span:last-child{font-size:7px}}
@media(max-width:560px){.team-lane{padding:22px 16px 16px}.team-role-grid{grid-template-columns:1fr;gap:16px}.role-photo{height:185px}.role-info{padding:17px}.team-lane .who{font-size:16px}.team-lane .role-status{font-size:10px}.role-description{font-size:12px;min-height:0}.role-phases li>span:last-child{font-size:10px}.role-phases li>span:first-child{font-size:10px}.team-note{font-size:11px}.role-image-cue{opacity:1;translate:none}}
@media(prefers-reduced-motion:reduce){.photo-flow *{animation:none!important;transition:none!important}.ph.is-active .phase-photo:after,.team-role.is-leading .role-photo:after{transform:scaleX(1)}}
