@layer components {
    .hero {
        position: relative;
        min-height: 90vh;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        background-color: var(--clr-slate-950);
        padding-top: 5rem; /* pt-20 */

        & .hero__glow {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 1000px;
            height: 700px;
            background-color: color-mix(in srgb, var(--color-primary), transparent 90%);
            border-radius: var(--radius-full);
            filter: blur(140px);
            pointer-events: none;
        }

        & .hero__container {
            position: relative;
            z-index: 10;
            text-align: center;
            padding-inline: var(--space-md);
        }

        & .hero__badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1rem;
            border-radius: var(--radius-full);
            background-color: color-mix(in srgb, var(--clr-slate-900), transparent 50%);
            border: var(--border-thin) solid color-mix(in srgb, var(--color-primary), transparent 80%);
            margin-bottom: 2rem;
            backdrop-filter: blur(4px);
        }

        & .hero__badge-icon {
            width: 1rem;
            height: 1rem;
            color: var(--color-primary);
        }

        & .hero__badge-text {
            color: var(--color-primary-hover);
            font-size: var(--text-xs);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        & .hero__title {
            font-size: clamp(2.5rem, 8vw, 4.5rem); /* text-5xl md:text-7xl */
            font-weight: 800;
            color: var(--color-white);
            margin-bottom: 1.5rem;
            line-height: 1.1;

            & .hero__title-accent {
                color: var(--color-primary);
            }
        }

        & .hero__subtitle {
            font-size: clamp(1.125rem, 3vw, 1.5rem); /* text-xl md:text-2xl */
            color: var(--clr-slate-300);
            max-width: 42rem; /* max-w-2xl */
            margin-inline: auto;
            margin-bottom: 2.5rem;
            line-height: 1.625;
        }

        & .hero__actions {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
        }

        & .hero__main-cta {
            --button-shadow: var(--shadow-red);
            font-size: var(--text-2xl);
            font-weight: 900;
            padding: 1.5rem 3rem;
            border-radius: var(--radius-2xl);
            transition: transform 0.2s ease, box-shadow 0.2s ease;

            &:hover {
                transform: scale(1.05);
            }

            &:active {
                transform: scale(0.95);
            }
        }

        & .hero__action-hint {
            font-size: var(--text-sm);
            color: var(--clr-slate-500);
        }

        & .hero__ebook {
            margin-top: 4rem;
            margin-bottom: 2rem;
            max-width: 20rem;
            margin-inline: auto;
            perspective: 1000px;
        }

        & .hero__ebook-link {
            display: block;
            position: relative;
            transition: transform 0.3s ease;
            transform-style: preserve-3d;

            &:hover {
                transform: scale(1.05) rotate(-1deg);

                & .hero__ebook-glow {
                    opacity: 1;
                }

                & .hero__ebook-overlay {
                    opacity: 1;
                    transform: translate(-50%, 0);
                }
            }
        }

        & .hero__ebook-glow {
            position: absolute;
            inset: -1rem;
            background-color: color-mix(in srgb, var(--color-primary), transparent 80%);
            border-radius: var(--radius-full);
            filter: blur(24px);
            opacity: 0;
            transition: opacity 0.5s ease;
            pointer-events: none;
        }

        & .hero__ebook-img {
            width: 100%;
            height: auto;
            border-radius: var(--radius-lg);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            border: var(--border-thin) solid color-mix(in srgb, var(--clr-slate-800), transparent 50%);
            position: relative;
            z-index: 1;
        }

        & .hero__ebook-overlay {
            position: absolute;
            bottom: 1.5rem;
            left: 50%;
            transform: translate(-50%, 0.5rem);
            z-index: 2;
            opacity: 0;
            transition: all 0.3s ease;
        }

        & .hero__ebook-badge {
            background-color: color-mix(in srgb, var(--clr-slate-950), transparent 10%);
            backdrop-filter: blur(4px);
            border: var(--border-thin) solid color-mix(in srgb, var(--color-primary), transparent 70%);
            color: var(--color-primary-hover);
            padding: 0.5rem 1rem;
            border-radius: var(--radius-full);
            font-size: var(--text-xs);
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            white-space: nowrap;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }
    }
}
