/* ===== 响应式 ===== */
@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .nav-menu {
        position: fixed;
        top: 64px;
        left: 0;
        width: 100%;
        flex-direction: column;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        padding: 12px 24px 24px;
        gap: 2px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
        transform: translateY(-110%);
        opacity: 0;
        transition: all 0.3s ease;
        pointer-events: none;
    }

    .nav-menu.active {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .nav-menu li a {
        padding: 12px 16px;
        font-size: 1rem;
    }

    #intro {
        padding: 80px 20px 40px;
    }

    .intro-content h1 {
        font-size: 2.5rem;
    }

    .intro-content .subtitle {
        font-size: 1rem;
    }

    section {
        padding: 60px 20px;
    }

    .link-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 10px;
    }

    .link-card {
        padding: 14px 10px;
        font-size: 0.9rem;
        min-height: 48px;
    }
}

@media (max-width: 480px) {
    .link-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

