/* Team photo wall and accessible full-image viewer. */
.ap-team{padding:42px 0 62px}
.ap-team-heading{margin-bottom:18px}
.team-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;max-width:950px;margin:0 auto}
.team-card{position:relative;display:block;min-width:0;padding:0;border:6px solid #fff;border-radius:5px;overflow:hidden;background:#fff;box-shadow:0 4px 16px #14395520;cursor:zoom-in;transform:rotate(-.6deg);transition:transform .25s ease,box-shadow .25s ease}
.team-card:nth-child(3n+2){transform:translateY(12px) rotate(.6deg)}
.team-card:nth-child(3n){transform:rotate(.4deg)}
.team-card img{display:block;width:100%;height:auto;object-fit:contain}
.team-card span{display:block;padding:7px 8px;background:#fff;color:#285779;text-align:left;font-size:13px;font-weight:700}
.team-card:hover,.team-card:focus-visible{transform:translateY(-5px) rotate(0);box-shadow:0 9px 23px #14395530}
.team-card:focus-visible,.team-dialog button:focus-visible{outline:3px solid #f5ad37;outline-offset:3px}
html.team-viewing{overflow:hidden}
.team-dialog{border:0;padding:0;background:transparent;color:#fff;width:95vw;max-width:min(1200px,95vw);max-height:95vh;overflow:visible}
.team-dialog::backdrop{background:rgba(0,0,0,.88)}
.team-dialog-inner{background:#10243a;padding:16px 20px}
.team-dialog-header,.team-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}
.team-dialog-header h2{font-size:18px;margin:0}
.team-dialog button{border:1px solid #9eb5c7;background:#234360;color:#fff;padding:8px 18px;font-size:15px;cursor:pointer}
.team-dialog .team-close{font-size:28px;line-height:1;padding:3px 12px}
.team-dialog-image{display:flex;align-items:center;justify-content:center;height:min(72vh,700px);margin:12px 0}
.team-dialog-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.team-count{font-size:14px}
@media(prefers-reduced-motion:reduce){.team-card,.team-card:nth-child(n),.team-card:hover,.team-card:focus-visible{transform:none;transition:none}}
.team-dialog-inner{background:transparent}.team-dialog-header h2{color:#fff}.team-dialog-image{position:relative;gap:12px}.team-dialog-image img{max-width:calc(100% - 112px)}.team-dialog-image .team-prev,.team-dialog-image .team-next{flex:0 0 44px;background:transparent;border:0;font-size:48px;line-height:1;padding:0}.team-controls{justify-content:center}.team-dialog .team-close{background:transparent;border:0}
