/* Extends the existing brand: gold, charcoal, Barlow display, Arial body, 4px corners.
   One continuous linear marquee; all other UI stays instant. */
html:has(.team-page){scroll-behavior:auto}
.team-page *{transition:none}
.team-page .main-nav{gap:22px}
.main-nav a[aria-current=page]{color:var(--gold)}
.team-intro{padding-block:64px 56px;display:grid;grid-template-columns:1.3fr .7fr;gap:64px;align-items:center}
.team-intro-copy{max-width:690px}
.team-intro h1{font-size:clamp(64px,7.4vw,104px);text-transform:uppercase;line-height:.98;max-width:650px}
.team-intro h1 span{color:var(--gold)}
.team-intro p{font-size:15px;max-width:410px;margin-top:24px;line-height:1.8}
.team-intro-image{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.team-directory{padding-bottom:100px}
.team-directory-heading{border-top:1px solid var(--line);padding-top:30px;margin-bottom:32px}
.team-directory-heading h2{font-size:36px}
.team-directory-heading p{font-size:12px;max-width:440px;margin-top:12px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 36px;align-items:start}
.team-card{min-width:0}
.team-card:nth-child(even){margin-top:64px}
.profile-placeholder{aspect-ratio:1.6;display:grid;place-content:center;gap:6px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--secondary)}
.profile-placeholder span{font-family:var(--display);font-size:32px;letter-spacing:.01em;color:#d1cec7}
.profile-placeholder small{font-size:12px}
.team-card-image{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:var(--radius)}
.team-card-copy{padding:22px 0 0}
.team-role{color:var(--gold);font-size:12px;margin-bottom:9px}
.team-card h3{font-size:38px;line-height:1.1;overflow-wrap:anywhere}
.profile-initials span{font-size:clamp(72px,8vw,112px);color:var(--gold);line-height:1.1}
.profile-initials{gap:14px}
.team-bio{font-size:14px;line-height:1.8;max-width:460px;margin-top:14px;overflow-wrap:anywhere}
.team-card .text-link{margin-top:20px;min-height:36px}
.team-join{padding-block:48px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:32px}
.team-join h2{font-size:40px}
.team-join p{font-size:14px;margin-top:12px;max-width:490px}
.team-page .site-footer{margin-top:36px}
.profile-dialog{padding:0;width:min(800px,calc(100% - 32px))}
.profile-dialog-top{display:flex;justify-content:flex-end;padding:16px 20px;border-bottom:1px solid var(--line)}
.profile-dialog-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;padding:32px;align-items:start}
.profile-dialog-image .profile-placeholder,.profile-dialog-image img{width:100%;aspect-ratio:1;object-fit:cover}
.profile-dialog h2{font-size:48px;overflow-wrap:anywhere}
.profile-dialog .team-bio{white-space:pre-line}
@media(min-width:768px) and (max-width:1100px){.team-page .header-inner{gap:14px}.team-page .main-nav{gap:12px;font-size:11px}.team-page .brand-name>img{width:125px}.team-page .member-nav{font-size:11px;padding-inline:10px}.team-intro{gap:32px}}
@media(max-width:767px){.team-intro{grid-template-columns:1fr;gap:28px;padding-block:42px 38px}.team-intro h1{font-size:clamp(58px,12vw,82px)}.team-intro p{font-size:14px;margin-top:20px}.team-intro-image{aspect-ratio:2.2;max-height:240px}.team-directory-heading{display:block;padding-top:24px;margin-bottom:24px}.team-directory-heading h2{font-size:32px}.team-directory-heading p{margin-top:12px}.team-grid{grid-template-columns:1fr;gap:38px}.team-card:nth-child(even){margin-top:0}.profile-placeholder,.team-card-image{aspect-ratio:1.4}.team-card h3{font-size:34px}.team-card-copy{padding-top:18px}.team-directory{padding-bottom:50px}.team-join{align-items:flex-start;flex-direction:column;gap:24px;padding-block:36px}.team-join h2{font-size:36px}.profile-dialog-layout{grid-template-columns:1fr;padding:24px;gap:24px}.profile-dialog-image{max-width:190px}.profile-dialog h2{font-size:40px}}

/* Each identical group includes its trailing gap, so -50% is an exact loop. */

.team-carousel{overflow-x:auto;overscroll-behavior-x:contain;padding:6px max(20px,calc((100vw - 1240px)/2)) 24px;scrollbar-color:var(--muted-gold) var(--surface)}
.team-track{display:flex;width:max-content}
.team-grid{display:flex;gap:24px;padding-right:24px;align-items:stretch}
.team-card{width:340px;flex:0 0 340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.team-card:nth-child(even){margin-top:0}
.team-card .profile-placeholder,.team-card-image{aspect-ratio:1;border:0;border-bottom:1px solid var(--line);border-radius:0}
.team-card .team-card-image{height:auto;object-fit:contain;background:var(--bg)}
.profile-dialog-image .team-card-image{height:auto;object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}
.team-card-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.team-card h3{font-size:32px;min-height:71px}
.team-card .team-bio{margin-bottom:20px}
.team-card .text-link{margin-top:auto}
.team-carousel.is-animated{overflow:hidden}
.is-animated .team-track{animation:team-loop var(--team-loop-duration,60s) linear infinite}
body:has(.profile-dialog[open]) .team-track{animation-play-state:paused}
@keyframes team-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.team-carousel.is-manual{overflow-x:auto}
.team-carousel.is-manual .team-track{animation:none}
.team-carousel.is-manual .team-clone{display:none}
/* Native horizontal scrolling owns both swipe axes; do not block it with pan-y. */
.team-carousel{padding-inline:max(calc(20px + var(--safe-inline)),calc((100vw - 1240px)/2))}
.team-carousel.is-manual{scroll-snap-type:x mandatory;scroll-padding-inline:max(calc(20px + var(--safe-inline)),calc((100vw - 1240px)/2))}
.team-carousel.is-manual .team-card{scroll-snap-align:start}
/* A fitting stationary row is centered by its cards, not by the page's text gutter. */
.team-carousel.is-manual{padding-inline:calc(20px + var(--safe-inline));scroll-padding-inline:calc(20px + var(--safe-inline))}
.team-carousel.is-manual .team-track{margin-inline:auto}
.team-carousel.is-manual .team-grid{padding-right:0}
.profile-dialog{width:min(800px,calc(100% - 32px - 2 * var(--safe-inline)))}
@media(pointer:coarse){.team-card .text-link{min-height:44px}}
@media(max-width:767px){.team-page .main-nav{gap:0}}
@media(max-width:767px){.team-directory-heading{padding-right:0}.team-card{width:min(320px,calc(100vw - 56px));flex-basis:min(320px,calc(100vw - 56px))}.team-card h3{font-size:30px}.team-card-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.team-carousel.is-animated{overflow-x:auto}.is-animated .team-track{animation:none}.team-clone{display:none}}
/* Preview length is bounded; the profile dialog keeps the complete biography. */
.team-card .team-bio{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.team-card-copy,.team-role,.profile-placeholder{min-width:0;overflow-wrap:anywhere}
.profile-dialog-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.team-directory>.empty-state,.team-directory>.pagination{width:min(1240px,calc(100% - 2 * (var(--page-gutter) + var(--safe-inline)))) ;margin-inline:auto}
@media(max-width:767px){.profile-dialog-layout{grid-template-columns:minmax(0,1fr)}}
