/* Two portraits in an open editorial composition. */
.nx-team-section { position: relative; padding: 80px 0 88px; background: #f5f8fd; font-family: "Manrope", sans-serif; }
.nx-team-section .nx-team-container { max-width: 1320px; padding-inline: 28px; }
.nx-team-panel { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.7fr); align-items: center; gap: 54px; overflow: hidden; padding: 72px 60px; border: 1px solid #243f65; border-radius: 32px; background: #081d3b; }
.nx-team-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 74% 40%,#214b814d,transparent 65%),linear-gradient(120deg,#06172f,#0d294d); }
.nx-team-panel::after { content: ""; position: absolute; z-index: -1; width: 650px; height: 650px; right: -260px; top: -400px; border: 1px solid #a4c4ff12; border-radius: 50%; box-shadow: 0 0 0 50px #a4c4ff04,0 0 0 100px #a4c4ff03; pointer-events: none; }
.nx-team-heading { position: relative; margin: 0; text-align: left; }
.nx-team-eyebrow { display: inline-flex; align-items: center; gap: 11px; color: #a9c3ed; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: .18em; }
.nx-team-eyebrow > span { width: 26px; height: 1px; background: #90b4ed; }
.nx-team-heading h2 { margin: 24px 0 0; color: #fff; font-family: inherit; font-size: clamp(38px,4.1vw,58px); font-weight: 800; line-height: 1.1; letter-spacing: -.05em; word-break: normal; }
.nx-team-heading h2 em { display: block; color: #a8bfff; font-style: normal; }
.nx-team-heading-line { display: block; width: 58px; height: 2px; margin-top: 30px; background: linear-gradient(90deg,#8db2f1,#8db2f100); transform-origin: left; }
.nx-team-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.nx-team-profile { position: relative; min-width: 0; text-align: center; }
.nx-team-stage { position: relative; overflow: hidden; width: min(100%,250px); aspect-ratio: 1; margin: 0 auto; padding: 15px; }
.nx-team-stage::before { content: ""; position: absolute; inset: 8px; border: 1px solid #b9d1fa2e; border-radius: 50%; }
.nx-team-orbit { position: absolute; inset: 4px; border: 1px dashed #a4c4ff2b; border-radius: 50%; pointer-events: none; }
.nx-team-orbit > span { position: absolute; top: -3px; left: calc(50% - 3px); width: 6px; height: 6px; border-radius: 50%; background: #bad1ff; box-shadow: 0 0 14px #a9caff99; }
.nx-team-portrait { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 50%; background: #31506d; }
.nx-team-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 17%; transition: transform 800ms cubic-bezier(.2,.7,.2,1); }
.nx-team-portrait-shade { position: absolute; inset: 0; background: linear-gradient(0deg,#071c3a26,transparent 55%); pointer-events: none; }
.nx-team-info { position: relative; margin-top: 24px; padding-top: 22px; }
.nx-team-info::before { content: ""; position: absolute; top: 0; left: calc(50% - 16px); width: 32px; height: 1px; background: #8baee16b; transition: width 500ms ease,left 500ms ease; }
.nx-team-info h3 { margin: 0 0 8px; color: #f4f7ff; font-family: inherit; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -.025em; word-break: normal; overflow-wrap: anywhere; }
.nx-team-info p { margin: 0; color: #a6bddc; font-size: 13px; line-height: 1.7; }
.nx-team-motion .nx-team-profile { opacity: 0; transform: translateY(35px); transition: opacity 850ms ease var(--team-delay),transform 1100ms cubic-bezier(.16,1,.3,1) var(--team-delay); }
.nx-team-motion .nx-team-profile.is-visible { opacity: 1; transform: none; }
.nx-team-motion .nx-team-profile.is-visible .nx-team-orbit { animation: nx-team-orbit 24s linear infinite; }
.nx-team-motion .nx-team-profile:nth-child(2).is-visible .nx-team-orbit { animation-direction: reverse; }
.nx-team-motion .nx-team-profile.is-visible img { animation: nx-team-portrait-enter 1400ms cubic-bezier(.16,1,.3,1) both; }
.nx-team-motion .nx-team-heading-line { transform: scaleX(.3); transition: transform 1100ms cubic-bezier(.16,1,.3,1); }
.nx-team-motion.is-visible .nx-team-heading-line { transform: scaleX(1); }
@keyframes nx-team-portrait-enter { from { transform: scale(1.15); } to { transform: scale(1); } }
@keyframes nx-team-orbit { to { transform: rotate(360deg); } }
@media (hover:hover) and (pointer:fine) {
 .nx-team-profile.is-visible:hover img { animation: none; transform: scale(1.07); }
 .nx-team-profile:hover .nx-team-info::before { width: 80px; left: calc(50% - 40px); }
 .nx-team-profile:hover .nx-team-stage::before { border-color: #b9d1fa80; }
}
@media (max-width:1199px) {
 .nx-team-panel { padding: 56px 36px; gap: 30px; grid-template-columns: minmax(0,.7fr) minmax(0,1.7fr); }
 .nx-team-grid { gap: 24px; }
 .nx-team-info h3 { font-size: 19px; }
}
@media (max-width:991px) {
 .nx-team-section { padding-block: 64px; }
 .nx-team-panel { grid-template-columns: minmax(0,1fr); gap: 40px; padding: 44px 36px; }
 .nx-team-heading { text-align: center; }
 .nx-team-heading h2 { font-size: 42px; margin-top: 17px; }
 .nx-team-heading h2 em { display: inline; }
 .nx-team-heading-line { margin: 23px auto 0; transform-origin: center; }
 .nx-team-grid { max-width: 600px; width: 100%; margin-inline: auto; gap: 34px; }
}
@media (max-width:575px) {
 .nx-team-section { padding-block: 48px; }
 .nx-team-section .nx-team-container { padding-inline: 20px; }
 .nx-team-panel { padding: 36px 24px 40px; border-radius: 26px; gap: 32px; }
 .nx-team-heading h2 { font-size: 34px; }
 .nx-team-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .nx-team-stage { width: min(100%,230px); }
 .nx-team-info { margin-top: 18px; padding-top: 18px; }
 .nx-team-info h3 { font-size: 21px; }
 .nx-team-profile + .nx-team-profile { padding-top: 32px; border-top: 1px solid #a9c7ef21; }
}
@media (prefers-reduced-motion:reduce) {
 .nx-team-section *, .nx-team-section *::before, .nx-team-section *::after { animation: none !important; transition: none !important; }
 .nx-team-motion .nx-team-profile { opacity: 1; transform: none; }
 .nx-team-motion .nx-team-heading-line { transform: none; }
}
