.team-page{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.team-page h1{color:var(--color-text-primary);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:clamp(1.875rem,1rem + 2vw,2.5rem);line-height:1.2;margin-bottom:1.5rem;border-bottom:2px solid var(--color-accent);padding-bottom:.75rem}.role-filter-container{position:sticky;top:0;z-index:100;background-color:var(--color-background);padding:1rem 0;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.role-filter-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:0;padding:0}.role-filter-button{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:2rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.role-filter-button:hover{color:var(--color-text-primary);border-color:var(--color-accent);background-color:var(--color-surface)}.role-filter-button:focus{outline:none;box-shadow:0 0 0 3px var(--color-accent)}.role-filter-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent)}.role-filter-button.active{color:#fff;background-color:var(--color-accent);border-color:var(--color-accent)}.role-filter-button.active:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}@media(prefers-reduced-motion:reduce){.role-filter-button{transition:none}}.role-section{margin-bottom:3rem}.role-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.role-divider{flex:1;height:4px;background:linear-gradient(90deg,#60a5fa,#93c5fd);border-radius:2px}.role-title{color:var(--color-text-primary);font-weight:600;font-size:clamp(1.25rem,1rem + 1vw,1.75rem);text-transform:uppercase;letter-spacing:.05em;margin:0;padding:.5rem 1rem;background-color:var(--color-surface);border-radius:.25rem;white-space:nowrap}.role-description{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;padding-left:.5rem;border-left:3px solid #93c5fd}.team-member-card{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem;padding:1.5rem;background-color:var(--color-surface);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media(min-width:768px){.team-member-card{grid-template-columns:1fr 1fr;gap:2.5rem;padding:2rem;align-items:start}.team-member-card.image-left .team-member-image-container{order:1}.team-member-card.image-left .team-member-content,.team-member-card.image-right .team-member-image-container{order:2}.team-member-card.image-right .team-member-content{order:1}}@media(min-width:1024px){.team-member-card{grid-template-columns:55% 45%;gap:3rem;padding:2.5rem}}.team-member-image-container{position:relative;width:100%;overflow:hidden;border-radius:.75rem}.team-member-image{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center top;display:block;border-radius:.75rem;box-shadow:0 10px 30px -8px #0003;transition:transform .3s ease}.team-member-card:hover .team-member-image{transform:scale(1.02)}@media(max-width:767px){.team-member-image{aspect-ratio:16 / 10;max-height:350px}}@media(min-width:768px){.team-member-image{aspect-ratio:3 / 2;max-height:450px}}@media(min-width:1024px){.team-member-image{max-height:500px}}@media(prefers-reduced-motion:reduce){.team-member-image{transition:none}.team-member-card:hover .team-member-image{transform:none}}.team-member-content{display:flex;flex-direction:column;justify-content:flex-start}.team-member-name-container{margin-bottom:1rem}.team-member-name{margin:0;display:flex;flex-direction:column;line-height:1.2}.team-member-firstname{color:var(--color-text-secondary);font-weight:400;font-size:clamp(1.25rem,1rem + 1vw,1.75rem);text-transform:uppercase;letter-spacing:.1em}.team-member-lastname{color:var(--color-text-primary);font-weight:700;font-size:clamp(2rem,1.5rem + 2vw,3rem);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.team-member-description{color:var(--color-text-secondary);font-size:clamp(.9375rem,.9rem + .3vw,1.0625rem);line-height:1.75;margin:0 0 1.5rem}.team-member-role-badge{display:none;align-self:flex-start;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;color:var(--color-accent);background-color:#60a5fa1a;border:1px solid var(--color-accent);border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}.team-members-all .team-member-role-badge{display:inline-block}.team-page .error-message{color:#ef4444;background-color:#ef44441a;padding:1rem;border-radius:.375rem;margin-bottom:1rem;border:1px solid rgba(239,68,68,.2)}.team-empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.team-empty-state h2{color:var(--color-text-primary);font-size:1.5rem;margin-bottom:.5rem}.team-empty-state p{font-size:1rem;margin:0}.team-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.team-loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.team-loading-spinner{animation:none}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:.5rem 1rem;z-index:1000;transition:top .2s ease}.skip-link:focus{top:0}@media print{.role-filter-container{display:none}.team-member-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #ccc}.team-member-image{max-height:300px}}
