.team-page { --team-accent: var(--sr-accent, #07999d); color: #555555; background: #fff; }
.team-page h1, .team-page h2, .team-page h3 { font-family: var(--sr-sans, "PingFang SC", "Microsoft YaHei", Arial, sans-serif); font-weight: 600; letter-spacing: -.015em; }
.team-page .sr-eyebrow { color: var(--team-accent); }
.team-page .team-hero { padding: 30px 0 48px; background: #fff; border-bottom: 0; }
.team-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: #89949b; font-size: 12px; line-height: 1.7; }
.team-breadcrumb a { color: #65717a; }
.team-breadcrumb a:hover { color: var(--team-accent); text-decoration: underline; text-underline-offset: 4px; }
.team-page .team-hero .sr-eyebrow { margin-top: 36px; }
.team-page .team-hero h1 { margin-bottom: 18px; font-size: clamp(36px, 4vw, 52px); line-height: 1.25; }
.team-page .team-hero-intro { margin: 0; color: #555555; font-size: 16px; line-height: 1.85; }
.team-subnav { border-top: 1px solid #e4e9ea; border-bottom: 1px solid #e4e9ea; background: #fff; }
.team-subnav > div { display: flex; flex-wrap: wrap; gap: 0 42px; }
.team-subnav a { position: relative; display: block; padding: 21px 0 19px; color: #65717a; font-size: 14px; }
.team-subnav a:hover, .team-subnav a[aria-current="page"] { color: #242424; }
.team-subnav a[aria-current="page"] { font-weight: 600; }
.team-subnav a[aria-current="page"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--team-accent); content: ""; }
.team-page .team-roster { padding: 64px 0 76px; background: #fff; }
.team-roster-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 48px; margin-bottom: 36px; }
.team-page .team-roster-heading .sr-section-heading { margin-bottom: 0 !important; font-size: clamp(27px, 2.5vw, 34px); line-height: 1.4; }
.team-jump { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.team-jump a { display: inline-flex; align-items: center; gap: 9px; padding: 8px 0; color: #65717a; font-size: 12px; }
.team-jump a span { color: var(--team-accent); font-size: 16px; }
.team-jump a:hover { color: #242424; }
.team-cta { padding: 62px 0; border-top: 1px solid #e4e9ea; background: #f6f8f9; }
.team-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 42px; }
.team-cta-inner h2 { margin-bottom: 18px; font-size: clamp(27px, 2.5vw, 34px); line-height: 1.4; }
.team-cta-inner p:not(.sr-eyebrow) { max-width: 760px; font-size: 15px; line-height: 1.9; }
.team-cta .sr-button { flex-shrink: 0; }

.team-roster-list{border-top:1px solid #cedcde}
.team-member-row{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(0,1.15fr);gap:20px 48px;padding:30px 0;border-bottom:1px solid #cedcde;scroll-margin-top:112px;min-width:0}
.team-card-top{grid-column:1;grid-row:1 / 3;display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:center}
.team-portrait{position:relative;width:150px;aspect-ratio:4/5;overflow:hidden;padding:0;background:#f0f3f4}
.team-page .team-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:var(--portrait-position,50% 20%)}
.team-identity{min-width:0}.team-page .team-member-index{margin:0 0 12px;color:var(--team-accent);font-size:12px;letter-spacing:.1em}
.team-page .team-identity h3{margin:0 0 12px;color:#242424;font-size:30px;line-height:1.3;overflow-wrap:anywhere}
.team-page .team-role{margin:0;color:#555555;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.team-highlights{grid-column:2;list-style:none;margin:0!important;padding:4px 0 0;display:grid;gap:7px;align-self:center}
.team-highlights li{position:relative;padding-left:16px;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.team-highlights li::before{position:absolute;left:0;top:.8em;width:4px;height:4px;background:var(--team-accent);content:""}
.team-biography{grid-column:2;align-self:start;border-top:1px solid #e4ebed}
.team-biography summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:20px;color:#242424;font-size:13px;cursor:pointer;list-style:none;padding:12px 0}
.team-biography summary::-webkit-details-marker{display:none}.team-biography summary::marker{content:""}
.team-biography summary:hover{color:var(--team-accent)}.team-biography summary:focus-visible{outline:2px solid var(--team-accent);outline-offset:3px}
.team-expand-icon{position:relative;flex-shrink:0;width:24px;height:24px}
.team-expand-icon::before,.team-expand-icon::after{position:absolute;top:11px;left:5px;width:14px;height:1px;background:var(--team-accent);content:""}
.team-expand-icon::after{transform:rotate(90deg)}.team-biography[open] .team-expand-icon::after{transform:rotate(0)}
.team-biography-copy{padding:16px 20px 22px;background:#f6f8f9}.team-page .team-biography-label{color:var(--team-accent);font-size:11px;margin-bottom:10px}
.team-biography-copy p:last-child{margin:0;font-size:14px;line-height:1.95;overflow-wrap:anywhere}
.team-member-row:target{background:#f7fafb;box-shadow:inset 3px 0 var(--team-accent)}
@media(max-width:1000px){.team-member-row{grid-template-columns:minmax(290px,1fr) minmax(0,1.1fr);gap:18px 30px}.team-card-top{grid-template-columns:120px minmax(0,1fr);gap:20px}.team-portrait{width:120px}.team-page .team-identity h3{font-size:27px}}
@media(max-width:700px){.team-page .team-hero{padding:24px 0 34px}.team-page .team-hero h1{font-size:34px}.team-subnav>div{gap:0 22px}.team-subnav a{padding:16px 0;font-size:13px}.team-page .team-roster{padding:36px 0 48px}.team-roster-heading{gap:18px;margin-bottom:24px}.team-member-row{grid-template-columns:1fr;padding:24px 0;gap:18px;scroll-margin-top:96px}.team-card-top{grid-column:1;grid-row:auto;grid-template-columns:108px minmax(0,1fr);gap:22px}.team-portrait{width:108px}.team-highlights,.team-biography{grid-column:1}.team-page .team-role{font-size:13px}.team-page .team-identity h3{font-size:27px}.team-highlights{padding:0}.team-highlights li{font-size:13px}.team-biography-copy{padding:16px}.team-cta{padding:44px 0}.team-cta-inner{align-items:flex-start;flex-direction:column;gap:24px}}
