.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.team-page { --team-background: var(--color-teal-dark); background: var(--team-background); }
.team-intro { position: relative; z-index: 1; overflow: hidden; background: var(--team-background); color: #fff; }
.team-intro__video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.team-intro__scrim { position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgb(4 28 31 / 88%) 0%, rgb(4 28 31 / 68%) 48%, rgb(4 28 31 / 42%) 100%); }
.team-intro > .page-shell { position: relative; z-index: 1; max-width: 70rem; padding-block: clamp(4.5rem, 9vw, 7.5rem) clamp(2rem, 4vw, 3.5rem); }
.team-intro__content { width: min(100%, 42rem); }
.team-intro .eyebrow { color: var(--color-mint); }
.team-intro h1 { max-width: 14ch; }
.team-intro h1, .team-intro .lead, .team-intro__note, .team-intro__why { text-shadow: none; }
.team-intro h1 { color: #fff; }
.team-intro .lead { max-width: 59ch; color: #f7fffe; }
.team-intro__note { max-width: 58ch; margin: var(--space-3) 0 0; color: #d9f5f2; font-size: 1rem; }
.team-intro__why { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid rgb(255 255 255 / 52%); }
.team-intro__why .eyebrow { margin-bottom: .45rem; }
.team-intro__why h2 { max-width: 20ch; margin: 0; color: #fff; font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 500; }
.team-intro__why > p:last-child { max-width: 53ch; margin: .65rem 0 0; color: #edfdfb; }
.team-faces { position: relative; z-index: 2; padding-block: var(--space-4) clamp(4rem, 6vw, 5rem); background: var(--team-background); }
.team-faces > .page-shell { padding-block: 0; }
.team-faces__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 1.75rem); }
.team-face { display: flex; min-width: 0; align-items: center; flex-direction: column; text-align: center; }
.team-face__photo { width: clamp(9.5rem, 15vw, 12.5rem); height: clamp(9.5rem, 15vw, 12.5rem); border: 4px solid rgb(255 255 255 / 88%); border-radius: 50%; object-fit: cover; background: var(--color-surface-raised); box-shadow: 0 1rem 2rem rgb(4 38 38 / 22%); }
.team-face__photo--fernando { object-position: center 17%; }
.team-face__photo--carlos { object-position: center 22%; }
.team-face__photo--javier { object-position: 40% 22%; }
.team-face__content { width: 100%; margin-top: .9rem; padding: 1.15rem; border-radius: var(--radius-sm); background: rgb(255 255 255 / 88%); backdrop-filter: blur(8px); }
.team-face h3 { margin: 0 0 .25rem; color: var(--color-teal-dark); font: 600 clamp(1.3rem, 2vw, 1.55rem)/1.18 var(--font-display); letter-spacing: -.015em; }
.team-card__role { margin: 0; color: #0d6e6e; font-size: .92rem; font-weight: 800; }
.team-face__content > p:not(.team-card__role) { margin: .8rem 0 0; color: #425660; font-size: .95rem; }
.team-card__link { display: inline-flex; gap: .35rem; margin-top: .9rem; color: #0d6e6e; font-size: .9rem; font-weight: 800; text-decoration: none; }
.team-card__link:hover { text-decoration: underline; }
/* Header/footer appearance is shared in site.css. */
@media (max-width: 52rem) { .team-intro__video { object-position: 58% center; } .team-intro__scrim { background: rgb(4 28 31 / 72%); } .team-faces__grid { grid-template-columns: 1fr; max-width: 31rem; margin-inline: auto; gap: 2.5rem; } .team-face__photo { width: 11rem; height: 11rem; } }


/* Shared editorial roles, dark introduction and light founder cards. */
.team-intro { --text-heading: var(--color-white); --text-body: var(--color-text-on-dark-muted); --text-accent: var(--color-mint); }
.team-intro h1, .team-intro__why h2 { color: var(--text-heading); }
.team-intro .lead, .team-intro__note, .team-intro__why > p:last-child { color: var(--text-body); }
.team-intro .eyebrow { color: var(--text-accent); }
.team-face__content { --text-heading: var(--color-teal-dark); --text-body: var(--color-text); --text-muted: var(--color-text-muted); --text-accent: var(--color-teal); }
.team-face__content h3 { color: var(--text-heading); }
.team-face__content > p:not(.team-card__role) { color: var(--text-muted); }
.team-card__role, .team-card__link { color: var(--text-accent); }

/* Shared editorial hierarchy; dark introduction, light member cards. */
.team-page .team-intro__content { --text-heading: var(--color-white); --text-body: var(--color-text-on-dark-muted); --text-accent: var(--color-mint); }
.team-page .team-intro h1, .team-page .team-intro__why h2 { color: var(--text-heading); }
.team-page .team-intro .lead, .team-page .team-intro__why > p:last-child,
.team-page .team-intro__note { color: var(--text-body); }
.team-page .team-intro .eyebrow { color: var(--text-accent); font-size: var(--type-eyebrow); }
.team-page .team-face__content { --text-heading: var(--color-teal-dark); --text-muted: var(--color-text-muted); --text-accent: var(--color-teal); }
.team-page .team-face h3 { color: var(--text-heading); font-size: var(--type-h3); }
.team-page .team-card__role, .team-page .team-card__link { color: var(--text-accent); }
.team-page .team-face__content > p:not(.team-card__role) { color: var(--text-muted); }
