
.technology-contact-box {
    position: relative;        
    z-index: 10;
    max-width: 30rem;
    width: calc(100% - 1.875rem);   
    margin: 0 auto 1.5rem;
    padding: 0;
    border-radius: 20px;
    border: solid var(--pt-navy) 1px;
    background-color: #fff;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}

.header.technology-header {
    overflow: visible;
}

/* ---- < 1100px: hero becomes a normal flow container --------------------- */

@media (max-width: 68.6875rem) {
    .header.technology-header {
        padding-top: 3.75rem;
        padding-bottom: 1.5rem;
    }

    .header.technology-header .row {
        position: relative;
        z-index: 3;
        top: auto;
        left: auto;
        transform: none;
        width: auto;
    }

    .header.technology-header .background {
        pointer-events: none;
    }

    .header.technology-header h1 {
        margin: 1.25rem 0 0.25rem;
        font-size: 36px;
    }

    .header.technology-header p {
        margin-bottom: 0.5rem;
    }
}

/* ---- 768–1099px: wide and short ---------------------------------------- */

@media (min-width: 48rem) and (max-width: 68.6875rem) {
    .technology-contact-box {
        max-width: 54rem;
        margin-top: 2rem;
    }
}

/* ---- >= 1100px: original behaviour, box floats into the empty column ---- */

@media (min-width: 68.75rem) {
    .technology-contact-box {
        position: absolute;
        top: 42px;
        right: 12px;
        width: 26rem;
        max-width: none;
        margin: 0;
        transform-origin: right top;
    }
}