@media (max-width: 479px) {
    .title {
        font-size: 1.5rem;
        letter-spacing: 6px;
    }

    header {
        margin-top: 60px;
    }

    .bio-text {
        font-size: 0.7rem;
    }

    .link-row {
        padding: 14px 16px;
        gap: 12px;
    }

    .link-name {
        font-size: 0.8rem;
    }

    .row-index {
        display: none;
    }

    .divider {
        margin: 28px 0;
    }

    .dot-grid,
    .top-line,
    .bottom-fade {
        display: none;
    }

    main::before,
    main::after {
        display: none;
    }

    footer {
        margin-bottom: 50px;
    }
}

@media (max-width: 600px) {
    main::before,
    main::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .link-row, header, footer {
        opacity: 1;
        transform: none;
    }

    .divider {
        width: 100%;
        background: var(--border-dim);
    }

    .char-reveal {
        opacity: 1;
        transform: none;
        filter: none;
    }

    .title::after {
        width: 60px;
    }

    .ripple {
        display: none;
    }

    .top-line {
        width: min(500px, 80vw);
    }

    .dot-grid {
        display: none;
    }

    main::before,
    main::after {
        opacity: 1;
    }
}
