        .gen-faq-accordion { display: flex; flex-direction: column; gap: 1rem; margin-top: 3rem; }
        .gen-faq-item { background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; border-left: 4px solid var(--color-sand); transition: border-left-color 0.3s; }
        .gen-faq-item:hover { border-left-color: var(--color-lime); }
        .gen-faq-item summary { padding: 1.5rem; font-weight: 700; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: var(--color-dark); }
        .gen-faq-item summary::-webkit-details-marker { display: none; }
        .gen-faq-item summary::after { content: '+'; font-size: 1.5rem; color: var(--color-lime); transition: transform 0.3s ease; }
        .gen-faq-item[open] summary::after { content: '-'; transform: rotate(180deg); }
        .gen-faq-content { padding: 0 1.5rem 1.5rem; color: #4a4a4a; line-height: 1.6; border-top: 1px solid #f0f0f0; margin-top: 0.5rem; padding-top: 1rem; font-size: 0.95rem; }

        .reveal-delay-200 { transition-delay: 200ms; }
        .gen-section-header-catalog { margin: 0 auto 80px; text-align: center; }
        .gen-faq.gen-faq-surface { background-color: var(--color-light); }
        .gen-section-header-faq { max-width: 800px; margin: 0 auto; text-align: center; }
        .gen-faq-accordion.gen-faq-accordion-centered { max-width: 860px; margin: 0 auto; }
        .gen-section.gen-contact-section-transparent { background: transparent; }
        .gen-submit-btn.gen-submit-btn-full { width: 100%; }

/* Keep the card heading independent from the introductory hero paragraphs. */
.page-generali .insurance-needs-card .gen-card-header {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    text-align: left;
}

.page-generali .insurance-needs-card .gen-card-icon {
    width: 48px;
    height: 48px;
    background: #edf4e5;
    color: #42652d;
}

.insurance-needs-card .gen-card-icon svg { display: block; }
.insurance-needs-heading { min-width: 0; }

.page-generali .insurance-needs-card .gen-card-subtitle,
.page-generali .insurance-needs-card .gen-card-title-sm {
    max-width: none;
    margin: 0;
    text-align: left;
}

.page-generali .insurance-needs-card .gen-card-subtitle {
    color: #56644e;
    font-size: 0.75rem;
    line-height: 1.45;
}

.page-generali .insurance-needs-card .gen-card-title-sm {
    margin-top: 3px;
    color: #231f20;
    font-size: 1.125rem;
    line-height: 1.4;
}
    
