.visit-offices-en {
    padding-top: 80px;
    padding-bottom: 80px;
}

.visit-offices-en-header {
    padding-bottom: 40px;
}

/* Featured office banner */
.featured-office-en {
    min-height: 22rem;
    border-radius: 8px;
    background-color: var(--bs-main-500);
}

.featured-office-en-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.featured-office-en-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-office-en-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--bs-main-500);
    opacity: 0.35;
}

.featured-office-en-content {
    z-index: 1;
    max-width: 28rem;
    padding: 40px;
    gap: 4px;
}

/* Same visual style as .fixed-cta-btn (the site-wide CTA button look), minus
   its position:fixed/opacity:0 base state — those are specific to its use as
   a floating, scroll-triggered button and don't apply to this inline button. */
.featured-office-en-phone-btn {
    background-color: var(--bs-white);
    color: var(--bs-secondary-500);
    font-weight: 600;
    text-transform: uppercase;
    padding: 12px 32px;
    border-radius: 2px;
    gap: 12px;
    width: fit-content;
}

.featured-office-en-phone-btn:hover,
.featured-office-en-phone-btn:visited {
    color: var(--bs-secondary-500);
}

/* Same hover text-swap animation as the rest of the site's CTA buttons
   (.fixed-cta-btn, .cta-split-btn) — both reuse this same .fixed-cta-text
   markup/animation, just triggered off their own button class. */
.featured-office-en-phone-btn:hover .fixed-cta-text span {
    transform: translateY(-100%);
}

.featured-office-en-name {
    color: var(--bs-black);
    font-size: 28px;
    font-style: normal;
    font-weight: 800;
    line-height: 32px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.featured-office-en-address {
    color: var(--bs-black);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 24px;
}

@media (min-width: 993px) {
    .featured-office-en-address {
        white-space: nowrap;
    }
}

.featured-office-en-people {
    position: absolute;
    z-index: 1;
    right: 6%;
    bottom: 0;
    height: 85%;
    display: flex;
    align-items: flex-end;
}

.featured-office-en-people img {
    height: 100%;
    max-width: 100%;
    object-fit: contain;
}

/* Secondary offices row */
.secondary-offices-en {
    gap: 24px;
    margin-top: 40px;
}

.secondary-office-en {
    flex: 1;
    min-width: 200px;
}

.secondary-office-en-name {
    color: var(--bs-black);
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    line-height: 24px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.secondary-office-en-address {
    color: var(--bs-black);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    margin-bottom: 0;
}

@media screen and (max-width: 992px) {
    .featured-office-en {
        min-height: auto;
    }

    .featured-office-en-content {
        max-width: 100%;
        padding: 24px;
    }

    .secondary-offices-en {
        flex-direction: column;
        gap: 24px;
    }

    .secondary-office-en {
        min-width: 0;
    }
}
