/* Fluid typography for public pages. Keep component layouts and media ratios page-specific. */
h1 {
    font-size: clamp(28px, calc(22px + 3vw), 48px) !important;
}

h2 {
    font-size: clamp(21px, calc(17px + 1.3vw), 32px) !important;
}

h3 {
    font-size: clamp(17px, calc(16px + .55vw), 23px) !important;
}

p {
    font-size: clamp(13px, calc(12px + .45vw), 16px) !important;
}

@media (max-width: 860px) {
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* 手机端隐藏导航搜索框和立即下载按钮 */
    .navbar .nav-search,
    .navbar .nav-cta {
        display: none !important;
    }

    .audience-grid,
    .value-grid,
    .steps,
    .task-grid,
    .benefit-grid,
    .culture-grid,
    .pain-grid,
    .service-grid,
    .why-grid,
    .strength-architecture-grid,
    .strength-industry-grid,
    .strength-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tutorial-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .audience-card {
        padding: 24px 16px;
    }

    .news-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}

@media (max-width: 360px) {
    .value-grid,
    .tutorial-preview-grid {
        grid-template-columns: 1fr !important;
    }
}
