/* ============= 3D AVATAR (Three.js) =============
   Framed flush in its cell — no soft clipping, no glow. */

#avatarContainer {
    width: 100%;
    max-width: 260px;
    aspect-ratio: 1 / 1;
    position: relative;
    flex-shrink: 0;
    border: 1px solid rgba(243, 242, 242, 0.10);
    background:
        linear-gradient(to right, rgba(243, 242, 242, 0.06) 1px, transparent 1px) 0 0 / 50% 100%,
        #1b1917;
}

#avatarContainer::after {
    content: 'FIG. 01';
    position: absolute;
    left: 8px;
    bottom: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: #706b68;
}

#avatarContainer canvas {
    display: block;
    width: 100%;
    height: 100%;
    outline: none;
}

.hero-figure #avatarContainer { max-width: 320px; }
