.section-dots { display: none; }

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    html.section-scroll-enabled main > section {
        min-height: var(--screen-min-height, 0px);
        box-sizing: border-box;
    }

    .section-dots {
        position: fixed;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 90;
        display: flex;
        flex-direction: column;
        padding: 6px 2px;
        border-radius: 24px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 2px 16px rgba(0, 0, 0, .15);
        max-height: 90vh;
        overflow-y: auto;
    }

    .section-dots__button {
        display: grid;
        place-items: center;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .section-dots__button::before {
        content: '';
        width: 7px;
        height: 7px;
        border: 1px solid #555;
        border-radius: 50%;
        transition: transform .2s, background .2s;
    }

    .section-dots__button[aria-current="true"]::before {
        background: #e54132;
        border-color: #e54132;
        transform: scale(1.45);
    }

    .section-dots__button:focus-visible { outline: 2px solid #e54132; outline-offset: -2px; border-radius: 50%; }
}

@media (prefers-reduced-motion: reduce) {
    .section-dots__button::before { transition: none; }
}
