body { font-family: 'Manrope', sans-serif; }
h1, h2, h3, .font-display { font-family: 'Playfair Display', serif; }

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

.signature-quote-line {
    width: 1px;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #e29f98, transparent);
}

.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* ── DESKTOP: ticker animado ── */
.ticker-container {
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.ticker-track {
    display: flex;
    gap: 2rem;
    width: max-content;
    animation: scrollTicker 35s linear infinite;
}
.ticker-track:hover {
    animation-play-state: paused;
}

/* ── MOBILE: scroll horizontal nativo ── */
@media (max-width: 767px) {
    .ticker-container {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        -webkit-mask-image: none;
        mask-image: none;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        scrollbar-width: none;
    }
    .ticker-container::-webkit-scrollbar { display: none; }
    .ticker-track {
        animation: none !important;
        transform: none !important;
        width: auto;
        flex-wrap: nowrap;
    }
    .ticker-track > div:last-child { display: none; }
}


@keyframes scrollTicker {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 1rem)); }
}
@keyframes shine {
    from { opacity: 0.5; }
    to { opacity: 1; }
}

#sistemason-link:hover {
    text-shadow: 0 0 10px rgba(226, 159, 152, 0.4);
    animation: shine 1s ease-in-out infinite alternate;
}

/* ── Seção Resultados: imagens antes/depois ── */
#resultados .ticker-track img {
    object-fit: contain !important;
    background-color: #faf6f5;
}
