/* Team contacts and full-size photographs, preserving the existing profile cards. */
.factory-team .team-photo-zoom{display:block;cursor:zoom-in;color:var(--white)}
.factory-team .team-photo-zoom:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.factory-team .photo-zoom-icon{position:absolute;z-index:1;right:9px;bottom:9px;margin:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--white);background:rgba(9,13,32,.75);border:1px solid rgba(177,156,255,.45);backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.factory-team .photo-zoom-icon svg{position:static;width:16px;height:16px}
.factory-team .team-photo-zoom:hover .photo-zoom-icon{background:rgba(24,33,68,.95);border-color:var(--cyan)}
.factory-team .team-email{display:block;width:100%;min-height:28px;padding:5px 0 8px;font-size:11.5px;line-height:1.4;color:var(--cyan);text-align:center;overflow-wrap:anywhere;letter-spacing:-.015em}
.factory-team .team-email:hover{text-decoration:underline;text-underline-offset:3px}
.factory-team .team-email:focus-visible{outline:1px solid var(--cyan);outline-offset:3px;border-radius:3px}
.team-photo-dialog{position:fixed;inset:0;margin:0;padding:56px 24px 24px;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:rgba(6,8,24,.95);color:var(--white);overflow:auto;overscroll-behavior:contain}
.team-photo-dialog::backdrop{background:rgba(6,8,24,.7);backdrop-filter:blur(12px)}
.team-photo-dialog:not([open]){display:none}
.photo-viewer{min-height:100%;display:grid;place-items:center}
.photo-viewer figure{display:flex;flex-direction:column;align-items:center;gap:17px;max-width:100%;margin:auto}
.team-photo-full{display:block;width:auto;height:auto;max-width:calc(100vw - 48px);max-height:calc(100dvh - 175px);object-fit:contain;border-radius:12px;box-shadow:0 0 60px rgba(139,108,255,.14)}
.team-photo-full:not([src]){display:none}
.photo-viewer figcaption{text-align:center;font-size:14px;line-height:1.5}
.photo-viewer figcaption strong{display:block;font-size:16px;font-weight:700}
.photo-role{display:block;font-size:12px;color:var(--dim);margin-top:3px}
.photo-open-original{display:inline-block;margin-top:9px;color:var(--cyan);font-size:11px}
.photo-open-original:hover{text-decoration:underline;text-underline-offset:3px}
.photo-close{position:fixed;z-index:1;top:15px;right:20px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-2);background:rgba(14,21,48,.9);color:var(--white);cursor:pointer}
.photo-close:hover{border-color:var(--cyan)}
.photo-close:focus-visible,.photo-open-original:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.photo-status{position:absolute;top:22px;left:24px;right:80px;font-size:12px;line-height:1.5;color:var(--dim)}
@media(max-width:1100px) and (min-width:761px){.factory-team .team-email{font-size:10px;letter-spacing:-.02em}}
@media(max-width:600px){.team-photo-dialog{padding:62px 14px 25px}.team-photo-full{max-width:calc(100vw - 28px);max-height:calc(100dvh - 205px);border-radius:9px}.photo-close{right:14px}.factory-team .team-email{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.factory-team .photo-zoom-icon{transition:none}}
