.tour-text { overflow-wrap: anywhere; line-height: 1.75; color: #334155; }
.tour-paragraph { white-space: pre-line; margin: 0 0 1rem; }
.tour-paragraph strong { font-weight: 700; }
.tour-section + .tour-section { margin-top: 1.5rem; }
.tour-open { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1rem; border: 1px solid #cbd5e1; border-radius: .75rem; background: #fff; color: #16345e; font: inherit; font-weight: 700; cursor: pointer; }
.tour-open:hover { background: #eef2f7; }
.tour-dialog { width: min(860px, calc(100% - 2rem)); max-height: calc(100dvh - 3rem); padding: 0; border: 0; border-radius: 1rem; color: #16345e; box-shadow: 0 24px 80px #0004; }
.tour-dialog[open] { display: flex; flex-direction: column; }
.tour-dialog::backdrop { background: #102640b3; }
.tour-dialog-header, .tour-dialog-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; flex-shrink: 0; }
.tour-dialog-header { border-bottom: 1px solid #e2e8f0; }
.tour-dialog-header h2 { margin: 0; font-size: 1.4rem; line-height: 1.3; }
.tour-eyebrow { margin: 0 0 .3rem; font-size: .8rem; color: #64748b; }
.tour-close { padding: .25rem .65rem; border: 0; border-radius: .5rem; background: #eef2f7; color: #16345e; font-size: 1.75rem; cursor: pointer; }
.tour-dialog-body { padding: 1.5rem; overflow-y: auto; overscroll-behavior: contain; }
.tour-dialog-body .tour-section { padding: 0; border: 0; box-shadow: none; background: transparent; }
.tour-dialog-body .tour-section h2 { margin: 0 0 .75rem; font-size: 1.15rem; }
.tour-dialog-footer { border-top: 1px solid #e2e8f0; }
.tour-detail-link { color: #16345e; font-size: .9rem; text-decoration: underline; }
html:has(.tour-dialog[open]) { overflow: hidden; }
@media (max-width: 575px) {
    .tour-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
    .tour-dialog-header, .tour-dialog-footer, .tour-dialog-body { padding: 1rem; }
    .tour-dialog-body { flex: 1; }
}
