@font-face {
    font-family: 'Codec Warm';
    src: url('../font/CodecWarm%20-%20Regular%20Mac.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Codec Warm';
    src: url('../font/CodecWarm%20-%20Bold%20Mac.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Codec Warm';
    src: url('../font/CodecWarm%20-%20Extra%20Bold%20Mac.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Codec Warm';
    src: url('../font/CodecWarm%20-%20Light%20Italic%20Mac.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

html { scroll-behavior: smooth; }
.modal-enter { opacity: 0; transform: scale(0.95); }
.modal-enter-active { opacity: 1; transform: scale(1); transition: opacity 300ms, transform 300ms; }
.modal-leave { opacity: 1; transform: scale(1); }
.modal-leave-active { opacity: 0; transform: scale(0.95); transition: opacity 300ms, transform 300ms; }

.hug-bg {
    position: relative;
    overflow: hidden;
}
.hug-bg::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -10%;
    width: 120%;
    height: 150%;
    background: linear-gradient(135deg, #6F2595 0%, #AA0061 100%);
    border-radius: 50%;
    z-index: -1;
    opacity: 0.1;
}

/* Animação para Gráficos Modais */
@keyframes barGrow {
    0% { transform: scaleY(0); }
    100% { transform: scaleY(1); }
}
.animate-bar {
    transform-origin: bottom;
    animation: barGrow 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    transform: scaleY(0);
}

/* Animação para Gráficos na Página (Acionados por Scroll) */
.scroll-animate-bar {
    transform-origin: bottom;
    transform: scaleY(0);
}
.scroll-animate-bar.is-visible {
    animation: barGrow 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Animações do Guia Interativo */
@keyframes fadeInSlide {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-slide {
    animation: fadeInSlide 0.4s ease-out forwards;
}
@keyframes crossfade {
    0%, 45% { opacity: 1; }
    50%, 95% { opacity: 0; }
    100% { opacity: 1; }
}
.animate-crossfade {
    animation: crossfade 5s infinite;
}

/* Barra de deslocamento personalizada (Custom Scrollbar) para o Modal */
.custom-scrollbar::-webkit-scrollbar {
    width: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 10px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}