/* Meet the Team — Phase 1 review */
.team-page { background:#f4f6f7; }
.team-hero { min-height:calc(100svh - var(--header-h)); position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#0b0b0c; }
.team-hero-media { position:absolute; inset:0; z-index:-2; }
.team-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center 44%; filter:saturate(.78) contrast(1.04); }
.team-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,9,10,.96) 0%,rgba(8,9,10,.85) 43%,rgba(8,9,10,.42) 72%,rgba(8,9,10,.58) 100%),linear-gradient(180deg,rgba(8,9,10,.2),rgba(8,9,10,.7)); }
.team-hero-copy { width:min(760px,66vw); padding-block:clamp(86px,10vw,150px); }
.team-hero .hero-breadcrumb { margin-bottom:clamp(38px,6vw,72px); }
.team-hero-kicker { display:flex; align-items:center; gap:12px; color:var(--gold); font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin-bottom:18px; }
.team-hero-kicker::before { content:""; width:34px; height:2px; background:currentColor; }
.team-hero h1 { color:#fff; max-width:720px; margin-bottom:24px; }
.team-hero h1 span { display:block; color:var(--gold); }
.team-hero .lead { color:rgba(255,255,255,.85); max-width:650px; font-size:clamp(1.05rem,1.4vw,1.25rem); }
.team-intro { background:#fff; }
.team-intro-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(44px,7vw,100px); align-items:start; }
.team-intro h2 { color:var(--black); }
.team-intro-copy { border-left:3px solid var(--gold); padding-left:clamp(22px,3vw,38px); }
.team-intro-copy p { color:var(--text-muted); font-size:17px; line-height:1.8; }
.team-roster { padding-block:clamp(72px,8vw,118px); }
.team-group + .team-group { margin-top:clamp(70px,8vw,112px); }
.team-group-head { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; margin-bottom:30px; }
.team-group-head span { color:var(--gold-deep); font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.team-group-head h2 { font-size:clamp(1.8rem,3vw,2.75rem); }
.team-group-head::after { content:""; grid-column:2; height:1px; background:#d9dee1; align-self:center; }
.team-leader { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr); background:var(--black); min-height:560px; overflow:hidden; box-shadow:0 24px 60px rgba(15,19,22,.15); }
.team-leader-photo,.team-photo { position:relative; overflow:hidden; background:linear-gradient(145deg,#dfe3e5,#bec5c9); }
.team-leader-photo::after,.team-photo::after { content:""; position:absolute; inset:auto 0 0; height:34%; background:linear-gradient(transparent,rgba(9,10,11,.34)); pointer-events:none; }
.team-leader-photo img,.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.team-leader-photo img { object-position:center 35%; }
.team-leader-body { display:flex; flex-direction:column; justify-content:center; padding:clamp(38px,6vw,78px); color:rgba(255,255,255,.72); }
.team-level { color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; margin-bottom:14px; }
.team-leader h3 { color:#fff; font-size:clamp(2.2rem,4vw,4rem); margin-bottom:8px; }
.team-role { color:var(--gold); font-family:var(--ff-display); font-size:clamp(1.15rem,2vw,1.55rem); font-weight:700; letter-spacing:.07em; line-height:1.2; text-transform:uppercase; margin-bottom:24px; }
.team-leader p:last-child { max-width:610px; font-size:16px; line-height:1.8; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2.5vw,34px); }
.team-card { background:#fff; border:1px solid #dfe3e5; min-width:0; box-shadow:0 12px 32px rgba(15,19,22,.07); transition:transform .35s var(--ease),box-shadow .35s var(--ease); }
.team-card:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(15,19,22,.13); }
.team-photo { aspect-ratio:4/5; }
.team-photo img { object-position:center top; }
.team-photo--transparent img { object-fit:contain; object-position:center bottom; padding:20px 12px 0; }
.team-photo--office img { object-position:center center; }
.team-card-body { padding:26px 26px 30px; border-top:4px solid var(--gold); }
.team-card h3 { color:var(--black); font-size:clamp(1.45rem,2.1vw,1.8rem); line-height:1.08; margin-bottom:10px; }
.team-card .team-role { font-size:1rem; min-height:2.4em; margin-bottom:18px; }
.team-card p:last-child { margin:0; color:var(--text-muted); font-size:14px; line-height:1.7; }
.team-role--multi { font-size:.88rem !important; line-height:1.45; min-height:5.1em !important; }

/* Display headings use the single brand gold; see light-preview.css. */
.team-photo--pending { aspect-ratio:4/5; display:grid; place-items:center; background:linear-gradient(145deg,#202429,#101214); color:#fff; text-align:center; }
.team-photo--pending::before { content:"GG"; display:grid; place-items:center; width:112px; height:112px; border:2px solid var(--gold); color:var(--gold); border-radius:50%; font-family:var(--ff-display); font-weight:700; font-size:2.8rem; }
.team-photo--pending span { position:absolute; bottom:26px; font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.team-values { background:var(--black); color:rgba(255,255,255,.72); }
.team-values-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(38px,7vw,100px); margin-bottom:clamp(44px,6vw,72px); }
.team-values h2 { color:#fff; }
.team-values-head .lead { color:rgba(255,255,255,.72); }
.people-values-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid rgba(255,255,255,.13); }
.people-value { min-height:190px; padding:30px; border-right:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); }
.people-value:nth-child(4n) { border-right:0; }
.people-value:nth-last-child(-n+3) { border-bottom:0; }
.people-value strong { display:block; color:var(--gold); font-family:var(--ff-display); font-size:1.35rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; }
.people-value p { margin:0; font-size:13.5px; line-height:1.65; }
.life-placeholder { position:relative; overflow:hidden; background:#fff; }
.life-placeholder::before { content:""; position:absolute; left:0; top:0; bottom:0; width:clamp(10px,2vw,28px); background:var(--gold); }
.life-placeholder-inner { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(34px,7vw,100px); align-items:center; }
.life-placeholder h2 { margin-bottom:20px; }
.life-placeholder-panel { min-height:320px; display:grid; place-items:center; background:repeating-linear-gradient(135deg,#16191c,#16191c 20px,#1c2024 20px,#1c2024 40px); border:1px solid #292e32; padding:30px; text-align:center; color:rgba(255,255,255,.66); }
.life-placeholder-panel span { display:block; color:var(--gold); font-family:var(--ff-display); font-size:1.45rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.life-at-g2 { background:#eef1f2; overflow:hidden; }
.life-heading { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(42px,7vw,100px); align-items:start; margin-bottom:clamp(48px,7vw,86px); }
.life-heading-copy { border-left:3px solid var(--gold); padding-left:clamp(24px,3vw,40px); }
.life-heading-copy .lead { color:var(--black); margin-bottom:18px; }
.life-heading-copy > p:not(.lead):not(.life-event) { color:var(--text-muted); max-width:720px; }
.life-event { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:26px; padding-top:20px; border-top:1px solid #cdd3d6; color:var(--text-muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.life-event strong { color:var(--gold-deep); }
.life-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:clamp(150px,14vw,210px); gap:clamp(12px,1.5vw,22px); }
.life-tile { position:relative; overflow:hidden; grid-column:span 4; grid-row:span 2; min-width:0; margin:0; background:#171a1d; box-shadow:0 14px 34px rgba(15,19,22,.12); }
.life-tile--feature { grid-column:span 8; grid-row:span 3; }
.life-tile--wide { grid-column:span 7; }
.life-tile--portrait { grid-column:span 5; }
.life-tile img { width:100%; height:100%; object-fit:cover; transition:transform .75s var(--ease),filter .75s var(--ease); }
.life-tile:hover img { transform:scale(1.025); filter:saturate(.9); }
.life-tile::after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,rgba(7,8,9,.86)); pointer-events:none; }
.life-tile figcaption { position:absolute; z-index:1; left:clamp(18px,2.5vw,34px); right:clamp(18px,2.5vw,34px); bottom:clamp(18px,2.5vw,30px); color:rgba(255,255,255,.8); }
.life-tile figcaption strong { display:block; margin-bottom:5px; color:#fff; font-family:var(--ff-display); font-size:clamp(1.15rem,1.8vw,1.65rem); text-transform:uppercase; letter-spacing:.05em; }
.life-tile figcaption span { font-size:13px; line-height:1.55; }
.life-story { grid-column:span 4; grid-row:span 3; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; padding:clamp(34px,4.5vw,64px); color:rgba(255,255,255,.72); background:#101214; border-bottom:8px solid var(--gold); }
.life-story::before { content:""; position:absolute; width:180px; height:180px; right:-72px; top:-72px; border:1px solid rgba(237,168,0,.32); transform:rotate(45deg); }
.life-story h3 { color:#fff; font-size:clamp(2.2rem,3.5vw,3.7rem); line-height:1.03; margin:18px 0 26px; }
.life-story h3 span { color:var(--gold); }
.life-story p:last-child { margin:0; font-size:15px; line-height:1.8; }
.about-team-teaser { background:#101214; color:rgba(255,255,255,.72); }
.about-team-teaser-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:clamp(42px,7vw,90px); align-items:center; }
.about-team-teaser h2 { color:#fff; }
.about-team-teaser p { max-width:610px; }
.about-team-teaser-media { min-height:420px; position:relative; overflow:hidden; box-shadow:18px 18px 0 var(--gold); }
.about-team-teaser-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (max-width:1024px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-value:nth-child(2n){border-right:0}.people-value:nth-child(4n){border-right:0}.people-value:nth-last-child(-n+3){border-bottom:1px solid rgba(255,255,255,.13)}.people-value:last-child{border-bottom:0}.team-leader{grid-template-columns:minmax(300px,.85fr) 1.15fr}.about-team-teaser-grid{grid-template-columns:1fr 1fr}.life-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:260px}.life-tile,.life-tile--portrait{grid-column:span 1;grid-row:span 1}.life-tile--feature,.life-story,.life-tile--wide{grid-column:span 2;grid-row:span 2}}
@media (max-width:760px){.team-hero{min-height:calc(100svh - var(--header-h))}.team-hero-copy{width:100%;padding-block:80px}.team-hero::before{background:linear-gradient(180deg,rgba(8,9,10,.72),rgba(8,9,10,.9))}.team-intro-grid,.team-values-head,.life-placeholder-inner,.about-team-teaser-grid,.life-heading{grid-template-columns:1fr}.team-leader{grid-template-columns:1fr}.team-leader-photo{aspect-ratio:4/5}.team-grid{grid-template-columns:1fr}.people-values-grid{grid-template-columns:1fr}.people-value,.people-value:nth-child(2n),.people-value:nth-child(4n){border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.about-team-teaser-media{min-height:360px}.team-group-head{grid-template-columns:1fr;gap:8px}.team-group-head::after{grid-column:1}.life-heading-copy{border-left:0;border-top:3px solid var(--gold);padding:24px 0 0}.life-event{display:grid;gap:7px}.life-gallery{grid-template-columns:1fr;grid-auto-rows:auto}.life-tile,.life-tile--feature,.life-tile--wide,.life-tile--portrait,.life-story{grid-column:1;grid-row:auto}.life-tile{aspect-ratio:4/3}.life-tile--feature{aspect-ratio:4/3}.life-tile--portrait{aspect-ratio:4/5}.life-story{min-height:390px}.life-tile figcaption span{font-size:12px}}

/* G2 PATCH 2026-09-08 — Junia remains on About; remove duplicate leadership block from Meet the Team */
.team-page .team-group:has(.team-leader) {
  display: none !important;
}
.team-page .team-roster .team-group:first-of-type {
  margin-top: 0 !important;
}
