
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    font-family: 'Libre Baskerville', serif;
}

.legal-blob {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}

.subtle-lift {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
}

.subtle-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* FAQ transitions */
.faq-content.active {
    max-height: 500px;
    opacity: 1;
    margin-top: 0;
}

.arrow.active {
    transform: rotate(180deg);
}
