.sg-hero1 {
    position: absolute;
    right: -310px;
    top: 10%;
    transform: translateY(-50%);
    width: 1000px;
    height: auto;
    object-fit: contain;
    pointer-events: none;
    mix-blend-mode: screen;
    z-index: 0;
    animation: sg-hero-drift 140s linear infinite;
}

.sg-agenda {
    position: absolute;
    right: -60px;
    top: -80px;
    width: 420px;
    height: auto;
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: 0.5;
    z-index: 0;
}

.sg-hero-moon {
    position: absolute;
    left: -36px;
    bottom: 56px;
    width: 150px;
    height: auto;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
    animation: sg-float 8s ease-in-out infinite;
}

@keyframes sg-spin {
    to { transform: rotate(360deg); }
}

/* Keeps the hero's vertical offset while it slowly rotates */
@keyframes sg-hero-drift {
    from { transform: translateY(-50%) rotate(0deg); }
    to   { transform: translateY(-50%) rotate(360deg); }
}

@keyframes sg-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-16px); }
}

@media (prefers-reduced-motion: reduce) {
    .sg-hero1,
    .sg-hero-moon {
        animation: none;
    }
}

.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    pointer-events: none;
}

.stat-sep {
    width: 1px;
    background: var(--color-surface-primary);
    align-self: stretch;
}

.read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .2s ease;
}

.read-more:hover {
    gap: 10px;
}

@media (max-width: 640px) {
    .sg-hero1 {
        width: 500px;
        right: -150px;
        top: 5%;
    }

    .sg-agenda {
        width: 250px;
        right: -40px;
        top: -40px;
    }

    .sg-hero-moon {
        width: 96px;
        bottom: 28px;
    }

    .stat-sep {
        display: none;
    }
}
