/* Person profile pages and the team overview */
.pf-hero{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding:72px 0 56px;border-bottom:1px solid var(--l)}
.pf-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:1px solid #2c2c2c;background:#1b1b1b;display:block}
.pf-hero h1{margin:14px 0 0;font-size:clamp(48px,7vw,88px);line-height:.95}
.pf-hero h1 .full{display:block;margin-top:12px;font-size:clamp(18px,2.2vw,24px);font-weight:500;color:var(--m);letter-spacing:0;line-height:1.3}
.pf-role{margin:18px 0 0;font-size:clamp(17px,2vw,20px);font-weight:700;color:var(--t)}
.pf-value{margin:12px 0 0;max-width:600px;font-size:clamp(16px,1.9vw,19px);line-height:1.55;color:#d4d4d4}
.pf-meta{margin:14px 0 0;font:12px 'DM Mono';color:var(--m)}
.pf-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pf-links a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #3a3a3a;text-decoration:none;font-weight:700;font-size:14px}
.pf-links a:first-child{background:#fff;color:#101010;border-color:#fff}
.pf-links a:hover{border-color:var(--t)}.pf-links a:first-child:hover{background:#dcdcdc}
.pf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--l)}
.pf-stats div{padding:26px 20px;border-left:1px solid var(--l)}.pf-stats div:first-child{border-left:0;padding-left:0}
.pf-stats b{display:block;font-size:clamp(28px,3.4vw,40px);line-height:1}
.pf-stats span{display:block;margin-top:10px;font:12px/1.45 'DM Mono';color:var(--m)}
.pf-sec{padding:72px 0 0}
.pf-sec>h2{font-size:clamp(26px,3.4vw,38px);margin:10px 0 0}
.pf-about{max-width:780px;margin:18px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.65;color:#dcdcdc}
/* Timeline: dates in a left column, roles on the right */
.tl{list-style:none;margin:30px 0 0;padding:0}
.tl li{display:grid;grid-template-columns:170px 28px minmax(0,1fr);gap:0 18px}
.tl .d{padding-top:2px;font:13px/1.5 'DM Mono';color:var(--t);text-align:right}
.tl .d small{display:block;color:var(--m);font-size:11px}
.tl .rail{position:relative}
.tl .rail::before{content:'';position:absolute;left:13px;top:0;bottom:0;width:2px;background:#2c2c2c}
.tl li:first-child .rail::before{top:8px}.tl li:last-child .rail::before{bottom:auto;height:8px}
.tl .rail::after{content:'';position:absolute;left:7px;top:4px;width:14px;height:14px;border-radius:50%;background:#101010;border:2px solid #8fb0ff}
.tl li.now .rail::after{background:#8fb0ff;box-shadow:0 0 0 5px rgba(143,176,255,.18)}
.tl .c{padding-bottom:38px}
.tl h3{margin:0;font-size:19px;line-height:1.3}
.tl .org{margin:4px 0 0;color:var(--m);font-size:14px}
.tl ul{margin:12px 0 0;padding-left:18px}.tl ul li{display:list-item;color:var(--s);font-size:15px;line-height:1.65}
.tl li.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}.tl li.reveal.in{opacity:1;transform:none}
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.pf-cards>a,.pf-cards>div{display:block;padding:20px;border:1px solid var(--l);background:var(--c);text-decoration:none}
.pf-cards>a:hover{border-color:#5a5a5a}
.pf-cards b{display:block;font-size:17px;line-height:1.3}
.pf-cards span{display:block;margin-top:6px;font:11px/1.5 'DM Mono';color:var(--m)}
.pf-cards p{margin:10px 0 0;font-size:14.5px;line-height:1.6}
.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px)}
.pf-two .pf-sec{padding-top:72px}
.pf-list{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--l)}
.pf-list li{padding:14px 0;border-bottom:1px solid var(--l)}
.pf-list b{display:block;font-size:15px;line-height:1.4}
.pf-list span{display:block;margin-top:4px;font:11px/1.5 'DM Mono';color:var(--m)}
.pf-list p{margin:6px 0 0;font-size:14px;line-height:1.55}
.pf-skills{display:grid;gap:18px;margin-top:22px}
.pf-skills h3{margin:0 0 8px;font-size:14px}
.pf-next{display:flex;align-items:center;gap:18px;margin-top:72px;padding:22px;border:1px solid var(--l);background:var(--c);text-decoration:none}
.pf-next img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.pf-next small{display:block;font:11px 'DM Mono';color:var(--m)}.pf-next b{display:block;margin-top:4px;font-size:18px}
.pf-next span{margin-left:auto;font:13px 'DM Mono';color:var(--t)}
.pf-next:hover{border-color:#5a5a5a}
/* Team overview */
.team-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.team-card{display:flex;flex-direction:column;border:1px solid var(--l);background:var(--c);text-decoration:none;overflow:hidden;transition:border-color .15s}
.team-card:hover{border-color:#5a5a5a}
.team-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 25%;display:block}
.team-card .body{padding:24px;display:flex;flex-direction:column;flex:1}
.team-card h2{margin:0;font-size:clamp(26px,3vw,34px)}
.team-card h2 small{display:block;margin-top:6px;font-size:14px;font-weight:500;color:var(--m)}
.team-card .role{margin:12px 0 0;font-weight:700}
.team-card p{margin:10px 0 0;font-size:15px;line-height:1.6}
.team-card ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.team-card ul li{position:relative;padding-left:18px;color:var(--s);font-size:14.5px;line-height:1.5}
.team-card ul li::before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:#8fb0ff}
.team-card .go{margin-top:auto;padding-top:20px;font:13px 'DM Mono';color:var(--t)}
@media(max-width:900px){
 .pf-hero{grid-template-columns:minmax(0,1fr);padding:48px 0 40px}.pf-photo{max-width:320px}
 .pf-stats{grid-template-columns:1fr 1fr}.pf-stats div:nth-child(3){border-left:0;padding-left:0}.pf-stats div:nth-child(n+3){border-top:1px solid var(--l)}
 .pf-cards,.pf-two,.team-cards{grid-template-columns:minmax(0,1fr)}.pf-two .pf-sec{padding-top:56px}}
@media(max-width:700px){
 .pf-sec{padding-top:56px}
 .tl li{grid-template-columns:22px minmax(0,1fr);gap:0 14px}
 .tl .d{grid-column:2;grid-row:1;text-align:left;margin-bottom:6px}.tl .d small{display:inline;margin-left:8px}
 .tl .rail{grid-column:1;grid-row:1/3}.tl .rail::before{left:9px}.tl .rail::after{left:3px}
 .tl .c{grid-column:2}
 .pf-next{flex-wrap:wrap}.pf-next span{margin-left:0}}
@media(prefers-reduced-motion:reduce){.tl li.reveal{opacity:1;transform:none;transition:none}}
.pf-stats,.pf-list{background:rgba(16,16,16,.72)}
.pf-stats div:first-child{padding-left:20px}.pf-list li{padding-left:16px;padding-right:16px}
@media(max-width:900px){.pf-stats div:nth-child(3){padding-left:20px}}
