.beam-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.beam-content {
    display: flex;
    width: 100%;
    max-width: 525px;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
}

.beam-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.beam-left-column {
    gap: 15px;
}

.beam-center-column {
    justify-content: center;
}

.beam-right-column {
    justify-content: center;
}

.beam-circle {
    z-index: 10;
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #e5e7eb;
    background-color: white;
    padding: 12px;
    box-shadow: 0 0 20px -12px rgba(0, 0, 0, 0.8);
}

.beam-circle svg {
    width: 100%;
    height: 100%;
}

.beam-circle-large {
    width: 72px;
    height: 72px;
}

.beams-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}

.beam-path {
    fill: none;
    stroke: gray;
    stroke-width: 2;
    stroke-opacity: 0.2;
}

.beam-gradient {
    fill: none;
    stroke-width: 2;
}

@keyframes beam-dash {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes beam-dash-reverse {
    from {
        stroke-dashoffset: 0;
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .beam-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}