/* ======================================== */
/*  ORG SPRITES                             */
/* ======================================== */
.org-sprite {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.org-sprite svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 4px 12px rgba(1, 0, 128, 0.1));
}

/* Animation for SVG elements */
@media (prefers-reduced-motion: no-preference) {
    /* Main building gentle float */
    .org-sprite svg .building {
        animation: buildingFloat 4s ease-in-out infinite;
        transform-origin: center bottom;
    }
    
    /* Side buildings alternate float */
    .org-sprite svg .side-building-left {
        animation: buildingFloat 5s ease-in-out infinite 0.5s;
        transform-origin: center bottom;
    }
    
    .org-sprite svg .side-building-right {
        animation: buildingFloat 4.5s ease-in-out infinite 1s;
        transform-origin: center bottom;
    }
    
    /* Sparkle animations */
    .org-sprite svg .sparkle-1 {
        animation: sparkleRotate 6s linear infinite;
        transform-origin: 30px 47px;
    }
    
    .org-sprite svg .sparkle-2 {
        animation: sparkleRotate 7s linear infinite reverse;
        transform-origin: 170px 52px;
    }
    
    .org-sprite svg .sparkle-3 {
        animation: sparkleRotate 5s linear infinite;
        transform-origin: 35px 135px;
    }
    
    .org-sprite svg .sparkle-4 {
        animation: sparkleRotate 6s linear infinite reverse;
        transform-origin: 165px 140px;
    }
    
    /* Team icons subtle bounce */
    .org-sprite svg .team-icons {
        animation: teamBounce 3s ease-in-out infinite;
    }
    
    /* Network lines pulse */
    .org-sprite svg .network-lines {
        animation: networkPulse 3s ease-in-out infinite;
    }
}

@keyframes buildingFloat {
    0%, 100% { 
        transform: translateY(0px); 
    }
    50% { 
        transform: translateY(-4px); 
    }
}

@keyframes sparkleRotate {
    0% { 
        transform: rotate(0deg) scale(1); 
    }
    50% { 
        transform: rotate(180deg) scale(1.1); 
    }
    100% { 
        transform: rotate(360deg) scale(1); 
    }
}

@keyframes teamBounce {
    0%, 100% { 
        transform: translateY(0px); 
    }
    50% { 
        transform: translateY(-2px); 
    }
}

@keyframes networkPulse {
    0%, 100% { 
        opacity: 0.2; 
    }
    50% { 
        opacity: 0.6; 
    }
}

/* Responsive sizing */
@media (min-width: 1024px) {
    .org-sprite {
        width: 140px;
        height: 140px;
    }
}

@media (max-width: 640px) {
    .org-sprite {
        width: 100px;
        height: 100px;
    }
}

@media (max-width: 480px) {
    .org-sprite {
        width: 80px;
        height: 80px;
    }
}

@media (max-width: 360px) {
    .org-sprite {
        width: 70px;
        height: 70px;
    }
}

/* Size Variations - Optional modifiers */
.org-sprite--small {
    width: 80px;
    height: 80px;
}

.org-sprite--medium {
    width: 120px;
    height: 120px;
}

.org-sprite--large {
    width: 180px;
    height: 180px;
}

.org-sprite--xlarge {
    width: 240px;
    height: 240px;
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .org-sprite svg .building,
    .org-sprite svg .side-building-left,
    .org-sprite svg .side-building-right,
    .org-sprite svg .sparkle-1,
    .org-sprite svg .sparkle-2,
    .org-sprite svg .sparkle-3,
    .org-sprite svg .sparkle-4,
    .org-sprite svg .team-icons,
    .org-sprite svg .network-lines {
        animation: none;
    }
    
    .org-sprite svg [animate] {
        animation: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .org-sprite svg {
        filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
    }
    
    .org-sprite svg .building,
    .org-sprite svg .side-building-left,
    .org-sprite svg .side-building-right {
        opacity: 1 !important;
    }
}

/* Print styles */
@media print {
    .org-sprite svg .building,
    .org-sprite svg .side-building-left,
    .org-sprite svg .side-building-right,
    .org-sprite svg .sparkle-1,
    .org-sprite svg .sparkle-2,
    .org-sprite svg .sparkle-3,
    .org-sprite svg .sparkle-4,
    .org-sprite svg .team-icons,
    .org-sprite svg .network-lines {
        animation: none;
    }
}