/* Portrait photo cards with an expanding glass biography panel. */
#our-team .team-roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
#our-team .team-roster-card{position:relative;aspect-ratio:1122 / 1402;min-height:0;padding:0;border:0;border-radius:26px;overflow:hidden;background:#dce1d7;isolation:isolate}
#our-team .team-roster-card>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transform:none}
#our-team .team-glass-panel{position:absolute;inset:calc(100% - var(--team-panel-height,124px)) 14px 14px;border-radius:20px;padding:20px;background:linear-gradient(135deg,rgba(25,31,28,.72),rgba(45,48,44,.5));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.25);transition:top .45s cubic-bezier(.2,.7,.2,1);overflow:hidden;color:#fff}
#our-team .is-expanded .team-glass-panel{top:14px;background:rgba(25,31,28,.82);overflow-y:auto}
#our-team .team-roster-card .creator-body{position:relative;min-height:0;padding:0 42px 0 0;background:none}
#our-team .team-roster-card h3{font-size:clamp(18px,1.5vw,23px);line-height:1.15;margin:0 0 7px;color:#fff;letter-spacing:-.02em;text-shadow:none;text-transform:none}
#our-team .team-roster-card .creator-body p{font-size:14px;line-height:1.35;font-weight:400;color:rgba(255,255,255,.86);max-width:none;margin:0}
#our-team .team-bio-toggle{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.17);color:white;font:26px/1 Inter,sans-serif;cursor:pointer;transition:transform .4s,background .2s}

#our-team .team-bio-toggle:hover{background:var(--logo-green)}
#our-team .team-bio-toggle:focus-visible{outline:3px solid white;outline-offset:3px}
#our-team .team-bio{margin-top:24px}
#our-team .team-bio[hidden]{display:none}
#our-team .team-bio>p{font-size:16px;line-height:1.65;font-weight:400;color:#fff;max-width:none}
#our-team .team-bio .team-card-actions{position:static;justify-content:flex-start;margin-top:24px}
#our-team .team-bio .team-contact-btn{color:#fff;background:rgba(255,255,255,.15)}
@media(max-width:1000px){#our-team .team-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#our-team .team-roster-grid{grid-template-columns:1fr;gap:24px}#our-team .team-roster-card h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){#our-team .team-glass-panel,#our-team .team-bio-toggle{transition:none}}

#our-team .team-bio-more{margin-top:16px;padding:6px 0;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.6);color:#fff;font:700 15px/1.4 Inter,sans-serif;cursor:pointer}
.team-bio-dialog{position:fixed;inset:0;margin:auto;width:min(680px,calc(100% - 32px));max-height:85svh;overflow:auto;padding:48px;border:0;border-radius:24px;background:#fff;color:#171b17;box-sizing:border-box}
.team-bio-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(6px)}
.team-bio-dialog h2{font-size:32px;line-height:1.15;margin:0 35px 10px 0;text-transform:none}
.team-bio-dialog p{font-size:18px;line-height:1.75;margin:0 0 24px}
.team-bio-dialog .team-bio-dialog-role{color:#5b6255;font-weight:600;font-size:16px}
.team-bio-dialog a{color:#526f2b;font-weight:700}
.team-bio-dialog-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#eef0e9;color:#171b17;font-size:26px;cursor:pointer}
.team-bio-dialog :focus-visible,#our-team .team-bio-more:focus-visible{outline:3px solid var(--logo-green);outline-offset:4px}
@media(max-width:600px){.team-bio-dialog{padding:40px 26px}.team-bio-dialog p{font-size:16px}}

#our-team .team-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-bottom:100px;background:linear-gradient(145deg,#eef0e9,#cbd4bc);color:#526f2b}
#our-team .team-photo-placeholder span{font-size:76px;font-weight:600}
#our-team .team-photo-placeholder small{font-size:14px}

/* Draw controls with CSS so their appearance is independent of text encoding. */
#our-team .team-bio-toggle,.team-bio-dialog-close{display:grid;place-items:center;padding:0;box-sizing:border-box}
.team-control-icon{position:relative;display:block;width:16px;height:16px;flex:none}
.team-control-icon::before,.team-control-icon::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%)}
.team-control-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
#our-team .is-expanded .team-bio-toggle .team-control-icon::after{display:none}
.team-control-x::before{transform:translate(-50%,-50%) rotate(45deg)}
.team-control-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
#our-team .team-bio-more{display:inline-flex;align-items:center;gap:10px;border:0}
.team-more-circle{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.6);border-radius:50%;box-sizing:border-box}
