.hero-cta-v2 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 1rem;
    inline-size: fit-content;
    max-inline-size: 100%;
    margin-block-start: 2.75rem;
}

.hero-cta-v2-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.9em;
    max-inline-size: 100%;
    padding: 1em 1.4em;
    border: 1px solid rgba(126, 220, 255, 0.38);
    border-radius: 1rem;
    background: linear-gradient(135deg, #147bff, #00aeea);
    box-shadow: 0 1.2rem 2.8rem rgba(20, 123, 255, 0.3), inset 0 1px rgba(255, 255, 255, 0.2);
    color: #fff;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.hero-cta-v2-primary:hover {
    transform: translateY(-0.12rem);
    filter: brightness(1.05);
    box-shadow: 0 1.4rem 3.2rem rgba(20, 123, 255, 0.4), inset 0 1px rgba(255, 255, 255, 0.24);
}

.hero-cta-v2-primary-icon {
    flex: 0 0 auto;
    font-size: 1.25em;
}

.hero-cta-v2-primary-copy {
    display: flex;
    min-inline-size: 0;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
}

.hero-cta-v2-primary-copy strong {
    font-size: 1rem;
    line-height: 1.25;
}

.hero-cta-v2-primary-copy small {
    margin-block-start: 0.22em;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.72rem;
    font-weight: 550;
    line-height: 1.3;
}

.hero-cta-v2-prompt {
    margin: 0.5rem 0 0 !important;
    color: #8296b1 !important;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
}

.hero-cta-v2-accounts {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.65rem;
    max-inline-size: 100%;
}

.hero-cta-v2-accounts a {
    display: inline-flex;
    flex: 1 1 8em;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    min-inline-size: 0;
    padding: 0.78em 1em;
    border: 1px solid rgba(143, 190, 255, 0.2);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.035);
    color: #dbeafe;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.hero-cta-v2-accounts a:hover {
    transform: translateY(-0.08rem);
    border-color: rgba(0, 212, 255, 0.48);
    background: rgba(20, 123, 255, 0.1);
    box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.2);
}

.hero-cta-v2 :is(a):focus-visible {
    outline: 2px solid #7edcff;
    outline-offset: 3px;
}

.approved-hero-visual img {
    animation: astra-logo-breathe 5.5s ease-in-out infinite;
}

@keyframes astra-logo-breathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.025); }
}

@media (max-width: 40em) {
    .hero-cta-v2 {
        inline-size: 100%;
        margin-block-start: 2.25rem;
    }

    .hero-cta-v2-primary {
        inline-size: 100%;
    }

    .hero-cta-v2-accounts a {
        flex-basis: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .approved-hero-visual img {
        animation: none;
    }

    .hero-cta-v2-primary,
    .hero-cta-v2-accounts a {
        transition: none;
    }
}
