.kf-about-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; border-bottom: 1px solid #dce0dc; }
.kf-about-hero > *, .kf-founder-section > * { min-width: 0; margin: 0; }
.kf-about-hero > div > p:not(.kf-kicker):not(.kf-text-link),.kf-founder-copy > p:not(.kf-kicker):not(.kf-text-link) { color: #5c635f; }
.kf-about-project-image img { display: block; width: 100%; aspect-ratio: 1.4; object-fit: cover; }
.kf-about-project-image figcaption,.kf-founder-portrait figcaption { margin: 12px 0 0; color: #5c635f; font-size: .875rem; }
.kf-project-map-shell { min-width: 0; margin: 0; }
.kf-about-hero:has(.kf-project-map-shell) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; }
.kf-map-city-label { border:0!important; background:rgba(255,255,255,.85)!important; box-shadow:none!important; color:#34443a; font-weight:600; }
.kf-map-city-label::before { display:none; }
.kf-project-map { width: 100%; min-height: 440px; border: 1px solid #dce0dc; background: #eef0ed; z-index: 1; }
.kf-project-map-caption { margin: 12px 0 0; color: #5c635f; font-size: .875rem; line-height: 1.5; }
.kf-project-map .leaflet-control-attribution { font-size: .6875rem; }
.kf-project-map .leaflet-popup-content-wrapper { border-radius: 0; box-shadow: 0 12px 30px rgba(15,25,20,.2); }
.kf-project-map .leaflet-popup-content { margin: 18px; min-width: 220px; }
.kf-map-popup h3 { margin: 0 0 10px; color: #17211b; font-size: 1rem; }
.kf-map-popup ul { margin: 0; padding-left: 18px; }
.kf-map-popup li + li { margin-top: 8px; }
.kf-map-popup a { color: #244f3a; line-height: 1.35; text-decoration: underline; text-underline-offset: 3px; }
.kf-map-marker-wrap { background: transparent; border: 0; }
.kf-map-marker-dot { display:block; margin:8px; width:14px; height:14px; box-sizing:border-box; border:2px solid #fff; border-radius:50%; background:#244f3a; box-shadow:0 2px 5px rgba(15,25,20,.35); }
.kf-map-marker-wrap:focus .kf-map-marker-dot { outline: 3px solid #f0b44d; outline-offset: 2px; }
.kf-map-error { display: grid; min-height: 440px; place-items: center; margin: 0; }
.kf-founder-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: center; }
.kf-founder-portrait img { display: block; width: 100%; max-height: 430px; object-fit: contain; background: #f3f4f2; }
.kf-founder-copy h2 { font-size: clamp(1.8rem,2.6vw,2.6rem); }
.kf-founder-copy p { line-height: 1.75; }
.kf-about-audiences .kf-service-entry > p { font-size: 1rem!important; min-height: 0!important; }
.kf-about-approach .kf-service-lead { max-width: 850px; }
@media(max-width:800px) { .kf-about-hero,.kf-founder-section { gap: 32px; } .kf-founder-section { grid-template-columns: 1fr 1.3fr; align-items: start; } }
@media(max-width:600px) { .kf-about-hero,.kf-founder-section { grid-template-columns: 1fr; } .kf-about-project-image img { aspect-ratio: 1.5; } .kf-project-map { min-height: 380px; } .kf-founder-portrait img { max-height: 380px; } }
@media(max-width:800px) { .kf-about-hero:has(.kf-project-map-shell) { grid-template-columns:1fr; } }
