/* One local SVG family, independent of JavaScript and icon fonts. */
.kbk-icon { display: inline-block; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: var(--icon-stroke, 1.75); stroke-linecap: round; stroke-linejoin: round; }
.service-icon .kbk-icon { width: 2rem; height: 2rem; }
.fact-icon .kbk-icon { width: 1.625rem; height: 1.625rem; }
.map-pin .kbk-icon { width: 1.875rem; height: 1.875rem; }
.art-pin .kbk-icon { width: 1.375rem; height: 1.375rem; }
summary.cl-disclosure { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; list-style: none; }
summary.cl-disclosure::after,details[open]>summary.cl-disclosure::after { content: none; }
summary.cl-disclosure::marker,summary.cl-disclosure::-webkit-details-marker { display: none; content: ''; }
.faq-list summary.cl-disclosure { padding-right: 0; }
.cl-disclosure h3 { min-width: 0; }
.cl-disclosure .kbk-icon--disclosure { color: var(--accent); margin-left: auto; transition: transform .15s ease; }
details[open]>summary.cl-disclosure>.kbk-icon--disclosure { transform: rotate(180deg); }
.sf-footer-bottom a:has(.kbk-icon) { display: inline-flex; align-items: center; gap: 8px; }
@media(prefers-reduced-motion:reduce) { .cl-disclosure .kbk-icon--disclosure { transition: none; } }
