html { scroll-behavior: smooth; }
body {
    word-break: keep-all;
    overflow-wrap: break-word;
}
.prose-p {
    max-width: 68ch;
}

/* Lightbox */
.lightbox-overlay {
    position: fixed; inset: 0; background: rgba(18,35,59,.92);
    display: none; align-items: center; justify-content: center; z-index: 100; padding: 24px;
}
.lightbox-overlay.active { display: flex; }
.lightbox-close { position: absolute; top: 20px; right: 24px; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.lightbox-single { max-width: 900px; width: 100%; margin: 0; }
.lightbox-single img { width: 100%; max-height: 78vh; object-fit: contain; display: block; margin: 0 auto; }
.lightbox-caption { color: #fff; text-align: center; margin-top: 14px; font-size: 14px; line-height: 1.6; }

/* FAQ accordion */
.faq-item[open] > summary .faq-plus { transform: rotate(45deg); }
.faq-item summary { list-style: none; cursor: pointer; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus { transition: transform .2s ease; display: inline-block; }
