/* Real site photography, editorial captions and a compact portfolio gallery. */
.site-header nav{gap:20px}.ceo-portrait img{object-fit:cover;object-position:center 58%}.company-story{align-items:center;gap:48px}.capability-collage{display:grid;grid-template-columns:1fr 1fr;gap:9px;background:#08213f;padding:9px;border-bottom:4px solid #dd183c;border-radius:5px;overflow:hidden}.capability-collage figure{margin:0;position:relative;min-width:0;overflow:hidden}.capability-collage .collage-lead{grid-column:1/-1}.capability-collage img{width:100%;height:165px;object-fit:cover;display:block}.capability-collage .collage-lead img{height:220px}.capability-collage figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 12px 10px;background:linear-gradient(transparent,#031428e6);color:#fff;font-size:12px;line-height:1.4}.gallery-invitation{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;padding-top:75px;padding-bottom:75px}.gallery-invitation img{width:100%;height:370px;object-fit:cover;border-radius:5px;border-bottom:4px solid #df1f42}.gallery-invitation p{color:#52657e;line-height:1.8}.gallery-hero{padding-bottom:45px}.collective-gallery{padding-bottom:90px}.gallery-toolbar{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #cbd7e7;padding-top:28px}.gallery-toolbar button{font:inherit;font-size:14px;background:white;border:1px solid #b8c8dc;color:#15375f;padding:12px 20px;border-radius:24px;cursor:pointer;min-height:44px}.gallery-toolbar button[aria-pressed=true]{background:#0b2f5b;color:white;border-color:#0b2f5b}.gallery-count{color:#61758e;font-size:13px;margin:20px 0 28px}.collective-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}.site-photo{margin:0;background:white;border:1px solid #dbe4ef;border-radius:5px;overflow:hidden;box-shadow:0 8px 25px #092a4a06}.site-photo[hidden]{display:none}.photo-open{display:block;position:relative;overflow:hidden;background:#dce5ef}.photo-open img{width:100%;height:255px;object-fit:cover;display:block;transition:transform .5s ease}.photo-open:hover img{transform:scale(1.035)}.photo-open>span{position:absolute;bottom:12px;right:12px;border-radius:50%;background:#fff;color:#14375c;width:36px;height:36px;display:grid;place-items:center}.site-photo figcaption{padding:22px}.site-photo figcaption p{font-size:14px;line-height:1.7;color:#536780;margin:0 0 15px}.site-photo figcaption .photo-site{font-weight:800;color:#132d50;font-size:13px;line-height:1.6}.site-photo .text-link{font-size:13px}.photo-dialog{border:0;border-radius:6px;background:#071b32;color:#fff;padding:55px 24px 22px;width:min(1100px,94vw);max-height:94vh}.photo-dialog::backdrop{background:#031123e8}.photo-dialog>img{width:100%;height:65vh;object-fit:contain;background:#051326}.photo-dialog>div{max-width:850px;margin:15px auto 0}.photo-dialog p{font-size:14px;line-height:1.65}.photo-dialog .photo-site{font-weight:700;color:#a8c9f5}.photo-close{position:absolute;right:18px;top:10px;background:transparent;color:white;border:1px solid #567291;border-radius:20px;padding:8px 18px;min-height:36px;font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e83a60;outline-offset:4px}
@media(max-width:1100px){.site-header nav{gap:12px;font-size:13px}.collective-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-story{gap:30px}.capability-collage img{height:140px}}
@media(max-width:800px){.gallery-invitation{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:45px}.gallery-invitation img{height:290px}.ceo-panel>.ceo-portrait{aspect-ratio:3/4}.ceo-portrait img{object-position:center 58%}.capability-collage .collage-lead img{height:230px}.capability-collage img{height:170px}.photo-dialog{padding:55px 14px 20px}.photo-dialog>img{height:55vh}}
@media(max-width:550px){.collective-grid{grid-template-columns:1fr;gap:24px}.photo-open img{height:270px}.gallery-toolbar{gap:8px}.gallery-toolbar button{font-size:12px;padding:10px 14px}.capability-collage img{height:135px}.site-photo figcaption{padding:20px}.gallery-hero h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){.photo-open img{transition:none}.photo-open:hover img{transform:none}}
