/* Project viewer (enlarged project card) used by the service pages' Featured Work.
   Generated from /assets/css/pages/projects.css so it looks identical to the Projects page. */
.bgx-pj__viewer{
  --sv-ink:#0A1A33; --sv-deep:#071631; --sv-body:#3A4763; --sv-muted:#6B7690; --sv-line:#DCE2EA; --sv-grey:#F3F5F8;
  --sv-accent:#1F5FB4; --sv-accent-lt:#7FB0F0; --sv-font:"Plus Jakarta Sans","Inter","Helvetica Neue",Arial,sans-serif; color:var(--sv-ink)}
.bgx-pj__viewer *,.bgx-pj__viewer *::before,.bgx-pj__viewer *::after{box-sizing:border-box}
.bgx-pj__viewer a:focus-visible,.bgx-pj__viewer button:focus-visible{outline:3px solid var(--sv-accent-lt); outline-offset:2px}
.bgx-pj__viewer .bgx-sv__btn{display:inline-flex; align-items:center; gap:12px; margin-top:24px; padding:16px 26px; background:var(--sv-ink); color:#fff !important; font:600 15px/1 var(--sv-font); text-decoration:none !important; white-space:nowrap; transition:background .2s ease}
.bgx-pj__viewer .bgx-sv__btn svg{transition:transform .2s ease}
.bgx-pj__viewer .bgx-sv__btn:hover{background:var(--sv-accent)}
.bgx-pj__viewer .bgx-sv__btn:hover svg{transform:translateX(4px)}
@media (max-width:560px){.bgx-pj__viewer .bgx-sv__btn{width:100%; justify-content:space-between; white-space:normal}}
.bgx-pj__viewer{position:fixed; inset:0; z-index:1000; display:flex; overflow:auto; font-family:var(--sv-font); align-items:center; justify-content:center; padding:16px; background:rgba(7,22,49,.94)}
.bgx-pj__viewer[hidden]{display:none}
.bgx-pj__vbox{position:relative; display:flex; align-items:stretch; width:min(1976px, 100%, calc((100vh - 32px) * 1.5 + 440px)); max-height:none; background:#fff; box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.bgx-pj__vimg{position:relative; flex:1 1 auto; min-width:0; margin:0; aspect-ratio:3/2; background:#0B1426; display:flex; align-items:center; justify-content:center; overflow:hidden}
.bgx-pj__vimg img{display:block; width:100%; height:100%; object-fit:cover}
.bgx-pj__vnav{position:absolute; top:50%; width:48px; height:48px; margin-top:-24px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:#fff; color:var(--sv-ink); cursor:pointer; box-shadow:0 10px 24px -8px rgba(0,0,0,.5)}
.bgx-pj__vprev{left:18px}
.bgx-pj__vnext{right:18px}
.bgx-pj__vnav:hover{background:var(--sv-accent); color:#fff}
.bgx-pj__vclose{position:absolute; top:12px; right:12px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:#fff; color:var(--sv-ink); font-size:26px; line-height:1; cursor:pointer; box-shadow:0 10px 24px -8px rgba(0,0,0,.5)}
.bgx-pj__vclose:hover{background:var(--sv-accent); color:#fff}
.bgx-pj__vpanel{display:flex; flex-direction:column; flex:0 0 440px; width:440px; padding:28px 32px 0}
.bgx-pj__vpos{margin:0 0 10px; font-size:12.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--sv-muted); font-variant-numeric:tabular-nums}
.bgx-pj__vcrumb{margin:0 0 8px; font-size:13px; font-weight:700; color:var(--sv-accent)}
.bgx-pj__vpanel h2{margin:0; font-size:24px; line-height:1.2; font-weight:700; letter-spacing:-.02em; color:var(--sv-ink); text-wrap:balance}
.bgx-pj__vmeta{display:grid; grid-template-columns:1fr 1fr; column-gap:24px; margin:18px 0 6px; padding:0}
.bgx-pj__vmeta div{padding:11px 0; border-top:1px solid var(--sv-line)}
.bgx-pj__vmeta .bgx-pj__vwide{grid-column:1 / -1}
.bgx-pj__vmeta dt{margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sv-muted)}
.bgx-pj__vmeta dd{margin:0; font-size:15px; line-height:1.55; color:var(--sv-ink)}
.bgx-pj__vact{margin:auto -32px 0; padding:16px 32px 22px; background:#fff; border-top:1px solid var(--sv-line); display:flex; flex-direction:column}
.bgx-pj__vcta{justify-content:center}
.bgx-pj__vsvc{display:inline-flex; align-items:center; justify-content:center; gap:10px; margin-top:12px; font-size:14.5px; font-weight:700; color:var(--sv-ink) !important; text-decoration:none !important}
.bgx-pj__vsvc:hover{color:var(--sv-accent) !important}
body.bgx-pj-lock{overflow:hidden}
.bgx-pj__vmeta div[hidden]{display:none}
@media (max-width:1100px){.bgx-pj__viewer{align-items:flex-start}.bgx-pj__vbox{flex-direction:column; width:min(900px,100%); max-height:calc(100vh - 32px); margin:auto 0; overflow:auto}.bgx-pj__vimg{flex:0 0 auto; width:100%; aspect-ratio:auto; height:min(calc(min(900px, 100vw - 32px) / 1.5), calc(100vh - 32px - 120px))}.bgx-pj__vpanel{flex:0 0 auto; width:auto}.bgx-pj__vact{position:sticky; bottom:0; z-index:1}.bgx-pj__vclose{top:10px; right:10px}}
@media (min-width:1101px) and (max-width:1320px){.bgx-pj__vbox{width:min(1976px, 100%, calc((100vh - 32px) * 1.5 + 360px))}.bgx-pj__vpanel{flex-basis:360px; width:360px; padding:18px 24px 0}.bgx-pj__vpos{margin-bottom:6px}.bgx-pj__vpanel h2{font-size:21px}.bgx-pj__vmeta{margin:12px 0 4px}.bgx-pj__vmeta div{padding:7px 0}.bgx-pj__vmeta dd{font-size:14px; line-height:1.4}.bgx-pj__vact{margin:auto -24px 0; padding:10px 24px 14px}.bgx-pj__vsvc{margin-top:6px}}
@media (max-width:860px){.bgx-pj__vclose{top:10px; right:10px}.bgx-pj__vpanel{overflow:visible}}
@media (max-width:640px){.bgx-pj__viewer{padding:0}.bgx-pj__vbox{height:100%; max-height:100vh; margin:0}.bgx-pj__vimg{height:min(calc(100vw / 1.5), calc(100vh - 120px))}.bgx-pj__vnav{width:40px; height:40px; margin-top:-20px}}
@media (min-width:1101px) and (max-height:800px){.bgx-pj__vpanel{padding:20px 28px 0}.bgx-pj__vpos{margin-bottom:6px}.bgx-pj__vpanel h2{font-size:21px}.bgx-pj__vmeta{margin:12px 0 4px}.bgx-pj__vmeta div{padding:8px 0}.bgx-pj__vmeta dd{font-size:14.5px; line-height:1.45}.bgx-pj__vact{margin:auto -28px 0; padding:12px 28px 16px}.bgx-pj__vsvc{margin-top:8px}}
@media (max-width:1100px) and (min-aspect-ratio:4/3){.bgx-pj__viewer{padding:0; align-items:stretch}.bgx-pj__viewer{align-items:center}.bgx-pj__vbox{flex-direction:row; width:min(100%, calc(100vh * 1.5 + 260px)); height:auto; max-height:100vh; margin:auto; overflow:hidden}.bgx-pj__vimg{flex:1 1 auto; align-self:flex-start; width:auto; height:auto; aspect-ratio:3/2}.bgx-pj__vpanel{flex:0 0 260px; width:260px; min-width:0; overflow:auto; padding:16px 20px 0}.bgx-pj__vpanel h2{font-size:19px}.bgx-pj__vmeta{grid-template-columns:1fr}.bgx-pj__vact{position:sticky; bottom:0; margin:auto -20px 0; padding:10px 20px 12px}.bgx-pj__vbox{background:#0B1426}.bgx-pj__vpanel{background:#fff}}
@media (max-width:1100px) and (min-aspect-ratio:4/3) and (min-height:501px){.bgx-pj__viewer{padding:16px}.bgx-pj__vbox{width:min(100%, calc((100vh - 32px) * 1.5 + 280px)); max-height:calc(100vh - 32px)}.bgx-pj__vpanel{flex-basis:280px; width:280px}}
@media (min-width:1101px){.bgx-pj__vpanel{contain:size; overflow-y:auto; scrollbar-width:thin}}
@media (min-width:1101px) and (max-height:720px){.bgx-pj__vpanel{padding-top:16px}.bgx-pj__vpos{display:none}.bgx-pj__vcrumb{margin-bottom:4px}.bgx-pj__vpanel h2{font-size:19px; margin-bottom:8px}.bgx-pj__vout{margin:0 0 6px; padding:8px 12px}.bgx-pj__vout .v-out{font-size:14px}.bgx-pj__vmeta{margin-top:6px}.bgx-pj__vmeta div{padding:5px 0}.bgx-pj__vmeta dt{margin-bottom:2px; font-size:10.5px}.bgx-pj__vmeta dd{font-size:13.5px; line-height:1.35}.bgx-pj__vact{padding-top:10px; padding-bottom:12px}.bgx-pj__vact .bgx-sv__btn{padding-top:11px; padding-bottom:11px}}
.bgx-pj__vout{margin:4px 0 14px; padding:12px 14px; background:#F5F8FC; border-left:3px solid var(--sv-accent)}
.bgx-pj__vouth{margin:0 0 3px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sv-accent)}
.bgx-pj__vout .v-out{margin:0; font-size:15px; font-weight:600; line-height:1.45; color:var(--sv-ink)}
@media (min-width:1101px){.bgx-pj__vout{margin:2px 0 10px; padding:10px 14px}.bgx-pj__vmeta{margin-top:12px}}
.bgx-pj__vcli{margin:8px 0 0; padding-top:8px; border-top:1px solid #DCE5F1; font-size:13px; line-height:1.45; color:var(--sv-body)}
.bgx-pj__vcli b{margin-right:8px; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sv-muted)}
.bgx-pj__vcli[hidden]{display:none}
@media (min-width:1101px){.bgx-pj__vmeta div{padding:8px 0}.bgx-pj__vmeta dt{margin-bottom:3px}.bgx-pj__vmeta dd{font-size:14.5px; line-height:1.45}}
@media (min-width:1101px){.bgx-pj__vact{position:sticky; bottom:0; z-index:2}}
@media (min-width:1101px) and (max-height:920px){.bgx-pj__vpanel{padding-top:20px}.bgx-pj__vpos{margin-bottom:4px}.bgx-pj__vpanel h2{font-size:21px; margin-bottom:8px}.bgx-pj__vout{margin:0 0 6px; padding:9px 12px}.bgx-pj__vout .v-out{font-size:14.5px; line-height:1.4}.bgx-pj__vcli{margin-top:6px; padding-top:6px; font-size:12.5px}.bgx-pj__vmeta{margin-top:6px}.bgx-pj__vmeta div{padding:6px 0}.bgx-pj__vmeta dt{margin-bottom:2px}.bgx-pj__vmeta dd{font-size:14px; line-height:1.4}.bgx-pj__vact{padding-top:12px; padding-bottom:14px}}
@media (min-width:1101px) and (max-width:1320px) and (max-height:920px){.bgx-pj__vpos{display:none}.bgx-pj__vpanel{padding:18px 22px 0}.bgx-pj__vact{margin:auto -22px 0; padding:8px 22px 10px}.bgx-pj__vpanel h2{font-size:19.5px; margin-bottom:6px}.bgx-pj__vcrumb{font-size:12.5px}.bgx-pj__vout .v-out{font-size:14px}.bgx-pj__vmeta dd{font-size:13.5px; line-height:1.35}.bgx-pj__vmeta div{padding:5px 0}.bgx-pj__vact .bgx-sv__btn{padding-top:11px; padding-bottom:11px}.bgx-pj__vsvc{margin-top:4px}}
.bgx-pj__vpanel h2{margin-bottom:20px}
.bgx-pj__vout{margin:0 0 20px}
@media (min-width:1101px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:18px}.bgx-pj__vout{margin:0 0 16px}}
@media (min-width:1101px) and (max-width:1320px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:10px}.bgx-pj__vout{margin:0 0 6px}}
@media (min-width:1101px) and (max-height:720px){.bgx-pj__vpanel h2{margin-bottom:10px}.bgx-pj__vout{margin:0 0 8px}}
@media (min-width:1101px) and (max-height:920px){.bgx-pj__vpanel h2{font-size:20px; line-height:1.25}}
@media (min-width:1101px) and (max-width:1320px) and (max-height:920px){.bgx-pj__vpanel h2{font-size:18px}}
.bgx-pj__vpanel.is-tight .bgx-pj__vcrumb,.bgx-pj__vpanel.is-tight .bgx-pj__vpos{display:none}
.bgx-pj__vpanel.is-tight h2{margin-bottom:8px}
.bgx-pj__vpanel.is-tight .bgx-pj__vout{margin-bottom:6px}
.bgx-pj__vpanel.is-tight .bgx-pj__vmeta div{padding:5px 0}
.bgx-pj__vout .v-out{min-height:2.9em}
@media (max-width:640px){.bgx-pj__vout .v-out{min-height:4.35em}}
@media (max-width:1100px) and (min-aspect-ratio:4/3){.bgx-pj__vout .v-out{min-height:5.8em}}
.bgx-pj__vpanel.is-tighter .bgx-pj__vmeta .bgx-pj__vwide:last-child{display:none}
.bgx-pj__vpanel h2{line-height:1.25; min-height:2.5em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden}
@media (max-width:400px){.bgx-pj__vpanel h2{min-height:3.75em; -webkit-line-clamp:3}}
.bgx-pj__vcli{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bgx-pj__vpanel h2{margin-bottom:22px !important}
.bgx-pj__vdh{display:flex; align-items:center; gap:12px; margin:0 0 12px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sv-ink)}
.bgx-pj__vdh::after{content:""; flex:1; height:1px; background:var(--sv-line)}
@media (min-width:1101px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:18px !important}.bgx-pj__vdh{margin-bottom:10px; font-size:11.5px}}
@media (min-width:1101px) and (max-width:1320px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:14px !important}.bgx-pj__vdh{margin-bottom:8px; font-size:11px}}
.bgx-pj__vpanel.is-tight h2{margin-bottom:10px !important}
.bgx-pj__vpanel.is-tight .bgx-pj__vdh{margin-bottom:6px}
.bgx-pj__vmeta .v-scope{min-height:2.8em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden}
@media (max-width:400px), (max-width:1100px) and (min-aspect-ratio:4/3){.bgx-pj__vmeta .v-scale,.bgx-pj__vmeta .v-s{min-height:3.1em}}
.bgx-pj__vpanel h2{display:flex !important; flex-direction:column; justify-content:flex-end; -webkit-line-clamp:unset}
.bgx-pj__vpanel h2 .v-t{display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden}
@media (max-width:400px){.bgx-pj__vpanel h2 .v-t{-webkit-line-clamp:3}}
.bgx-pj__vpanel h2{margin-bottom:14px !important}
.bgx-pj__vdh{margin:0 0 10px; font-size:11px; color:var(--sv-muted); letter-spacing:.16em}
@media (min-width:1101px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:12px !important}.bgx-pj__vdh{margin-bottom:8px; font-size:10.5px}}
@media (min-width:1101px) and (max-width:1320px) and (max-height:920px){.bgx-pj__vpanel h2{margin-bottom:10px !important}.bgx-pj__vdh{margin-bottom:6px}}
.bgx-pj__vout .v-out{font-size:16px; line-height:1.42}
@media (min-width:1101px) and (max-width:1320px){.bgx-pj__vout .v-out{font-size:14px}}
@media (min-width:1101px) and (max-height:720px){.bgx-pj__vout .v-out{font-size:14px}}
@media (max-width:400px){.bgx-pj__vout .v-out{font-size:15px}}
@media (max-width:1100px) and (min-aspect-ratio:4/3){.bgx-pj__vout .v-out{font-size:14px}}
.bgx-pj__vsvc{max-width:100%; white-space:nowrap}
.bgx-pj__vsvc .v-svc{overflow:hidden; text-overflow:ellipsis; min-width:0}
/* Featured Work cards that open the viewer */
.bgx-fw__card[data-pj-id]{cursor:pointer}
.bgx-fw__card[data-pj-id]:focus-visible{outline:3px solid #7FB0F0; outline-offset:3px}
