/* Scoped, accessible expanding-image interaction for Services timeline. */
.jbsd .jbex-visual{isolation:isolate}
.jbsd .jbex-open{appearance:none;display:block;position:relative;overflow:hidden;width:100%;height:100%;min-height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:zoom-in;text-align:left;color:white}
.jbsd .jbex-open>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.18,.8,.25,1)}
.jbsd .jbex-open:hover>img,.jbsd .jbex-open:focus-visible>img{transform:scale(1.055)}
.jbsd .jbex-open>.jbtl-visual-fallback{display:flex;width:100%;height:100%;box-sizing:border-box}
.jbsd .jbex-visual-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,21,40,.82),transparent 54%);pointer-events:none}
.jbsd .jbex-image-caption{position:absolute;left:clamp(18px,2.5vw,30px);right:70px;bottom:clamp(16px,2.3vw,28px);display:grid;gap:6px;transform:translateY(7px);transition:transform .35s;pointer-events:none}
.jbsd .jbex-open:hover .jbex-image-caption,.jbsd .jbex-open:focus-visible .jbex-image-caption{transform:translateY(0)}
.jbsd .jbex-image-caption small{color:#c5e4fb;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.jbsd .jbex-image-caption strong{font-size:clamp(17px,1.8vw,24px);line-height:1.22;color:#fff}
.jbsd .jbex-image-expand{position:absolute;right:22px;bottom:22px;border:1px solid #ffffff85;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;background:#ffffff30;backdrop-filter:blur(12px);color:#fff;font-size:23px}
.jbsd .jbex-open:focus-visible{outline:3px solid #6dbcf8;outline-offset:-4px}
.jbex-layer[hidden]{display:none!important}.jbex-layer{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,35px);isolation:isolate}
.jbex-backdrop{position:absolute;inset:0;background:rgba(4,15,32,.79);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);opacity:0;transition:opacity .36s}
.jbex-layer.is-open .jbex-backdrop{opacity:1}
.jbex-dialog{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);width:min(1020px,100%);max-height:min(85vh,850px);min-height:420px;overflow:hidden;background:#fff;border:1px solid #dce7f2;border-radius:23px;box-shadow:0 32px 100px #030d2090;opacity:0;transform:translateY(16px) scale(.97);transition:opacity .35s,transform .42s cubic-bezier(.2,.75,.2,1)}
.jbex-layer.is-open .jbex-dialog{opacity:1;transform:none}
.jbex-dialog-image{position:relative;min-height:300px;background:linear-gradient(125deg,#102e4f,#2175b6);overflow:hidden}
.jbex-dialog-image>img{display:block;width:100%;height:100%;object-fit:cover}
.jbex-dialog-image .jbtl-visual-fallback{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:9%;color:#fff}
.jbex-dialog-body{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(26px,4vw,50px);font-family:inherit;color:#183050}
.jbex-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#2275bb;margin:0 0 13px!important}
.jbex-dialog-body h2{font-size:clamp(26px,3vw,39px);line-height:1.1;letter-spacing:-.04em;margin:0 0 23px!important;color:#102845}
.jbex-summary,.jbex-scope{font-size:15px;line-height:1.75;color:#58708b;margin:0 0 24px!important}
.jbex-dialog-body h3{font-size:15px;font-weight:800;color:#172e4d;margin:25px 0 12px!important}
.jbex-deliverables{display:flex;flex-wrap:wrap;gap:8px}.jbex-deliverables span{display:inline-block;padding:8px 11px;background:#eef6fd;border:1px solid #d8e8f6;border-radius:30px;color:#285d8a;font-size:12px;font-weight:650}
.jbex-cta{display:inline-flex;gap:30px;align-items:center;padding:13px 19px;border-radius:9px;background:#0d294d;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:750}.jbex-cta:hover{background:#1d69a9}
.jbex-close{position:absolute;z-index:4;right:15px;top:15px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #dae5f0;border-radius:50%;background:#ffffffed;color:#152d4d;cursor:pointer;font-size:17px}.jbex-close:focus-visible{outline:3px solid #3584cc}
body.jbex-lock{overflow:hidden}
.jbex-flyer{position:fixed;z-index:100001;pointer-events:none;overflow:hidden;background:#122d4c;box-shadow:0 20px 70px #0005;will-change:transform;transform-origin:top left}.jbex-flyer img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:720px){.jbex-dialog{display:flex;flex-direction:column;max-height:91dvh;min-height:0;border-radius:16px}.jbex-dialog-image{height:min(35dvh,270px);min-height:180px;flex:none}.jbex-dialog-body{padding:24px}.jbex-layer{padding:10px}.jbex-close{right:10px;top:10px}}
@media(prefers-reduced-motion:reduce){.jbex-backdrop,.jbex-dialog,.jbsd .jbex-open>img{transition:none!important}}
