.team-hero { min-height: 650px; position: relative; overflow: hidden; padding: 105px clamp(24px,8vw,130px); color: white; background: var(--navy); display: flex; flex-direction: column; justify-content: center; }
.team-hero h1 { position: relative; z-index: 2; margin: 14px 0 25px; font-size: clamp(80px,13vw,180px); line-height: .8; letter-spacing: -.08em; }
.team-hero h1 span { font-weight: 300; color: #85b6ed; }.team-hero h1 strong { color: white; }
.team-hero > p:not(.section-kicker) { position: relative; z-index: 2; max-width: 670px; font-size: 19px; line-height: 1.7; color: #dbe7f4; }
.team-scroll { width: max-content; margin-top: 30px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.6); font-weight: 800; font-size: 13px; }.team-scroll span { display: inline-block; margin-left: 15px; animation: team-bounce 1.5s ease infinite; }
@keyframes team-bounce { 50% { transform: translateY(6px); } }
.team-rings { position: absolute; right: -100px; top: 50%; width: 600px; height: 600px; transform: translateY(-50%); }
.team-rings i { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; animation: team-spin 18s linear infinite; }.team-rings i:nth-child(2) { inset: 70px; animation-direction: reverse; animation-duration: 13s; }.team-rings i:nth-child(3) { inset: 145px; background: var(--orange); border: 0; opacity: .88; animation-duration: 9s; }
.team-rings i::after { content:""; position:absolute; top: 30px; left: 105px; width: 18px; height:18px; border-radius:50%; background:#85b6ed; }.team-rings i:nth-child(3)::after { background:white; top:20px; left:70px; }
@keyframes team-spin { to { transform: rotate(360deg); } }
.team-intro { padding: 100px clamp(24px,8vw,130px); display: grid; grid-template-columns: 1.25fr .75fr; gap: 9vw; align-items: end; background: var(--cream); }
.team-intro h2 { margin: 15px 0 0; font-size: clamp(44px,5.5vw,76px); line-height: 1.02; letter-spacing: -.05em; }.team-intro > p { color:#556672; font-size:17px; line-height:1.8; }
.team-directory { padding: 85px clamp(24px,8vw,130px) 120px; }
.team-filter { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:55px; }.team-filter button { padding:13px 18px; border:1px solid var(--line); background:white; color:var(--ink); cursor:pointer; font-weight:700; transition:.25s; }.team-filter button span { margin-left:18px; color:var(--blue); font-size:10px; }.team-filter button.active,.team-filter button:hover { background:var(--navy); color:white; }.team-filter button.active span,.team-filter button:hover span { color:#85b6ed; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:35px 22px; }
.team-card { padding:0; border:0; background:transparent; text-align:left; color:inherit; cursor:pointer; animation:team-card-in .55s both; }.team-card:nth-child(even) { margin-top:55px; }
@keyframes team-card-in { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:none; } }
.team-photo { height:380px; position:relative; overflow:hidden; background:#e8edf2; }.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(100%); transition:filter .45s,transform .7s cubic-bezier(.2,.7,.2,1); }.team-card:hover .team-photo img { filter:grayscale(0); transform:scale(1.06); }
.team-photo i { position:absolute; inset:auto -80px -80px auto; width:170px; height:170px; border:1px solid rgba(255,255,255,.7); border-radius:50%; transition:transform .5s; }.team-card:hover .team-photo i { transform:scale(1.4); }
.team-plus { position:absolute; right:15px; bottom:15px; z-index:2; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--orange); font-size:25px; transition:transform .35s,background .35s; }.team-card:hover .team-plus { transform:rotate(90deg); background:var(--blue); }
.team-card-copy { padding:20px 4px; }.team-card-copy small { color:var(--orange); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:800; }.team-card-copy h3 { margin:9px 0 5px; font-size:24px; line-height:1.1; }.team-card-copy p { min-height:40px; margin:0 0 14px; color:#677782; font-size:12px; line-height:1.5; }.team-card-copy > span { font-size:11px; font-weight:800; color:var(--blue); opacity:0; transform:translateX(-8px); display:inline-block; transition:.25s; }.team-card:hover .team-card-copy > span { opacity:1; transform:none; }
.team-modal { position:fixed; inset:0; z-index:240; padding:30px; display:grid; place-items:center; background:rgba(3,20,43,.82); backdrop-filter:blur(10px); opacity:0; visibility:hidden; transition:.3s; }.team-modal.open { opacity:1; visibility:visible; }
.team-modal-card { width:min(1000px,95vw); max-height:90vh; overflow:auto; display:grid; grid-template-columns:.8fr 1.2fr; position:relative; background:white; transform:translateY(35px) scale(.97); transition:.45s cubic-bezier(.2,.7,.2,1); }.team-modal.open .team-modal-card { transform:none; }.team-modal-card > img { width:100%; height:100%; min-height:570px; object-fit:cover; object-position:center top; }.team-modal-card > div { padding:70px; display:flex; flex-direction:column; justify-content:center; }.team-modal-card small { color:var(--orange); text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:800; }.team-modal-card h2 { margin:15px 0 7px; font-size:clamp(42px,5vw,68px); line-height:1; letter-spacing:-.05em; }.team-modal-card h3 { margin:0 0 28px; color:var(--blue); font-size:15px; }.team-modal-card p { color:#556672; line-height:1.8; }.team-modal-card a { width:max-content; margin-top:20px; padding-bottom:5px; border-bottom:1px solid currentColor; color:var(--blue); font-weight:800; font-size:12px; }
.team-close { position:absolute; top:18px; right:18px; z-index:2; width:45px; height:45px; border:0; border-radius:50%; color:white; background:var(--orange); font-size:28px; cursor:pointer; transition:transform .3s; }.team-close:hover { transform:rotate(90deg); }
.team-join { padding:80px clamp(24px,8vw,130px); background:var(--blue); color:white; display:flex; align-items:center; justify-content:space-between; gap:35px; }.team-join h2 { max-width:800px; margin:12px 0; font-size:clamp(42px,5vw,70px); line-height:1.05; letter-spacing:-.05em; }
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(3,1fr)}.team-photo{height:360px}.team-rings{opacity:.5}.team-modal-card>div{padding:50px}}
@media(max-width:800px){.team-intro{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.team-card:nth-child(even){margin-top:30px}.team-modal-card{grid-template-columns:1fr}.team-modal-card>img{height:300px;min-height:0}.team-join{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.team-hero{min-height:600px;padding:80px 24px}.team-hero h1{font-size:76px}.team-rings{right:-320px}.team-intro,.team-directory{padding-left:24px;padding-right:24px}.team-grid{grid-template-columns:1fr}.team-card:nth-child(even){margin-top:0}.team-photo{height:430px}.team-modal{padding:12px}.team-modal-card>div{padding:38px 25px}.team-modal-card>img{height:260px}.team-join{padding:65px 24px}}
