/* Member photos and destinations. Keep profile pages and Instagram separate. */
.member-roster{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:32px;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:.05em;line-height:1.8}
.roster-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #dfe3eb;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(43,53,80,.03)}
.roster-heading{display:flex;align-items:center;gap:16px;min-width:0}
.roster-heading>div{min-width:0}
.roster-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 80px;width:80px;height:80px;overflow:hidden;border-radius:50%;background:#f0f2f7;color:#566078;text-decoration:none;box-shadow:0 0 0 1px #e1e5ed}
.roster-avatar img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.roster-avatar svg{width:32px;height:32px}
.roster-eyebrow{display:block;color:#70798a;font-size:.6875rem;letter-spacing:.14em;margin-bottom:8px}
.roster-heading h2{font-family:inherit;font-size:1.125rem;line-height:1.6;letter-spacing:.02em;margin:0;padding:0;border:0;color:#2b3550}
.roster-heading h2 a{color:inherit;text-decoration:none}
.roster-heading h2 a:hover{text-decoration:underline;text-underline-offset:8px}
.roster-description{font-size:.9375rem;color:#5b6475;margin:24px 0;line-height:1.8}
.roster-socials{display:grid;gap:8px;margin-top:auto;margin-bottom:16px}
.roster-instagram{display:flex;gap:8px;align-items:center;min-height:48px;padding:8px 16px;border:1px solid #e1e5ed;border-radius:18px;background:#f6f7fa;color:#34415d;text-decoration:none;font-size:.875rem;line-height:1.6;transition:background .15s,border-color .15s}
.roster-instagram>span{min-width:0;flex:1}
.roster-instagram small{display:block;font-size:.75rem;color:#657084;overflow-wrap:anywhere}
.roster-instagram svg,.roster-page svg{width:24px;height:24px;flex-shrink:0}
.roster-instagram:hover{background:#eaf0f7;border-color:#b5c1d2;color:#263550}
.roster-page{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:8px 16px;border-radius:18px;border:1px solid #d5dbe6;color:#2b3550;text-decoration:none;font-size:.875rem;font-weight:600;transition:background .15s}
.roster-page:hover{background:#edf0f6;color:#263550}
.roster-card a:focus-visible{outline:3px solid #667b9f;outline-offset:4px}
.roster-status{font-size:.8125rem;color:#717b8c;margin:0 0 16px}
.roster-card>.roster-status{margin-top:auto}
section .member-roster .roster-card a.roster-avatar{padding:0}
section .member-roster .roster-card a.roster-instagram,section .member-roster .roster-card a.roster-page{padding:8px 16px}
@media(min-width:768px){.member-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-card{padding:32px}}

.staff-section{margin-bottom:64px}
.roster-section-heading{margin-bottom:24px}
.roster-section-heading>span{display:block;color:#717b8c;font-size:.75rem;letter-spacing:.14em;margin-bottom:8px}
.roster-section-heading h2{margin:0;border:0;padding:0;font-size:1.5rem;letter-spacing:.02em;color:#2b3550}
.staff-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
section .staff-roster a.staff-card[href]{display:flex;align-items:center;flex-direction:column;gap:16px;min-width:0;padding:24px 8px;border:1px solid #dfe3eb;border-radius:18px;background:#f6f7fa;text-decoration:none;color:#2b3550;transition:background .15s,border-color .15s}
section .staff-roster a.staff-card[href]:hover{background:#edf1f7;border-color:#aebdd1}
.staff-card:focus-visible{outline:3px solid #667b9f;outline-offset:4px}
.staff-card img{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px #dfe3eb}
.staff-card h3{margin:0;font-family:inherit;font-size:1.125rem;letter-spacing:.02em;line-height:1.8}
.staff-instagram{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.75rem;line-height:1.8;color:#596780}
.staff-instagram svg{width:16px;height:16px;flex-shrink:0}
@media(min-width:768px){.staff-roster{grid-template-columns:repeat(4,minmax(0,1fr))}}
