/* Hero Graph Animation */
.hero-visual {
    position: relative;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.graph-container {
    width: 100%;
    height: 300px;
    position: relative;
    background: white;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    padding: var(--spacing-lg);
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    overflow: hidden;
}

.graph-bar {
    width: 15%;
    background: linear-gradient(to top, var(--color-primary), var(--color-secondary));
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    transform-origin: bottom;
    animation: growBar 1.5s ease-out forwards;
    opacity: 0.8;
}

.bar-1 {
    height: 40%;
    animation-delay: 0.2s;
}

.bar-2 {
    height: 65%;
    animation-delay: 0.4s;
}

.bar-3 {
    height: 85%;
    animation-delay: 0.6s;
}

.graph-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg width='400' height='300' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 20 250 Q 150 200 200 150 T 380 50' stroke='%23E67E22' stroke-width='4' fill='none' stroke-linecap='round' stroke-dasharray='1000' stroke-dashoffset='1000'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    animation: drawLine 2s ease-out forwards 0.8s;
    opacity: 0;
}

@keyframes growBar {
    from {
        transform: scaleY(0);
    }

    to {
        transform: scaleY(1);
    }
}

@keyframes drawLine {
    from {
        stroke-dashoffset: 1000;
        opacity: 1;
    }

    to {
        stroke-dashoffset: 0;
        opacity: 1;
    }
}

/* Feature/Service specific styles will go here */