/* contact.css - grid layout and responsive typography for contact blocks */
.contacts-row {
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    gap: 2.5rem;
    margin: 0;
    align-items: start;
    width: 100%;
}

@media (max-width: 1199.98px) {
    .contacts-row { grid-template-columns: repeat(min(var(--cols), 3), minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .contacts-row { grid-template-columns: repeat(min(var(--cols), 2), minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
    .contacts-row { grid-template-columns: 1fr !important; gap: 1.75rem; }
}
@media (max-width: 575.98px) {
    .contacts-row { gap: 1rem; }
}

.contact-col {
    padding: 0.9rem;
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
}

/* slightly larger for 1000–1200px */
@media (min-width:1000px) and (max-width:1199.98px) {
    .contacts-row .contact-text.title {
        font-size: clamp(1.7rem, 2.2vw, 3.0rem) !important;
        line-height: 1.06 !important;
        text-align: left;
    }
    .contacts-row .contact-sub {
        font-size: clamp(1.05rem, 1.2vw, 1.25rem) !important;
        line-height: 1.55 !important;
        text-align: left;
    }
}

/* reduced in 1200–2000 range */
@media (min-width: 1200px) and (max-width: 2000px) {
    .contacts-row .contact-text.title {
        font-size: clamp(1.5rem, 1.6vw, 2.6rem) !important;
        line-height: 1.08 !important;
        text-align: left;
    }
    .contacts-row .contact-sub {
        font-size: clamp(0.98rem, 1.0vw, 1.12rem) !important;
        line-height: 1.5 !important;
        text-align: left;
    }
}

/* very large screens */
@media (min-width: 2001px) {
    .contacts-row .contact-text.title {
        font-size: clamp(1.9rem, 2.2vw, 3.8rem) !important;
        line-height: 1.05 !important;
        text-align: left;
    }
    .contacts-row .contact-sub {
        font-size: clamp(1.1rem, 1.4vw, 1.4rem) !important;
        line-height: 1.6 !important;
        text-align: left;
    }
}

/* single-column boost for <=1000px */
@media (max-width: 1000px) {
    .contacts-row .contact-text.title {
        font-size: clamp(1.9rem, 4.2vw, 3.6rem) !important;
        text-align: center;
    }
    .contacts-row .contact-sub {
        font-size: clamp(1.15rem, 2.8vw, 1.45rem) !important;
        text-align: left;
    }
}

.contacts-row .contact-text,
.contacts-row .contact-sub {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    margin: 0 0 0.6rem 0 !important;
}

/* neutralize global margins/paddings in this block */
.contacts-row, .contact-col, .contact-info-list {
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-padding-start: 0;
}

@media (max-width: 420px) {
    .contacts-row .contact-text.title { font-size: clamp(1.6rem, 5.2vw, 2.8rem) !important; }
    .contacts-row .contact-sub { font-size: clamp(1.05rem, 2.4vw, 1.15rem) !important; }
}
.section--bg {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.contacts-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.contact-col {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}