/* Shared six-role roster, themed to each existing OSMO page. */
.team-roster{--team-ink:hsl(153 50.54% 18.24%);--team-copy:hsl(153 19.02% 40.2%);--team-stroke:hsl(153 47.37% 88.82%);--team-fill:linear-gradient(140deg,#fff 35%,hsl(153 100% 97.06%));--team-accent:hsl(153 83.71% 43.33%);--team-pill:hsl(153 100% 95.29%);--team-shadow:hsl(153 78.08% 28.63% / .1);margin-top:64px;font-family:inherit;color:var(--team-ink)}
.team-roster-heading{max-width:790px;margin-bottom:30px}
.team-roster .team-roster-eyebrow{color:var(--team-accent);font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1.6;margin:0 0 16px}
.team-roster #team-roles-title{font-family:inherit;font-size:clamp(26px,3.2vw,40px);font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:0;color:var(--team-ink);overflow-wrap:break-word}
.team-roster .team-roster-intro{max-width:750px;font-size:17px;line-height:1.8;color:var(--team-copy);margin:20px 0 0}
.team-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.team-role{position:relative;min-width:0;padding:28px;border:1px solid var(--team-stroke);border-radius:20px;background:var(--team-fill);box-shadow:0 8px 30px -18px var(--team-shadow);transition:transform .25s,border-color .25s,box-shadow .25s}
.team-role-number{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--team-stroke);border-radius:11px;background:var(--team-pill);color:var(--team-accent);font-size:12px;font-weight:600;line-height:1;letter-spacing:.03em;margin-bottom:24px}
.team-roster .team-role h4{font-family:inherit;font-size:20px;font-weight:650;letter-spacing:-.025em;line-height:1.35;color:var(--team-ink);margin:0 0 14px;overflow-wrap:break-word}
.team-roster .team-role p{font-family:inherit;font-size:15px;line-height:1.8;color:var(--team-copy);margin:0}
.team-roster .team-roster-note{max-width:850px;font-family:inherit;font-size:14px;line-height:1.8;color:var(--team-copy);margin:24px 0 0}
.control-section .team-roster{--team-ink:hsl(153 100% 97.45%);--team-copy:hsl(153 32.8% 75.49%);--team-stroke:hsl(153 40.63% 25.1%);--team-fill:linear-gradient(135deg,hsl(153 55.26% 14.9%),hsl(153 57.45% 9.22%) 80%);--team-accent:hsl(153 100% 77.25%);--team-pill:hsl(153 61.47% 21.37%);--team-shadow:rgba(0,0,0,.35);margin-top:42px}
.control-section .team-roster #team-roles-title{font-weight:700}.control-section .team-roster .team-role h4{font-weight:600}
@media(hover:hover) and (pointer:fine){.team-role:hover{transform:translateY(-5px);border-color:var(--team-accent);box-shadow:0 18px 35px -18px var(--team-shadow)}}
@media(max-width:1000px){.team-roles{grid-template-columns:repeat(2,minmax(0,1fr))}.team-role{padding:26px}}
@media(max-width:600px){.team-roster,.control-section .team-roster{margin-top:36px}.team-roster-heading{margin-bottom:24px}.team-roles{grid-template-columns:minmax(0,1fr);gap:14px}.team-role{padding:25px;border-radius:18px}.team-role-number{margin-bottom:20px}.team-roster .team-roster-intro{font-size:16px;line-height:1.75;margin-top:17px}.team-roster .team-role h4{font-size:21px}.team-roster .team-roster-eyebrow{font-size:11px;letter-spacing:.08em}.team-roster .team-roster-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.team-role{transition:none}.team-role:hover{transform:none}}
@media print{.team-roster,.control-section .team-roster{--team-ink:hsl(153 50.54% 18.24%);--team-copy:hsl(153 27.27% 28.04%);--team-fill:#fff;--team-stroke:hsl(153 26.05% 76.67%);--team-accent:hsl(153 78.84% 37.06%);--team-pill:hsl(153 71.43% 95.88%)}.team-role{break-inside:avoid;box-shadow:none}}
