.el146-hero {
    --el146-active-image: var(--el146-image-desktop, none);
    --el146-active-position: var(--el146-position-desktop, left center);
    --el146-surface: var(--amin-color-surface, var(--bs-body-bg));
    --el146-on-dark: var(--amin-color-text-on-dark, var(--bs-white));
    --el146-dark: var(--amin-color-neutral-950, var(--bs-dark));
    --el146-accent: var(--element-accent, var(--amin-color-primary, var(--bs-primary)));
    position: relative;
    isolation: isolate;
    display: grid;
    min-block-size: clamp(420px, 37vw, 600px);
    overflow: hidden;
    background-color: var(--el146-dark);
    background-image: var(--el146-active-image);
    background-repeat: no-repeat;
    background-position: var(--el146-active-position);
    background-size: cover;
    color: var(--el146-on-dark);
}

.el146-hero *,
.el146-hero *::before,
.el146-hero *::after {
    box-sizing: border-box;
}

.el146-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, var(--el146-dark) 0%, color-mix(in srgb, var(--el146-dark) 78%, transparent) 42%, transparent 72%);
}

.el146-hero__container {
    display: flex;
    align-items: center;
    inline-size: 100%;
    min-block-size: inherit;
}

.el146-hero__content {
    inline-size: min(40%, 470px);
    margin-inline-start: auto;
    padding-block: clamp(44px, 6vw, 88px);
    text-align: start;
}

.el146-hero__title {
    max-inline-size: 20ch;
    margin: 0;
    color: var(--el146-on-dark);
    font-size: clamp(1.85rem, 2.6vw, 2.75rem);
    font-weight: 850;
    line-height: 1.3;
    text-wrap: balance;
}

.el146-hero__lead {
    margin-block-start: 1rem;
    color: color-mix(in srgb, var(--el146-on-dark) 80%, transparent);
    font-size: clamp(.95rem, 1.1vw, 1.15rem);
    font-weight: 650;
    line-height: 1.8;
}

.el146-hero__description {
    max-inline-size: 54ch;
    margin-block-start: 1.35rem;
    color: color-mix(in srgb, var(--el146-on-dark) 76%, transparent);
    font-size: clamp(.9rem, 1vw, 1.04rem);
    line-height: 2;
}

.el146-hero__description p:last-child {
    margin-block-end: 0;
}

.el146-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-block-start: 1.8rem;
}

.el146-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-block-size: 46px;
    padding: .7rem 1.2rem;
    border: 1px solid color-mix(in srgb, var(--el146-on-dark) 52%, transparent);
    border-radius: .35rem;
    color: var(--el146-on-dark);
    font-size: .9rem;
    font-weight: 750;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.el146-hero__button:hover {
    color: var(--el146-on-dark);
    transform: translateY(-2px);
}

.el146-hero__button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--el146-accent) 72%, var(--el146-on-dark));
    outline-offset: 3px;
}

.el146-hero__button--primary {
    border-color: var(--el146-accent);
    background: var(--el146-accent);
}

.el146-hero__button--primary:hover {
    border-color: color-mix(in srgb, var(--el146-accent) 82%, var(--el146-on-dark));
    background: color-mix(in srgb, var(--el146-accent) 82%, var(--el146-on-dark));
}

.el146-hero__button--secondary {
    background: color-mix(in srgb, var(--el146-dark) 45%, transparent);
}

.el146-hero__button--secondary:hover {
    border-color: var(--el146-on-dark);
    background: color-mix(in srgb, var(--el146-on-dark) 14%, transparent);
}

.el146-hero__empty {
    position: absolute;
    inset-inline: 1rem;
    inset-block-end: 1rem;
    padding: .65rem 1rem;
    border: 1px dashed color-mix(in srgb, var(--el146-on-dark) 45%, transparent);
    background: color-mix(in srgb, var(--el146-dark) 82%, transparent);
    color: var(--el146-on-dark);
    text-align: center;
}

@media (max-width: 1199.98px) {
    .el146-hero {
        --el146-active-image: var(--el146-image-tablet, var(--el146-image-desktop, none));
        --el146-active-position: var(--el146-position-tablet, left center);
    }

    .el146-hero__content {
        inline-size: min(46%, 500px);
    }

    .el146-hero__shade {
        background: linear-gradient(90deg, var(--el146-dark) 0%, color-mix(in srgb, var(--el146-dark) 82%, transparent) 48%, transparent 78%);
    }
}

@media (max-width: 767.98px) {
    .el146-hero {
        --el146-active-image: var(--el146-image-mobile, var(--el146-image-tablet, var(--el146-image-desktop, none)));
        --el146-active-position: var(--el146-position-mobile, right center);
        align-items: end;
        min-block-size: min(760px, 88svh);
    }

    .el146-hero__shade {
        background: linear-gradient(180deg, color-mix(in srgb, var(--el146-dark) 48%, transparent) 0%, color-mix(in srgb, var(--el146-dark) 82%, transparent) 38%, var(--el146-dark) 68%, var(--el146-dark) 100%);
    }

    .el146-hero__container {
        align-items: flex-end;
    }

    .el146-hero__content {
        inline-size: 100%;
        max-inline-size: 620px;
        margin-inline-start: 0;
        padding-block: clamp(220px, 38svh, 320px) 28px;
    }

    .el146-hero__title {
        max-inline-size: 18ch;
        font-size: clamp(1.75rem, 7vw, 2.35rem);
    }

    .el146-hero__button {
        flex: 1 1 150px;
    }
}

@media (max-width: 420px) {
    .el146-hero__content {
        padding-inline: 4px;
    }

    .el146-hero__description {
        font-size: .86rem;
        line-height: 1.85;
    }

    .el146-hero__actions {
        gap: .65rem;
        margin-block-start: 1.35rem;
    }

    .el146-hero__button {
        min-block-size: 44px;
        padding-inline: .8rem;
        font-size: .84rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .el146-hero__button {
        transition: none;
    }
}
