.team-shell { max-width:1200px; margin:auto; padding:132px 40px 80px; color:#111; letter-spacing:0; }
.team-back { display:inline-block; font-size:12px; color:#666; margin-bottom:38px; text-decoration:none; }
.team-eyebrow { font-size:11px; color:#8a732d; margin:0 0 16px; }
.team-heading h1,.team-profile h1 { font-family:'Playfair Display',Georgia,serif; font-size:48px; font-weight:500; line-height:1.15; margin:0 0 18px; }
.team-heading>p:last-child { color:#666; font-size:16px; margin:0 0 38px; }
.team-tabs { display:flex; gap:32px; border-bottom:1px solid #ddd; margin-bottom:32px; }
.team-tabs button { border:0; border-bottom:2px solid transparent; background:none; padding:16px 0; font-size:15px; color:#777; cursor:pointer; }
.team-tabs button span { margin-left:12px; font-size:10px; color:#8a732d; }
.team-tabs button[aria-selected=true] { color:#111; border-bottom-color:#b8962e; }
.team-panel[hidden] { display:none; }
.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.team-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e2e2e2; background:white; color:inherit; text-decoration:none; transition:border-color .2s,box-shadow .2s; }
.team-card:hover { border-color:#b8962e; box-shadow:0 8px 22px #00000008; }
.team-portrait { position:relative; aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:#f4f5f4; border-bottom:1px solid #e3e5e3; }
.team-portrait span { font-family:'Playfair Display',Georgia,serif; font-size:58px; font-weight:400; color:#a4aaa5; }
#panel-obra .team-portrait { background:#f1f3f4; }
#panel-obra .team-portrait span { color:#8c999f; }
.team-portrait img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.team-card-copy { flex:1; display:flex; flex-direction:column; padding:24px 20px 20px; }
.team-role { font-size:11px; line-height:1.6; color:#8a732d; margin:0 0 8px; }
.team-card h2 { font-family:'Playfair Display',Georgia,serif; font-size:27px; font-weight:500; margin:0 0 14px; }
.team-card-copy>p:not(.team-role) { font-size:13px; line-height:1.7; color:#666; margin:0 0 26px; }
.team-profile-link { display:flex; justify-content:space-between; gap:16px; margin-top:auto; padding-top:15px; border-top:1px solid #eee; font-size:11px; }
.team-profile-link span { font-size:18px; color:#8a732d; }
.team-direction { margin-top:60px; border-top:1px solid #ddd; padding-top:32px; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; align-items:center; }
.team-direction h2 { font-family:'Playfair Display',Georgia,serif; font-size:26px; font-weight:400; margin:0; }
.team-direction a { color:#111; text-decoration:none; font-size:16px; }
.team-direction a span { display:block; font-size:11px; color:#666; margin-top:10px; }
.team-profile { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:70px; align-items:start; }
.team-profile .team-portrait { aspect-ratio:4/5; border:1px solid #e2e2e2; }
.team-profile .team-portrait span { font-size:100px; }
.team-profile-copy { padding-top:24px; }
.team-profile .team-role { font-size:17px; }
.team-summary { margin:30px 0; font-size:17px; line-height:1.8; color:#666; }
.team-profile h2 { font-size:12px; font-weight:600; margin-top:36px; }
.team-areas { list-style:none; padding:0; margin:18px 0 32px; }
.team-areas li { padding:14px 0; border-bottom:1px solid #e4e4e4; font-size:14px; }
.team-contact { display:inline-flex; gap:24px; color:#111; font-size:12px; text-decoration:none; padding:16px 0; border-bottom:1px solid #b8962e; }
.team-shell a:focus-visible,.team-tabs button:focus-visible { outline:2px solid #b8962e; outline-offset:5px; }
@media(max-width:1050px) { .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .team-profile { gap:36px; } }
@media(max-width:600px) { .team-shell { padding:108px 20px 48px; } .team-heading h1,.team-profile h1 { font-size:36px; } .team-grid { gap:16px; grid-template-columns:1fr; } .team-card { display:grid; grid-template-columns:100px minmax(0,1fr); } .team-card .team-portrait { aspect-ratio:auto; border-bottom:0; border-right:1px solid #e3e5e3; } .team-card .team-portrait span { font-size:32px; } .team-card-copy { padding:20px 16px; } .team-card h2 { font-size:25px; } .team-card-copy>p:not(.team-role) { margin-bottom:20px; } .team-direction,.team-profile { grid-template-columns:1fr; gap:28px; } .team-profile .team-portrait { aspect-ratio:4/3; } .team-profile-copy { padding-top:0; } }
@media(prefers-reduced-motion:reduce) { .team-card { transition:none; } }
