/* Home — global presence */
.home-global {
    padding: var(--section-space) var(--page-gutter);
    border-block: 1px solid #dedbd4;
    background: #f2f0eb;
    color: #15191a;
}

.home-global-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .88fr);
    align-items: end;
    gap: clamp(55px, 9vw, 150px);
}

.home-global-head .eyebrow { margin-bottom: 14px; color: #d31622; }
.home-global-head h2 {
    max-width: 620px;
    color: #15191a;
    font-size: clamp(38px, 4.5vw, 66px);
    font-weight: 450;
    line-height: 1.02;
}

.home-global-summary {
    padding: 5px 0 4px clamp(28px, 4vw, 58px);
    border-left: 1px solid #cbc8c1;
}

.home-global-summary p {
    max-width: 570px;
    margin: 0 0 24px;
    color: #555b5c;
    font-size: 17px;
    line-height: 1.7;
}

.home-global-summary .text-link { color: #171b1c; border-color: #94938e; font-weight: 600; }
.home-global-summary .text-link:hover { color: #d31622; border-color: #d31622; }

.home-global-stage {
    display: grid;
    grid-template-columns: minmax(0, 3.15fr) minmax(260px, 1fr);
    margin-top: clamp(44px, 6vw, 78px);
    border: 1px solid #262a2b;
    background: #242829;
    box-shadow: 0 28px 75px rgba(21, 25, 26, .2);
}

.home-global-map {
    position: relative;
    min-width: 0;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
    background: #050607;
    isolation: isolate;
}

.home-global-map::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(108deg, transparent 32%, rgba(255, 255, 255, .055) 49%, transparent 65%);
    transform: translateX(-110%);
    animation: home-map-scan 8s ease-in-out infinite;
}

.home-global-map::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(5, 7, 8, .12), transparent 35%, rgba(5, 7, 8, .08));
    box-shadow: inset 0 0 80px rgba(0, 0, 0, .3);
}

.home-global-map picture,
.home-global-map img {
    display: block;
    width: 100%;
    height: 100%;
}

.home-global-map img { object-fit: cover; }

.home-map-label {
    position: absolute;
    z-index: 4;
    display: grid;
    min-width: 124px;
    padding: 11px 14px;
    border-left: 2px solid #ff1f2d;
    background: rgba(7, 9, 10, .88);
    color: #fff;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .5);
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
}

.home-map-label b { font-size: 13px; font-weight: 600; }
.home-map-label small { color: #969b9d; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.home-map-label--tampa { top: 29%; left: 20%; }
.home-map-label--barueri { top: 69%; left: 41%; }
.home-map-label--paris { top: 18%; left: 77%; }

.home-global-locations {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    border-left: 1px solid #292e2f;
    background: #0b0e0f;
}

.home-global-location {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 0;
    padding: clamp(24px, 2.4vw, 38px);
    border-bottom: 1px solid #292e2f;
    color: #fff;
    transition: background-color .25s ease;
}

.home-global-location:last-child { border-bottom: 0; }
.home-global-location:hover { background: #121718; }
.home-global-location header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.home-global-location header span { color: #ff1f2d; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.home-global-location header small { color: #686f71; font-size: 9px; letter-spacing: .14em; }
.home-global-location strong,
.home-global-location div > small { display: block; }
.home-global-location strong { margin-bottom: 7px; font-size: clamp(19px, 1.7vw, 27px); font-weight: 500; letter-spacing: -.025em; }
.home-global-location div > small { color: #8f9597; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.home-global-location i {
    position: absolute;
    right: clamp(24px, 2.4vw, 38px);
    bottom: clamp(24px, 2.4vw, 38px);
    color: #737a7c;
    font-size: 14px;
    font-style: normal;
    transition: color .2s ease, transform .2s ease;
}

.home-global-location:hover i { color: #ff1f2d; transform: translate(2px, -2px); }

@keyframes home-map-scan {
    0%, 18% { transform: translateX(-110%); }
    68%, 100% { transform: translateX(110%); }
}

@media (max-width: 1050px) {
    .home-global-head { grid-template-columns: 1fr 1fr; gap: 50px; }
    .home-global-stage { grid-template-columns: 1fr; min-height: 0; }
    .home-global-map { aspect-ratio: 16 / 9; height: auto; }
    .home-global-locations { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; border-top: 1px solid #292e2f; border-left: 0; }
    .home-global-location { min-height: 180px; border-right: 1px solid #292e2f; border-bottom: 0; }
    .home-global-location:last-child { border-right: 0; }
}

@media (max-width: 700px) {
    .home-global { padding: 64px var(--page-gutter); }
    .home-global-head { grid-template-columns: 1fr; gap: 30px; }
    .home-global-head h2 { font-size: clamp(36px, 11vw, 48px); }
    .home-global-summary { padding: 24px 0 0; border-top: 1px solid #cbc8c1; border-left: 0; }
    .home-global-summary p { font-size: 15px; }
    .home-global-stage { margin-top: 40px; }
    .home-global-map { aspect-ratio: 4 / 3; }
    .home-global-map img { object-position: 45% center; }
    .home-map-label { display: none; }
    .home-global-locations { grid-template-columns: 1fr; }
    .home-global-location { min-height: 138px; padding: 24px; border-right: 0; border-bottom: 1px solid #292e2f; }
    .home-global-location:last-child { border-bottom: 0; }
    .home-global-location i { right: 24px; bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-global-map::after { display: none; }
    .home-global-location,
    .home-global-location i { transition: none; }
}
