.gradient-bg {
    background: linear-gradient(135deg, #34486D 0%, #2C3D5C 100%);
}

.hero-pattern {
    background-color: #FAF6FB;
    background-image: radial-gradient(#D0B7D5 0.6px, transparent 0.6px), radial-gradient(#D0B7D5 0.6px, #FAF6FB 0.6px);
    background-size: 22px 22px;
    background-position: 0 0, 11px 11px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: fadeIn .25s ease-out; }

/* Rich text output (Quill) */
.rich-content p { margin-bottom: .75rem; }
.rich-content h2 { font-size: 1.25rem; font-weight: 700; margin: 1rem 0 .5rem; color: #1C2740; }
.rich-content h3 { font-size: 1.1rem; font-weight: 700; margin: 1rem 0 .5rem; color: #1C2740; }
.rich-content ul, .rich-content ol { padding-left: 1.25rem; margin-bottom: .75rem; }
.rich-content ul { list-style: disc; }
.rich-content ol { list-style: decimal; }
.rich-content a { color: #34486D; text-decoration: underline; }
.rich-content blockquote { border-left: 4px solid #D0B7D5; padding-left: 1rem; font-style: italic; color: #475569; }

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
