@layer components {
    .hero {
        padding: var(--section-padding);
        background: var(--color-primary);
        color: var(--color-on-primary);
        border-bottom: 1px solid var(--color-border);
        overflow: hidden;
        position: relative;

        & .hero__bg-image {
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            opacity: 0.15;

            & img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                filter: grayscale(1) brightness(0.8);
            }
        }

        [data-theme="dark"] & {
            background: var(--color-surface-variant);
            color: var(--color-on-surface);
        }

        & .hero__inner {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: center;
            gap: 4rem;

            @media (max-width: 1024px) {
                gap: 2rem;
            }

            @media (max-width: 768px) {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 3rem;
            }
        }

        & .hero__title {
            font-size: 3.5rem;
            margin-bottom: 1.5rem;
            color: currentColor;

            @media (max-width: 1024px) {
                font-size: 2.8rem;
            }

            @media (max-width: 768px) {
                font-size: 2.5rem;
            }

            @media (max-width: 480px) {
                font-size: 2rem;
            }
        }

        & .hero__description {
            font-size: 1.25rem;
            color: currentColor;
            opacity: 0.9;
            margin-bottom: 2rem;
            font-weight: 500;
            line-height: 1.6;
        }

        & .hero__cta {
            /* Redundant styles removed, handled by UI:Button */
        }

        & .hero__visual {
            position: relative;
            perspective: 1000px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
}
