/* Team page layout based on the supplied People Behind Ecosphere template. */
.our-team-page { background: #faf8f2; }
.team-template { position: relative; isolation: isolate; padding: 0 24px 54px; background: #faf8f2; }
.team-template::before { content: ''; position: absolute; inset: 0 0 auto; height: 520px; z-index: -1; pointer-events: none; background: url('assets/about/team-botanical-background.optimized.webp') center top / cover no-repeat; mask-image: linear-gradient(#000 55%, transparent); }
.team-page-intro { padding: 28px 12px 32px; text-align: center; }
.team-kicker { display: flex; align-items: center; justify-content: center; gap: 22px; margin: 0 0 12px; color: #3c6650; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.team-kicker span { height: 1px; width: 50px; background: #8daa92; }
.our-team-page .team-page-intro h1 { max-width: none; margin: 0 0 12px; font: 600 clamp(32px, 3.5vw, 48px)/1.15 Georgia, serif; color: #142b1c; letter-spacing: -.025em; text-transform: none; text-align: center; }
.team-page-intro > p:last-child { margin: 0; color: #626660; font-size: 14px; line-height: 1.7; }
.team-profiles { max-width: 1180px; margin: auto; }
.team-founder { display: grid; grid-template-columns: 30% minmax(0, 1fr); align-items: center; gap: 30px; width: min(940px, 100%); margin: 0 auto 24px; padding: 18px; border: 1px solid #708e74; border-radius: 12px; background: #fbfaf2; box-shadow: 0 10px 28px rgb(45 57 34 / 7%); }
.team-portrait { display: flex; align-items: end; justify-content: center; min-width: 0; margin: 0; overflow: hidden; border-radius: 9px; background: transparent; }
.team-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; background: transparent; }
.team-portrait img[src$="selvaraj-portrait-updated.jpeg"] { object-position: center 8%; }
.team-founder > .team-portrait { height: 276px; }
.team-founder-copy { min-width: 0; padding: 10px 0; }
.team-founder-badge { display: inline-flex; align-items: center; position: relative; padding: 5px 12px; margin-bottom: 12px; border-radius: 20px; background: #d5dec4; color: #365a45; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.our-team-page .team-founder h2 { margin: 0 0 8px; font: 600 30px/1.2 Georgia, serif; color: #142b1c; letter-spacing: -.025em; }
.team-role { color: #3c6650; font-size: 14px; font-weight: 500; line-height: 1.5; margin: 0; }
.team-rule { display: block; width: 34px; height: 1px; margin: 12px 0; background: #6c8b5d; }
.team-bio { color: #636760; font-size: 13px; line-height: 1.55; margin: 0; }
.team-members { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.team-members > .team-member-card { grid-column: span 2; }
.team-members > .team-member-card:nth-child(4) { grid-column: 2 / span 2; }
.team-members > .team-member-card:nth-child(5) { grid-column: 4 / span 2; }
.team-member-card { display: flex; flex-direction: column; min-width: 0; padding: 12px 14px 14px; border-radius: 14px; background: #fffdf9; box-shadow: 0 10px 28px rgb(65 60 37 / 6%); }
.team-member-card > .team-portrait { position: relative; height: 260px; }
.team-member-copy { display: flex; flex-direction: column; align-items: center; flex: 1; padding: 10px 12px 0; text-align: center; }
.our-team-page .team-member-card h2 { display: flex; align-items: center; justify-content: center; min-height: 58px; margin: 0 0 5px; color: #142b1c; font: 600 24px/1.2 Georgia, serif; letter-spacing: -.025em; }
.team-member-card .team-role { display: flex; align-items: start; justify-content: center; min-height: 39px; font-size: 13px; }
.team-member-card .team-rule { margin: 10px auto 12px; }
.team-member-card .team-bio { flex: 1; }
.team-page-contact { max-width: 1180px; margin: 46px auto 0; padding-top: 30px; border-top: 1px solid #dce2d2; text-align: center; }
.our-team-page .team-page-contact h2 { margin: 0 0 12px; color: #142b1c; font: 500 28px/1.3 Georgia, serif; letter-spacing: -.02em; }
.team-page-contact p { color: #636760; font-size: 14px; line-height: 1.7; }
.team-page-contact .about-actions { justify-content: center; }
@media (max-width: 980px) {
 .team-founder { grid-template-columns: 30% minmax(0, 1fr); gap: 24px; padding: 18px; }
 .team-founder > .team-portrait { height: 280px; }
 .team-member-copy { padding-inline: 0; }
 .our-team-page .team-member-card h2 { font-size: 22px; }
 .team-member-card > .team-portrait { height: 240px; }
 .team-member-copy h2 { display: flex; align-items: center; justify-content: center; min-height: 53px; }
 .team-member-card .team-role { min-height: 59px; }
}
@media (max-width: 700px) {
 .team-template { padding: 0 18px 38px; }
 .team-template::before { height: 380px; opacity: .6; background-size: auto 380px; }
 .team-page-intro { padding: 30px 0 26px; }
 .team-kicker { font-size: 11px; gap: 16px; }
 .team-kicker span { width: 30px; }
 .team-page-intro > p:last-child { font-size: 13px; }
 .team-founder { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px; }
 .team-founder > .team-portrait { height: 260px; }
 .team-founder-copy { text-align: center; padding: 8px 0; }
 .our-team-page .team-founder h2 { font-size: 27px; }
 .team-founder-copy .team-rule { margin-inline: auto; }
 .team-bio { font-size: 14px; line-height: 1.7; }
 .team-members { grid-template-columns: minmax(0, 1fr); gap: 18px; }
 .team-members > .team-member-card:nth-child(n) { grid-column: auto; }
 .team-member-card { padding: 16px 20px 20px; }
 .team-member-card > .team-portrait { height: 230px; }
 .our-team-page .team-member-copy h2 { min-height: 0; }
 .team-member-copy { padding-top: 18px; }
 .team-member-card .team-role { min-height: 0; font-size: 14px; }
 .team-page-contact { margin-top: 32px; }
}
