/* blocks_cutomer_communication — two-column feature-benefit section.
   Left column uses the shared blocks-content-col partial; right column
   is a static PNG of the communication-UI graphic. Class-prefixed
   `.bcc__*` (and `.blocks-cutomer-communication` on the section root). */

.blocks-cutomer-communication {
    position: relative;
    display: grid;
    /* `minmax(0, 1fr)` not bare 1fr — bare 1fr lets the track grow past
       viewport on mobile because of children's intrinsic max-content. */
    grid-template-columns: minmax(0, 1fr);
    gap: 60px;
    align-items: center;
    max-width: 1280px;
    margin: 0 auto;
    padding: 80px 24px;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .blocks-cutomer-communication {
        /* 5-col grid — text col spans 2 (~40%), graphic spans 3 (~60%). */
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 80px;
        padding: 120px 32px;
    }
    .bcc__col-left {
        grid-column: span 2;
    }
    .bcc__col-right {
        grid-column: span 3;
    }
}

.bcc__col-right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.bcc__graphic {
    display: block;
    width: 75%;
    max-width: 555px;
    height: auto;
}

/* Decorative cropper bleeding off the RIGHT viewport edge, sitting low so
   it pokes under the next section. */
.bcc__cropper {
    position: absolute;
    bottom: -260px;
    right: calc(50% - 50vw);
    width: 662px;
    height: auto;
    transform: translateX(55%);
    pointer-events: none;
    user-select: none;
    z-index: 0;
}
@media (max-width: 1279px) {
    .bcc__cropper { transform: translateX(55%); }
}
@media (max-width: 1023px) {
    .bcc__cropper { width: 450px; bottom: -160px; transform: translateX(60%); }
}
@media (max-width: 767px) {
    .bcc__cropper { display: none; }
}
