.hero-portrait {
    padding: 20px;
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 450px;
}

.hero-portrait .pic {
    width: 300px;
    height: 300px;
    object-fit: cover;
    border: 4px solid var(--bs-primary);
    transition: all 0.3s ease;
    margin: 0 auto;
}

.hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 450px;
}

.small-circle {
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--bs-primary);
    border-radius: 50%;
    z-index: 1;
}

.small-circle-1 {
    top: 30%;
    left: 15%;
    animation: float 3s ease-in-out infinite;
}

.small-circle-2 {
    top: 50%;
    left: 10%;
    animation: float 3s ease-in-out infinite 0.5s;
}

.small-circle-3 {
    bottom: 30%;
    left: 18%;
    animation: float 3s ease-in-out infinite 1s;
}

@keyframes float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

@media (max-width: 991px) {
    .hero-portrait, .hero-content {
        min-height: auto;
        padding: 30px 0;
    }
    
    .hero-portrait .pic {
        width: 250px;
        height: 250px;
    }
}
