.gn-staff{--gn-staff-accent:#01B1B5;font-family:inherit}
.gn-staff-grid{display:grid;grid-template-columns:repeat(var(--gn-staff-columns,4),minmax(0,1fr));gap:36px 28px}
.gn-staff-card{min-width:0;text-align:left}
.gn-staff .gn-staff-photo{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:var(--gn-staff-ratio,3/4);padding:0;margin:0;border:0;border-radius:0;background:#edf1f1;box-shadow:none;color:#222;text-align:left;line-height:normal}
.gn-staff button.gn-staff-photo{cursor:pointer}
.gn-staff .gn-staff-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .3s ease}
.gn-staff button.gn-staff-photo:hover .gn-staff-image{transform:scale(1.035)}
.gn-staff-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#bccaca}
.gn-staff-placeholder svg{width:50%;height:auto}
.gn-staff-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:14px 18px;background:rgba(0,0,0,.75);color:#fff;font-size:14px;opacity:0;transition:opacity .2s}
.gn-staff-photo:hover .gn-staff-overlay,.gn-staff-photo:focus-visible .gn-staff-overlay{opacity:1}
.gn-staff-caption{padding-top:18px;border-bottom:1px solid #e3e8e8;padding-bottom:18px}
.gn-staff .gn-staff-name{margin:0 0 6px;font-family:var(--e-global-typography-primary-font-family,inherit);font-size:24px;line-height:1.25;font-weight:600;color:var(--e-global-color-primary,#171717);text-transform:none;letter-spacing:normal}
.gn-staff .gn-staff-role{margin:0;color:#4b5757;font-size:15px;line-height:1.5}
.gn-staff-dialog{box-sizing:border-box;position:fixed;inset:0;width:min(720px,calc(100% - 32px));max-width:720px;max-height:85vh;max-height:85dvh;margin:auto;padding:0;border:0;border-top:4px solid var(--gn-staff-accent,#01B1B5);border-radius:0;background:#fff;color:#222;box-shadow:0 20px 80px #0005;overflow:auto;text-align:left}
.gn-staff-dialog:not([open]){display:none}
.gn-staff-dialog::backdrop{background:rgba(0,0,0,.65)}
.gn-staff-dialog-content{padding:50px 40px 36px}
.gn-staff .gn-staff-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:#fff;border:1px solid #dce3e3;border-radius:0;color:#222;font-size:30px;line-height:1;cursor:pointer}
.gn-staff .gn-staff-dialog-title{margin:0 0 8px;font-family:var(--e-global-typography-primary-font-family,inherit);font-size:30px;line-height:1.2;color:#151515;text-transform:none;letter-spacing:normal}
.gn-staff-dialog-role{margin:0 0 24px;color:#4b5757;font-size:16px;font-weight:600}
.gn-staff-bio{font-size:16px;line-height:1.75;overflow-wrap:anywhere}
.gn-staff-bio p{margin:0 0 18px}.gn-staff-bio p:last-child{margin-bottom:0}
.gn-staff button:focus-visible{outline:3px solid #007c80;outline-offset:3px}
html.gn-staff-modal-open{overflow:hidden}
@media(max-width:1024px){.gn-staff-grid{grid-template-columns:repeat(var(--gn-staff-tablet,2),minmax(0,1fr))}}
@media(max-width:600px){.gn-staff-grid{grid-template-columns:repeat(var(--gn-staff-mobile,1),minmax(0,1fr));gap:28px 18px}.gn-staff-dialog-content{padding:56px 24px 28px}.gn-staff .gn-staff-name{font-size:22px}}
@media(hover:none){.gn-staff-overlay{opacity:1}}
@media(prefers-reduced-motion:reduce){.gn-staff-image,.gn-staff-overlay{transition:none!important;transform:none!important}}
