.location__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:4rem}.location__label{width:50%}.location__body{display:grid;gap:4rem}.location__content{width:100%}.location__map{position:relative;width:100%;height:100%}.location__map-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.location__map-image,.location__map-points{position:absolute;top:0;left:0;width:100%;height:100%}.location__map-image{object-fit:contain}.location__point-dot,.location__point-pulse{top:50%;transform:translate(-50%,-50%);border-radius:50%;background-color:var(--primary-4);position:absolute}.location__point{position:absolute;transform:translate(-50%,-50%);cursor:pointer;pointer-events:none;z-index:2}.location__point-pulse{left:50%;width:1.5rem;height:1.5rem;opacity:.4;animation:2s infinite pulse;z-index:1}.location__point-dot{left:50%;width:.625rem;height:.625rem;z-index:2}.location__point-label{position:absolute;white-space:nowrap;color:var(--primary-4);font-weight:700;opacity:1;z-index:3;font-size:1rem}.location__point-label--top{top:-1.875rem;left:50%;transform:translateX(-50%)}.location__point-label--bottom{bottom:-1.875rem;left:50%;transform:translateX(-50%)}.location__point-label--left{left:-.5rem;top:50%;transform:translate(-100%,-50%);margin-left:-.25rem}.location__point-label--right{right:-.5rem;top:50%;transform:translate(100%,-50%);margin-right:-.25rem}.location__items{display:grid;gap:1rem}.item-location{background-color:var(--primary-0);border:.0625rem solid var(--primary-1);border-radius:.5rem;padding:1rem;display:flex;flex-direction:column}.item-location__country{margin-bottom:.5rem}.item-location__country img{height:auto;object-fit:cover;border-radius:.25rem}.item-location__title{font-weight:700;line-height:1.2;color:var(--gray-11);font-size:1.125rem;margin-bottom:.125rem}.item-location__description p{font-size:1rem;font-weight:500;line-height:1.4;color:var(--primary-12);margin-bottom:.25rem}.item-location__content{margin-top:.5rem}.item-location__footer{margin-top:auto}.item-location__number{font-size:1rem;font-weight:700;line-height:1.4;color:var(--primary-4)}@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(.2);opacity:.8}70%{transform:translate(-50%,-50%) scale(1.5);opacity:.2}}@media (max-width:93em){.location__body{grid-template-columns:1fr}.location__map{height:auto;margin-bottom:clamp(1.5rem,1.3rem + 1vw,2.5rem)}.location__map-wrapper{height:0;padding-bottom:50%}.location__items{grid-template-columns:repeat(3,1fr)}}@media (max-width:61.9375rem){.location__header{flex-direction:column;gap:1.5rem}.location__label{width:100%}.location__body{gap:1.5rem}.location__items{grid-template-columns:repeat(2,1fr)}}@media (max-width:47.99875rem){.location__items{grid-template-columns:1fr}.location__header{margin-bottom:1.5rem}.item-location__country img{width:2rem}}@media (min-width:93em){.location__body{grid-template-columns:1fr 1fr}.location__items{grid-template-columns:repeat(2,1fr)}}@media (min-width:20em) and (max-width:120em){.location__point-label{font-size:clamp(1rem, .9rem + .5vw, 1.5rem)}.item-location__country img{width:clamp(2rem,1.8rem + 1vw,3rem)}.item-location__title{font-size:clamp(1.125rem, 1.05rem + .375vw, 1.5rem);margin-bottom:clamp(.125rem,.05rem + .375vw,.5rem)}.item-location__description{margin-bottom:clamp(.25rem,.2rem + .25vw,.5rem)}}@media (min-width:120em){.location__point-label{font-size:1.5rem}.item-location__country img{width:3rem}.item-location__title{font-size:1.5rem;margin-bottom:.5rem}}

/* Global presence layout: header → full-width map → office cards row */
.location__header{
    margin-bottom: clamp(1.5rem, 1.3rem + 1vw, 2.5rem);
}

.location__label{
    width: 100%;
    max-width: 52rem;
}

.location .label__description,
.location .label__description p{
    color: var(--primary-8, #637597);
    line-height: 1.5;
}

.location__body{
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    grid-template-columns: none;
}

.location__map{
    width: 100%;
    height: auto;
    margin-bottom: 0;
}

.location__map-wrapper{
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: min(42%, 28rem);
    overflow: visible;
}

.location__map-image,
.location__map-points{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.location__map-image{
    object-fit: contain;
    object-position: center;
}

.location__point-pulse{
    width: 1.75rem;
    height: 1.75rem;
    background-color: #e0f8ff;
    opacity: 1;
    animation: none;
}

.location__point-dot{
    width: 0.5rem;
    height: 0.5rem;
    background-color: #0099cc;
}

.location__point-label{
    color: var(--primary-16, #0d1930);
    font-weight: 600;
    font-size: clamp(0.875rem, 0.85rem + 0.35vw, 1.125rem);
}

.location__items{
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    width: 100%;
}

@media (min-width: 48em){
    .location__items{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 62em){
    .location__items{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 75em){
    .location__items{
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.item-location{
    background: #fff;
    border: 1px solid var(--primary-1, #e0e9f5);
    border-radius: 0.5rem;
    padding: 1rem 1.125rem;
    height: 100%;
    gap: 0.75rem;
}

.item-location__country{
    margin-bottom: 0;
    line-height: 0;
}

.item-location__flag,
.item-location__country img{
    display: block;
    width: 2rem;
    height: auto;
    max-height: 1.375rem;
    object-fit: contain;
    border-radius: 0.125rem;
}

.item-location__title{
    color: var(--primary-16, #0d1930);
    font-weight: 700;
    font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
    line-height: 1.35;
    margin: 0 0 0.5rem;
}

.item-location__description,
.item-location__description p,
.item-location__content,
.item-location__content p{
    color: var(--primary-8, #637597);
    font-size: clamp(0.8125rem, 0.8rem + 0.1vw, 0.9375rem);
    font-weight: 400;
    line-height: 1.45;
    margin: 0;
}

.item-location__description p:not(:last-child),
.item-location__content p:not(:last-child){
    margin-bottom: 0.35rem;
}

.item-location__footer{
    margin-top: 0.75rem;
}

.item-location__number{
    font-size: 0.875rem;
    font-weight: 600;
}

@media (max-width: 61.99875em){
    .location__header{
        flex-direction: column;
        gap: 1rem;
    }

    .location__map-wrapper{
        padding-bottom: 55%;
    }

    .location__items{
        gap: 1rem;
    }
}

@media (max-width: 47.99875em){
    .location__map-wrapper{
        padding-bottom: 65%;
    }

    .location__point-label{
        font-size: 0.8125rem;
    }
}