@layer components {
    .hero {
        position: relative;
        min-height: 100vh;
        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: 800px;
            height: 600px;
            background-color: color-mix(in srgb, var(--color-primary), transparent 90%);
            border-radius: var(--radius-full);
            filter: blur(120px);
            pointer-events: none;
        }

        & .hero__container {
            position: relative;
            z-index: 10;
            text-align: center;
        }

        & .hero__logo-wrapper {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 2.5rem; /* mb-10 */
        }

        & .hero__logo {
            height: 2rem;
            width: auto;
            opacity: 0.9;
        }

        & .hero__title {
            font-size: clamp(3rem, 10vw, 4.5rem); /* 5xl to 7xl approx */
            font-weight: 700;
            color: var(--color-white);
            margin-bottom: 1.5rem;
            line-height: 1.1;
            letter-spacing: -0.025em;

            & .hero__title-accent {
                color: transparent;
                background-clip: text;
                -webkit-background-clip: text;
                background-image: linear-gradient(to right, var(--clr-mint-400), var(--clr-mint-600));
            }
        }

        & .hero__description {
            font-size: clamp(1.125rem, 3vw, 1.5rem); /* text-xl to 2xl */
            color: var(--color-text-muted);
            max-width: 48rem; /* max-w-3xl */
            margin-inline: auto;
            margin-bottom: 2.5rem;
            line-height: 1.625;

            & strong {
                color: var(--color-white);
            }
        }

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

            @media (min-width: 640px) {
                flex-direction: row;
            }
        }

        & .hero__btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 1rem 2rem;
            border-radius: var(--radius-md);
            font-weight: 700;
            transition: all 0.2s ease;
            cursor: pointer;
            text-decoration: none;
            border: var(--border-thin) solid transparent;

            &--primary {
                background-color: var(--color-primary);
                color: var(--clr-slate-900);
                box-shadow: 0 10px 15px -3px color-mix(in srgb, var(--color-primary), transparent 80%);

                &:hover {
                    background-color: var(--color-primary-hover);
                }
            }

            &--secondary {
                background-color: var(--clr-slate-800);
                color: var(--clr-slate-200);
                border-color: var(--clr-slate-700);

                &:hover {
                    background-color: var(--clr-slate-700);
                }
            }
        }
    }
}
