html {
    scroll-behavior: smooth;
}

h1, h2, h3, h4, .font-heading {
    font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif;
}

.text-balance {
    text-wrap: balance;
}

details > summary::-webkit-details-marker {
    display: none;
}

/* Reveal-on-scroll (see public/js/app.js) */
[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

/* Hero slide: gentle zoom on the active image */
[data-slide] img[data-slide-image] {
    transform: scale(1.08);
    transition: transform 8s ease-out;
}
[data-slide].is-active img[data-slide-image] {
    transform: scale(1);
}
[data-slide] [data-slide-content] > * {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s ease, transform .6s ease;
}
[data-slide].is-active [data-slide-content] > * {
    opacity: 1;
    transform: none;
}
[data-slide].is-active [data-slide-content] > *:nth-child(2) { transition-delay: .1s; }
[data-slide].is-active [data-slide-content] > *:nth-child(3) { transition-delay: .2s; }
[data-slide].is-active [data-slide-content] > *:nth-child(4) { transition-delay: .3s; }
[data-slide].is-active [data-slide-content] > *:nth-child(5) { transition-delay: .4s; }

/* Partner marquee */
@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.animate-marquee {
    animation: marquee 32s linear infinite;
}
.animate-marquee:hover {
    animation-play-state: paused;
}

/* Rich text from the admin editor */
.prose-content { color: #475569; line-height: 1.8; font-size: 1.0625rem; }
.prose-content > * + * { margin-top: 1.1em; }
.prose-content h2 { font-size: 1.6rem; font-weight: 700; color: #0f172a; margin-top: 1.8em; line-height: 1.3; }
.prose-content h3 { font-size: 1.25rem; font-weight: 600; color: #0f172a; margin-top: 1.5em; }
.prose-content a { color: #00703a; text-decoration: underline; text-underline-offset: 3px; }
.prose-content ul { list-style: disc; padding-left: 1.4em; }
.prose-content ol { list-style: decimal; padding-left: 1.4em; }
.prose-content li + li { margin-top: .4em; }
.prose-content blockquote { border-left: 4px solid #00a651; padding: .4em 0 .4em 1.2em; font-style: italic; color: #334155; background: #ecfdf3; border-radius: 0 .75rem .75rem 0; }
.prose-content img { border-radius: 1rem; }
.prose-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.prose-content th, .prose-content td { border: 1px solid #e2e8f0; padding: .6em .8em; text-align: left; }
.prose-content th { background: #f8fafc; color: #0f172a; }
.prose-content strong { color: #0f172a; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-reveal], [data-slide] img[data-slide-image], [data-slide] [data-slide-content] > * { transition: none; transform: none; opacity: 1; }
    .animate-marquee { animation: none; }
}
