/* The team page */
.profile{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;scroll-margin-top:calc(var(--nav-h) + 70px)}
.profile+.profile{margin-top:clamp(56px,7vw,96px)}
.profile--flip .profile-media{order:2}
.profile-media{position:relative;padding:28px 0 0 28px}
.profile--flip .profile-media{padding:28px 28px 0 0}
.profile-screen{width:100%;filter:drop-shadow(0 22px 34px rgba(52,38,20,.18))}
.profile-screen--phone{width:52%;margin-left:12%;border-radius:28px}
.profile-pose{position:absolute;bottom:-6%;right:-4%;height:84%;width:auto;filter:drop-shadow(0 20px 28px rgba(52,38,20,.28))}
.profile--flip .profile-pose{right:auto;left:-4%}
.profile-media::before{content:"";position:absolute;inset:0 18% 18% 0;border-radius:var(--r-xl);background:radial-gradient(ellipse at 30% 30%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%);z-index:-1}
.profile-role{margin:0 0 8px;font:700 var(--fs-micro)/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 75%,#4a3a2a)}
.profile .title{letter-spacing:.04em}
.profile .checks{margin-top:22px;color:#3d373e}
.handoff{margin:22px 0 18px;padding:12px 16px;border-radius:14px;background:rgba(21,19,24,.04);font-size:.86rem;color:var(--ink-muted)}
.handoff span{font-weight:700;color:var(--ink);margin-right:4px}
.handoff b{color:color-mix(in srgb,var(--c) 80%,#222)}

.mission-box{max-width:980px;margin:0 auto}
.mission-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px}
.mission-tabs button{height:42px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:transparent;font-size:.9rem;color:#d6cec1;transition:all var(--d1)}
.mission-tabs button:hover{border-color:rgba(238,215,159,.5)}
.mission-tabs button[aria-selected=true]{background:var(--text);color:var(--ink);border-color:var(--text)}
.mission{padding:clamp(20px,3vw,32px);border-radius:var(--r-xl);border:1px solid var(--line);background:var(--panel)}
.mission:not([hidden]){animation:memIn .5s var(--ease-out)}
@keyframes memIn{from{opacity:0;transform:translateY(8px)}}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.chain li{position:relative;display:grid;gap:8px;justify-items:start;padding:18px;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(255,255,255,.02)}
.chain li+li::before{content:"→";position:absolute;left:-14px;top:50%;translate:-50% -50%;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid var(--line-2);font-size:.8rem;color:var(--gold-2);z-index:1}
.chain b{font-size:.74rem;letter-spacing:.16em;color:var(--c)}
.chain span{font-size:.92rem;line-height:1.5;color:#d6cec1}

.shared-brain{width:min(460px,90%);margin:0 auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.5))}
.shared-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.shared-cols h3{font:700 .9rem/1.3 var(--sans);margin-bottom:12px;color:var(--gold-2)}
.shared-cols .checks{font-size:.92rem;color:#d6cec1}

@media (max-width:960px){
  .profile{grid-template-columns:1fr}
  .profile--flip .profile-media{order:0;padding:28px 0 0 28px}
  .profile--flip .profile-pose{left:auto;right:0}
  .profile-pose{height:70%;right:0}
}
@media (max-width:640px){
  .chain{grid-template-columns:1fr}
  .chain li+li::before{left:50%;top:-7px;content:"↓"}
  .shared-cols{grid-template-columns:1fr}
  .profile-media{padding:16px 0 0 0!important}
  .profile-pose{height:62%;right:0!important}
  .mission-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .mission-tabs button{flex:none}
}
.profiles{overflow-x:clip}
/* v4: hero stage + scene profiles */
.page-hero .team-stage{align-self:end;padding-top:20px}
.page-hero .team-stage .stage-row{--h:min(380px,30vw)}
.profile-scene{width:100%}
.profile--flip .profile-scene{order:2}
.profile--flip .profile-scene .scene-agent{left:auto;right:4%}
.profile--flip .profile-scene .scene-ui{right:auto;left:5%;transform:perspective(1400px) rotateY(8deg) rotateX(2deg);transform-origin:left center}
.profile--flip .profile-scene .scene-tag{left:auto;right:18px}
@media (max-width:960px){
  .page-hero .team-stage .stage-row{--h:min(340px,44vw)}
  .profile--flip .profile-scene{order:0}
}
@media (max-width:640px){.shared-brain{width:min(240px,70%)}}

/* v6: harmonised scenes. IRIS's screen is cropped to the phone and her reply, so it reads at the same size as the others;
   her bust gets the same visual head size. One column below 960px: the scene stays a readable size instead of filling the window. */
.scene-ui--iris{aspect-ratio:800/652;object-fit:cover;object-position:100% 50%;width:56%;right:0;top:8%}
.profile-scene[style*="--iris"] .scene-agent{height:94%;left:1%}
@media (max-width:960px){
  .profile-scene{max-width:600px;margin-inline:auto}
  .profile{justify-items:stretch}
  .profile-copy{max-width:600px;margin-inline:auto;width:100%}
}
@media (min-width:1600px){.profiles .wrap{width:min(1320px,calc(100vw - 96px))}}
@media (max-width:960px){.shared-brain{width:min(300px,60%)}}
