/* Role cards and supporting panels only; preserve shared and hero styling. */
.team-roles{padding-block:80px;background:#f4f6f7}
.team-intro{max-width:850px;margin-bottom:32px}
.team-intro h2{margin:0 0 16px;color:#071f34;font-size:clamp(2rem,3.5vw,3.25rem);font-weight:600;line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
.team-intro p{margin:0;color:#586579;font-size:1.1rem;line-height:1.7}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.team-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #dce3e8;border-radius:20px;background:#fff;overflow-wrap:anywhere}
.team-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:flex-start;width:44px;height:44px;margin-bottom:24px;border-radius:12px;color:#071f34;background:#fff1df}
.team-icon svg{display:block;width:24px;height:24px;flex:none}
.team-card h3,.team-training h3{margin:0 0 16px;color:#071f34;font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.02em}
.team-card p,.team-training p{margin:0;color:#586579;font-size:1rem;line-height:1.7}
.team-training{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:28px;border:1px solid #eadbc7;border-radius:20px;background:#fff7eb;overflow-wrap:anywhere}
.team-training>div{max-width:780px;min-width:0}
.team-training h3{margin-bottom:12px}
.team-training a{flex:0 1 240px;min-width:0;color:#071f34;font-size:1rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.team-contact{padding-block:64px;background:#fff}
.team-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px;border-radius:20px;background:#071f34;overflow-wrap:anywhere}
.team-contact-panel>div{max-width:800px;min-width:0}
.team-contact h2{margin:0 0 16px;color:#fff;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;line-height:1.15;letter-spacing:-.025em}
.team-contact p{margin:0;color:#dce7ee;font-size:1.05rem;line-height:1.7}
.team-contact a{flex:0 1 260px;min-width:0;padding:14px 20px;border:1px solid #fff;border-radius:12px;background:#fff;color:#071f34;font-size:1rem;font-weight:700;line-height:1.5;text-align:center;text-decoration:none}
.team-training a:hover{color:#a64f00}
.team-contact a:hover{background:#fff1df}
.team-training a:focus-visible,.team-contact a:focus-visible{outline:3px solid #1570ef;outline-offset:5px}
.high-contrast .team-roles,.high-contrast .team-card,.high-contrast .team-training,.high-contrast .team-contact,.high-contrast .team-contact-panel,.high-contrast .team-icon{background:#000}
.high-contrast .team-card,.high-contrast .team-training,.high-contrast .team-contact-panel,.high-contrast .team-icon{border:1px solid #fff}
.high-contrast .team-intro h2,.high-contrast .team-intro p,.high-contrast .team-card h3,.high-contrast .team-card p,.high-contrast .team-training h3,.high-contrast .team-training p,.high-contrast .team-icon,.high-contrast .team-contact h2,.high-contrast .team-contact p{color:#fff}
.high-contrast .team-contact a{color:#ff0;background:#000;border-color:#ff0}
.high-contrast .team-training a:focus-visible,.high-contrast .team-contact a:focus-visible{outline-color:#ff0}
@media(max-width:991.98px){.team-roles{padding-block:64px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-training,.team-contact-panel{align-items:flex-start;flex-direction:column}.team-training a,.team-contact a{flex:auto}}
@media(max-width:639.98px){.team-roles,.team-contact{padding-block:48px}.team-grid{grid-template-columns:1fr}.team-card,.team-training{padding:20px}.team-contact-panel{padding:24px}}
