.spm-personnel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0}.spm-person-card{overflow:hidden;background:#fff;border:1px solid #e7eaf0;border-radius:14px;box-shadow:0 5px 18px rgba(20,35,60,.08);transition:transform .2s,box-shadow .2s}.spm-person-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(20,35,60,.13)}.spm-person-photo{aspect-ratio:3/4;background:#f1f4f8;overflow:hidden}.spm-person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.spm-photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#aab4c2}.spm-photo-placeholder .dashicons{font-size:64px;width:64px;height:64px}.spm-person-info{padding:16px;text-align:center}.spm-person-info h3{font-size:18px;line-height:1.45;margin:0 0 8px;color:#172b4d}.spm-person-info p{font-size:14px;line-height:1.6;margin:4px 0;color:#586579}.spm-person-info p span{font-weight:600;color:#34445c}.spm-person-info .spm-position{font-weight:600;color:#1769aa}.spm-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.spm-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.spm-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.spm-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.spm-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.spm-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.spm-empty{text-align:center;padding:24px;color:#667085}
@media(max-width:900px){.spm-personnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}}@media(max-width:520px){.spm-personnel-grid{grid-template-columns:repeat(1,minmax(0,1fr))!important}}

/* Dedicated personnel archive page */
.spm-archive-page{width:min(1200px,calc(100% - 40px));margin:36px auto 56px}
.spm-archive-header{text-align:center;margin:0 0 28px}
.spm-archive-title{margin:0 0 8px;color:#145b3b;font-size:clamp(26px,3vw,38px);font-weight:800}
.spm-archive-header p{margin:0;color:#64748b;font-size:16px}
@media(max-width:900px){.spm-archive-page{width:calc(100% - 28px)}}

/* v1.3.2: page and archive directory rendering */
.spm-archive-page{display:block!important;width:min(1200px,calc(100% - 40px));max-width:1200px;margin:38px auto 60px;padding:0 0 20px}
.spm-archive-header{text-align:center;margin:0 0 30px}
.spm-archive-title{margin:0 0 8px;color:#145b3b;font-size:clamp(28px,3vw,40px);font-weight:800}
.spm-archive-header p{margin:0;color:#64748b}
.spm-empty{text-align:center;padding:28px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#64748b}
.spm-personnel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.spm-person-card{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 5px 18px rgba(0,0,0,.07)}
.spm-person-photo{aspect-ratio:3/4;overflow:hidden;background:#f1f5f9}
.spm-person-photo img{display:block;width:100%;height:100%;object-fit:cover}
.spm-person-info{padding:16px}
.spm-person-info h3{margin:0 0 8px;font-size:19px;color:#145b3b}
.spm-person-info p{margin:5px 0;font-size:14px;line-height:1.6}
@media(max-width:900px){.spm-personnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.spm-archive-page{width:calc(100% - 24px)}.spm-personnel-grid{grid-template-columns:1fr}.spm-person-photo{aspect-ratio:4/3}}

/* v1.3.3: clickable personnel group filters */
.spm-group-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 26px;padding:16px;background:#f4f8f5;border:1px solid #dce9df;border-radius:16px}
.spm-group-filter{appearance:none;border:1px solid #176b45;background:#fff;color:#176b45;border-radius:999px;padding:10px 18px;font:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer;transition:all .18s ease}
.spm-group-filter:hover{background:#e5f4eb;transform:translateY(-1px)}
.spm-group-filter.is-active{background:#176b45;color:#fff;border-color:#176b45;box-shadow:0 3px 9px rgba(23,107,69,.2)}
.spm-person-card[hidden]{display:none!important}
@media(max-width:600px){.spm-group-filters{justify-content:flex-start;gap:8px;padding:12px}.spm-group-filter{padding:9px 13px;font-size:13px}}
