.jm-contact-item {
    width: 100%;
    box-sizing: border-box;
}

.jm-contact-item__layout {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.jm-contact-item__icon-wrap {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.jm-contact-item__icon {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.jm-contact-item__icon-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.jm-contact-item__content {
    min-width: 0;
}

.jm-contact-item__title {
    margin: 2px 0 8px;
    color: #597687;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.jm-contact-item__value {
    color: #1e5d76;
    font-size: clamp(1.125rem, 1.03rem + 0.38vw, 1.5rem);
    font-weight: 400;
    line-height: 1.42;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.jm-contact-item__value--link {
    display: inline-block;
    color: #1e5d76;
    text-decoration: none;
    transition: color 160ms ease, opacity 160ms ease;
}

.jm-contact-item__value--link:hover,
.jm-contact-item__value--link:focus-visible {
    color: #134d64;
}

.jm-contact-item__value--link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.jm-contact-item__icon-placeholder {
    color: #7a8f9d;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .jm-contact-item__layout {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 14px;
    }

    .jm-contact-item__icon-wrap {
        width: 52px;
        height: 52px;
    }

    .jm-contact-item__icon {
        width: 100%;
        height: 100%;
    }

    .jm-contact-item__title {
        margin-bottom: 6px;
        font-size: 0.9rem;
    }

    .jm-contact-item__value {
        font-size: clamp(1.05rem, 1rem + 0.32vw, 1.28rem);
    }
}