html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gs-reveal {
    opacity: 0;
    transform: translateY(16px);
}

.cert-scroll {
    overflow: hidden;
}

.cert-marquee {
    animation: marquee 60s linear infinite;
}

.cert-marquee:hover {
    animation-play-state: paused;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

#cert-modal.active {
    display: flex;
}

#cert-modal img {
    animation: certZoomIn 0.3s ease-out;
}

@keyframes certZoomIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
