@font-face {
    font-family: 'SF Pro Display';
    src: url('https://fonts.cdnfonts.com/css/sf-pro-display');
}

html {
    overflow-x: hidden;
    max-width: 100%;
}

body {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: #ffffff;
    color: #1d1d1f;
    overflow-x: hidden;
    max-width: 100%;
}

img,
video {
    max-width: 100%;
}

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.3; }
    100% { opacity: 1; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(2.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767px) {
    .timeline-item::after {
        display: none;
    }

    .process-node::after {
        display: none;
    }

    /* 全站：区块横向留白与触控友好 */
    .section-px {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .tap-target {
        min-height: 44px;
        min-width: 44px;
    }
}

/* 兼容带动态工具栏的移动浏览器视口高度 */
.min-h-screen-safe {
    min-height: 100vh;
}

@supports (height: 100dvh) {
    .min-h-screen-safe {
        min-height: 100dvh;
    }
}
