.ktpp__wrap {}

.ktpp__entry {
    padding: 1.5em 1em;
    border: .1em solid #dedede;
}
.ktpp__entry + .ktpp__entry {
    margin-top: 1em;
}

.ktpp__entry :is( a[href^='tel'], a[href^='tel']:hover ) {
    color: inherit;
    cursor: inherit;
    text-decoration: none;
}

.ktpp__entry h3.ktpp__name {
    margin-top: 0;
    margin-bottom: 1ex;
    font-size: 1.35rem;
    font-weight: 700;
}
.ktpp__entry :is( h4 ) {
    font-size: .9rem;
    margin-top: 1.3em;
}
.ktpp__entry :is( p:last-child ) {
    margin-bottom: 0;
}

.ktpp__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 1ex;
    align-items: start;
}
.ktpp__contact .ktpp__infoset {
    flex-grow: 1;
}

.ktpp__address {
    min-width: 15em;
    margin: 0;
}

.ktpp__infoset {
    margin: 0;
    gap: .2em 0;
    display: grid;
    grid-template-columns: auto 1fr;
    line-height: 1.3;
}
.ktpp__infoset dt {
    padding: .2em 1em .2em 0;
}
.ktpp__infoset dd {
    display: unset;
    margin: 0;
    padding: .2em;
}
@media (min-width: 40em) {
    .ktpp__infoset {
        grid-template-columns: max-content 1fr;
    }
    .ktpp__infoset dt {
        max-width: 23em;
    }
}
.ktpp__infoset :where( dt,dd ):where( :nth-child(4n+3), :nth-child(4n+4) ){
    background: #f1f1f1;
}

.ktpp__about {
    margin-top: 1em;
    margin-bottom: 0;
}

.ktpp__about img {
    float: left;
    margin-right: 1em;
    margin-bottom: 1ex;
}
.ktpp__about::after {
    content: '';
    display: table;
    clear: both;
}

.details--ktpp .details__trigger {
    font-size: 1.5rem;
}