/* Four roster presentations share the same validated personnel data. */
.personnel-board:is(.personnel-layout-portrait_cards,.personnel-layout-honor,.personnel-layout-timeline,.personnel-layout-roster){width:100%;min-width:0;box-sizing:border-box}
.personnel-board .person-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),320px));justify-content:center;gap:26px;max-width:1120px;margin:auto;counter-reset:roster}
.personnel-board .person-roster-item{min-width:0;counter-increment:roster}
.personnel-board .person-roster-item .person-card{width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;text-align:center;padding:18px;gap:16px;border:1px solid #d8d5c6;border-radius:14px;background:linear-gradient(145deg,#fffefa,#f3f1e8);box-shadow:0 8px 22px #203b5310}
.personnel-board .person-roster-item .person-photo{width:100%;height:230px;border:0;border-radius:10px;background:#e8eae3;overflow:hidden;display:grid;place-items:center;margin:0}
.personnel-board .person-roster-item .person-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:0;max-width:100%}
.personnel-board .person-roster-item .person-avatar{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#e0e5dc,#c7d5ca);color:#284e41}
.personnel-board .person-roster-item .person-copy{min-width:0;width:100%}.personnel-board .person-roster-item h3{margin:0 0 8px;color:#203b53;line-height:1.8;font-size:14px;font-weight:600;overflow-wrap:anywhere}.personnel-board .person-roster-item .person-copy>p{margin:5px 0;line-height:1.8;color:#526579;font-size:14px;overflow-wrap:anywhere}.personnel-board .person-roster-item .person-boss{display:none}
.personnel-board .person-tenure{border-top:1px solid #c9b88d66;padding-top:12px;margin-top:14px!important}.personnel-board .person-tenure span{display:block;color:#927641;font-size:14px}.personnel-board .person-tenure strong{display:block;color:#29463d;line-height:1.8;font-size:14px;font-weight:500}
.personnel-layout-honor .person-roster-item .person-card{border:1px solid #b49b68;outline:1px solid #d8c59b;outline-offset:-7px;padding:24px 20px;background:linear-gradient(145deg,#fcfaf1,#fff);border-radius:14px}.personnel-layout-honor .person-roster-item .person-photo{width:min(190px,100%);height:230px;align-self:center;border-radius:80px 80px 10px 10px;box-shadow:0 8px 18px #263e4520;border:1px solid #d1bc8e}.personnel-layout-honor .person-roster-item .person-copy:before{content:"";display:block;width:32px;height:2px;background:#b29359;margin:0 auto 14px}
.personnel-layout-timeline .person-roster-grid{grid-template-columns:minmax(0,1fr);max-width:820px;padding-left:32px;border-left:1px solid #c8b37f;gap:24px;box-sizing:border-box}.personnel-layout-timeline .person-roster-item{position:relative}.personnel-layout-timeline .person-roster-item:before{content:counter(roster,decimal-leading-zero);position:absolute;left:-48px;top:25px;width:30px;height:30px;display:grid;place-items:center;background:#203b53;color:#f1dfb6;border:1px solid #b29456;border-radius:50%;font-size:14px}.personnel-board.personnel-layout-timeline .person-card,.personnel-board.personnel-layout-roster .person-card{flex-direction:row;align-items:center;text-align:left}.personnel-board.personnel-layout-timeline .person-photo,.personnel-board.personnel-layout-roster .person-photo{flex:0 0 110px;width:110px;height:140px}.personnel-board.personnel-layout-timeline .person-copy,.personnel-board.personnel-layout-roster .person-copy{width:auto;flex:1}
.personnel-layout-roster .person-roster-grid{grid-template-columns:minmax(0,1fr);max-width:980px;gap:14px}.personnel-layout-roster .person-roster-item .person-card{background:#fffefa;border-left:3px solid #b39860}.personnel-layout-roster .person-roster-item .person-photo{flex-basis:80px;width:80px;height:100px}.personnel-layout-roster .person-roster-item .person-tenure{border:0;padding:0;margin-top:6px!important}
@media(max-width:600px){.personnel-board .person-roster-grid{gap:18px}.personnel-board.personnel-layout-timeline .person-card{flex-direction:column;text-align:center}.personnel-board.personnel-layout-timeline .person-photo{flex-basis:auto;width:120px;height:150px}.personnel-layout-timeline .person-roster-grid{padding-left:24px;gap:22px}.personnel-layout-timeline .person-roster-item:before{left:-40px}.personnel-board.personnel-layout-roster .person-card{gap:14px;padding:14px}.personnel-board.personnel-layout-roster .person-photo{flex-basis:66px;width:66px;height:90px}}
