/* =========================
   TEAM PAGE - STAGING CARDS
========================= */
.team-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: 1vw;
    padding-right: 1vw;
    padding-bottom: 0;
}

.team-bubble-page {
    padding-top: 8px;
}

body[data-page="team"] .site-header {
    padding-top: 10px;
}

body[data-page="team"] .brand-banner {
    display: none;
}

body[data-page="team"] .topbar {
    margin-top: 0;
    width: calc(100% - 2vw);
    max-width: none;
}

body[data-page="team"] .site-footer {
    display: none;
}

.team-bubble-hero {
    display: none;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
    padding: 6px 0 0;
}

.team-bubble-hero .eyebrow,
.team-bubble-hero h1,
.team-bubble-hero p:last-child {
    display: none;
}

.team-bubble-hero h1 {
    margin: 0;
    color: #fff;
    font-size: 52px;
    line-height: 1.08;
    text-shadow: 0 0 26px rgba(53,255,138,0.18);
}

.team-bubble-hero p:last-child {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 16px;
}

.team-live-indicator {
    min-height: 36px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(53,255,138,0.24);
    border-radius: 999px;
    background: rgba(53,255,138,0.08);
    color: rgba(242,242,242,0.82);
    font-size: 12px;
    font-weight: bold;
}

.team-live-indicator.is-fallback {
    border-color: rgba(255,176,0,0.32);
    background: rgba(255,176,0,0.08);
}

.team-bubble-shell {
    padding: 0;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 10% 18%, rgba(53,255,138,0.10), transparent 28%),
        radial-gradient(circle at 84% 12%, rgba(192,108,255,0.11), transparent 28%),
        radial-gradient(circle at 50% 100%, rgba(31,241,255,0.08), transparent 34%);
    box-shadow: none;
}

.team-filter-row {
    display: none;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 14px;
}

.team-filter-button {
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.045);
    color: var(--muted);
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
}

.team-filter-button.active,
.team-filter-button:hover {
    color: var(--team-color, var(--green));
    border-color: color-mix(in srgb, var(--team-color, var(--green)) 45%, transparent);
    background: color-mix(in srgb, var(--team-color, var(--green)) 12%, transparent);
}

.team-bubble-stage {
    position: relative;
    min-height: max(900px, calc(100vh - 104px));
    display: block;
    border-radius: 0;
    background:
        linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.014) 1px, transparent 1px),
        radial-gradient(ellipse at 50% 42%, rgba(31,241,255,0.045), transparent 46%),
        radial-gradient(ellipse at 48% 78%, rgba(192,108,255,0.045), transparent 50%);
    background-size: 62px 62px, 62px 62px, 100% 100%, 100% 100%;
}

.team-position-zone {
    display: contents;
}

.team-position-zone::before {
    display: none;
}

.team-position-zone h2 {
    display: none;
}

.team-position-members {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 2px;
    padding-top: 18px;
}

.team-position-zone[data-team-area="leadership"] {
    grid-column: 1 / 2;
}

.team-position-zone[data-team-area="management"] {
    grid-column: 2 / 3;
    padding-top: 48px;
}

.team-position-zone[data-team-area="events"] {
    grid-column: 1 / -1;
    padding-top: 0;
    min-height: 330px;
}

.team-position-zone[data-team-area="events"] .team-position-members {
    justify-content: space-around;
    padding-inline: 16px;
}

.team-bubble-loading,
.team-bubble-empty {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--muted);
    font-weight: bold;
}

.team-member-card {
    --team-color: var(--green);
    --team-color-2: var(--glow-accent);
    --stage-x: 50%;
    --stage-y: 50%;
    --chaos-r: 0deg;
    --chaos-scale: 1;
    --chaos-z: 1;
    position: absolute;
    left: var(--stage-x);
    top: var(--stage-y);
    width: clamp(184px, 17vw, 288px);
    min-height: 256px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 2px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    appearance: none;
    font: inherit;
    color: var(--text);
    text-align: center;
    cursor: pointer;
    user-select: none;
    z-index: var(--chaos-z);
    transform: translate3d(-50%, -50%, 0) rotate(var(--chaos-r)) scale(var(--chaos-scale));
    transform-origin: 50% 78%;
    animation: teamCardFloat var(--duration) ease-in-out var(--delay) infinite alternate;
    transition: opacity 0.22s, filter 0.22s, transform 0.22s, border-color 0.22s, box-shadow 0.22s;
}

.team-member-card::before {
    content: "";
    position: absolute;
    inset: auto 12px 33px;
    height: 34px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0,0,0,0.36), transparent 68%);
    filter: blur(2px);
    pointer-events: none;
}

.team-member-card::after {
    display: none;
}

.team-member-card:hover,
.team-member-card.is-focused {
    z-index: 20;
    animation-play-state: paused;
    transform: translate3d(-50%, calc(-50% - 10px), 0) rotate(var(--chaos-r)) scale(calc(var(--chaos-scale) * 1.05));
    box-shadow:
        0 0 34px color-mix(in srgb, var(--team-color) 22%, transparent);
}

.team-member-card.is-dimmed {
    opacity: 0.34;
    filter: saturate(0.45);
}

.team-member-art-wrap {
    position: relative;
    z-index: 1;
    min-height: 206px;
    display: flex;
    align-items: end;
    justify-content: center;
}

.team-member-art {
    display: block;
    width: min(100%, 270px);
    max-height: 248px;
    object-fit: contain;
    filter: drop-shadow(0 18px 20px rgba(0,0,0,0.32));
    transform-origin: 50% 100%;
}

.team-member-card:hover .team-member-art,
.team-member-card.is-focused .team-member-art {
    transform: scale(1.03);
}

.team-member-card[data-team-key="hanzo"] .team-member-art-wrap::before {
    content: "";
    position: absolute;
    inset: 0 2% 18%;
    border-radius: 28px;
    background:
        radial-gradient(ellipse at 28% 22%, rgba(255,255,255,0.88), rgba(255,255,255,0.46) 34%, transparent 63%),
        radial-gradient(ellipse at 70% 38%, rgba(31,241,255,0.16), transparent 62%);
    filter: blur(7px);
    opacity: 0.9;
    pointer-events: none;
}

.team-member-card[data-team-key="hanzo"] .team-member-art {
    filter:
        drop-shadow(0 0 10px rgba(255,255,255,0.68))
        drop-shadow(0 18px 20px rgba(0,0,0,0.32));
}

.team-member-card[data-team-key="vilu"] .team-member-art-wrap::before,
.team-member-card[data-team-key="vilulala"] .team-member-art-wrap::before {
    content: "";
    position: absolute;
    inset: 2% 38% 34% 0;
    border-radius: 999px;
    background:
        radial-gradient(ellipse at 34% 36%, rgba(255,255,255,0.86), rgba(255,255,255,0.46) 36%, transparent 68%),
        radial-gradient(ellipse at 50% 60%, rgba(53,255,138,0.16), transparent 66%);
    filter: blur(8px);
    opacity: 0.92;
    pointer-events: none;
}

.team-member-card[data-team-key="vilu"] .team-member-art,
.team-member-card[data-team-key="vilulala"] .team-member-art {
    filter:
        drop-shadow(0 0 9px rgba(255,255,255,0.58))
        drop-shadow(0 18px 20px rgba(0,0,0,0.32));
}

.team-member-card[data-team-key="tuvu"] .team-member-art-wrap::before {
    content: "";
    position: absolute;
    inset: 0 18% 56% 22%;
    border-radius: 999px;
    background:
        radial-gradient(circle at 32% 64%, rgba(255,255,255,0.78) 0 9%, transparent 14%),
        radial-gradient(circle at 43% 44%, rgba(255,255,255,0.82) 0 12%, transparent 18%),
        radial-gradient(circle at 57% 34%, rgba(255,255,255,0.76) 0 15%, transparent 22%),
        radial-gradient(circle at 70% 48%, rgba(255,255,255,0.58) 0 11%, transparent 17%),
        radial-gradient(ellipse at 52% 48%, rgba(255,255,255,0.34), rgba(255,255,255,0.16) 38%, transparent 72%);
    filter: blur(6px);
    opacity: 0.82;
    pointer-events: none;
}

.team-member-card[data-team-key="tuvu"] .team-member-art {
    filter:
        drop-shadow(0 0 8px rgba(255,255,255,0.48))
        drop-shadow(0 18px 20px rgba(0,0,0,0.32));
}

.team-member-card[data-team-key="lana"] .team-member-art,
.team-member-card[data-team-key="lanam"] .team-member-art,
.team-member-card[data-team-key="sergey"] .team-member-art {
    border-radius: 16px;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--team-color) 24%, transparent);
}

.team-member-card[data-team-key="lana"] .team-member-art,
.team-member-card[data-team-key="lanam"] .team-member-art {
    max-height: 232px;
}

.team-member-card[data-team-key="sergey"] .team-member-art {
    max-height: 224px;
}

.team-member-fallback-name {
    display: grid;
    place-items: center;
    width: min(100%, 170px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--team-color) 42%, transparent);
    background: color-mix(in srgb, var(--team-color) 13%, rgba(5,8,22,0.84));
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    overflow-wrap: anywhere;
    padding: 18px;
}

.team-member-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 4px;
    justify-self: center;
    min-width: 0;
    max-width: 86%;
    padding: 6px 10px;
    border: 1px solid color-mix(in srgb, var(--team-color) 22%, transparent);
    border-radius: 999px;
    background: rgba(6,8,18,0.54);
    backdrop-filter: blur(8px);
}

.team-member-area,
.team-member-role {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 9px;
    font-weight: 900;
}

.team-member-area {
    display: none;
}

.team-member-name {
    color: #fff;
    font-size: 20px;
    line-height: 1.04;
    font-weight: 900;
    overflow-wrap: anywhere;
    text-shadow: 0 0 16px rgba(0,0,0,0.38);
}

.team-member-role {
    color: rgba(242,242,242,0.78);
}

@keyframes teamCardFloat {
    0% {
        translate: 0 0;
    }
    100% {
        translate: 0 -8px;
    }
}

.team-area-strip {
    display: none;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.team-area-card {
    min-height: 92px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--team-color) 28%, transparent);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--team-color) 16%, transparent), transparent 46%),
        rgba(21,21,21,0.72);
}

.team-area-card span,
.team-area-card strong {
    display: block;
}

.team-area-card span {
    color: color-mix(in srgb, var(--team-color) 82%, white 18%);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.team-area-card strong {
    margin-top: 8px;
    color: var(--text);
    font-size: 26px;
}

