.partnership-map-page {
    padding: 28px 0 62px;
    background:
        radial-gradient(circle at 7% 0%, rgba(255, 119, 73, .11), transparent 29rem),
        #f7f9fc;
}

.partnership-map-page__shell {
    width: min(100% - 32px, 1280px);
    margin: 0 auto;
}

.partnership-map-page__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
}

.partnership-map-page__eyebrow,
.partnership-map-page__map-kicker {
    margin: 0 0 6px;
    color: #ef4d22;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.partnership-map-page__header h1 {
    margin: 0;
    color: #102c53;
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1;
}

.partnership-map-page__header > div:first-child > p:last-child {
    max-width: 745px;
    margin: 13px 0 0;
    color: #43556e;
    font-size: 16px;
    line-height: 1.6;
}

.partnership-map-page__figures {
    display: grid;
    grid-template-columns: auto auto;
    align-items: baseline;
    column-gap: 9px;
    flex: 0 0 auto;
    padding: 15px 21px;
    border: 1px solid #d7e0ea;
    border-radius: 15px;
    background: #fff;
}

.partnership-map-page__figures strong {
    color: #ef4d22;
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
}

.partnership-map-page__figures span {
    color: #52647b;
    font-size: 13px;
    font-weight: 700;
}

.partnership-map-page__map-card {
    display: grid;
    grid-template-columns: minmax(230px, 29%) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #d9e2ed;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(16, 44, 83, .07);
}

.partnership-map-page__map-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 32px;
    color: #fff;
    background: linear-gradient(155deg, #123a61, #102c53 65%, #0a213f);
}

.partnership-map-page__map-intro h2 {
    margin: 0;
    font-size: clamp(26px, 3vw, 39px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.partnership-map-page__map-intro > p:not(.partnership-map-page__map-kicker) {
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .79);
    font-size: 15px;
    line-height: 1.62;
}

.partnership-map-page__map-kicker { color: #ffb49e; }

.partnership-map-page__legend {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 27px;
    color: rgba(255, 255, 255, .84);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
}

.partnership-map-page__legend span,
.partnership-map-page__country-mark {
    display: inline-block;
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: #ff6640;
    box-shadow: 0 0 0 4px rgba(255, 102, 64, .18);
}

.partnership-map-page__visual {
    min-height: 423px;
    overflow: hidden;
    background: linear-gradient(135deg, #eff6fb, #f8fbfd);
}

.partnership-map-page__svg {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 423px;
    color: rgba(45, 113, 169, .1);
}

.partnership-map-page__grid { opacity: .75; }

.partnership-map-page__land {
    fill: #dbe7ef;
    stroke: #c2d2de;
    stroke-width: 2;
    transition: fill .22s ease;
}

.partnership-map-page__geo-graticule {
    fill: none;
    stroke: #c8d9e5;
    stroke-width: 1.15;
    opacity: .8;
}

.partnership-map-page__geo-country {
    fill: #d9e5ec;
    stroke: #fff;
    stroke-width: 1.1;
    transition: fill .2s ease, stroke-width .2s ease;
}

.partnership-map-page__geo-country.is-partner {
    fill: #ff916f;
    cursor: pointer;
}

.partnership-map-page__geo-country.is-partner:hover,
.partnership-map-page__geo-country.is-partner.is-active {
    fill: #ef4d22;
    stroke: #fff;
    stroke-width: 2.2;
}

.partnership-map-page__marker {
    cursor: pointer;
    outline: none;
}

.partnership-map-page__marker-ring {
    fill: rgba(239, 77, 34, .16);
    stroke: #ef4d22;
    stroke-width: 2;
    transition: fill .2s ease, stroke-width .2s ease;
}

.partnership-map-page__marker-core { fill: #ef4d22; }

.partnership-map-page__marker-label {
    fill: #294561;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    text-anchor: middle;
    paint-order: stroke;
    stroke: #f7fbfe;
    stroke-width: 5px;
    stroke-linejoin: round;
    opacity: 0;
    transition: fill .2s ease, opacity .2s ease;
}

.partnership-map-page__marker:hover .partnership-map-page__marker-ring,
.partnership-map-page__marker:focus .partnership-map-page__marker-ring,
.partnership-map-page__marker.is-active .partnership-map-page__marker-ring {
    fill: #ef4d22;
    stroke-width: 5;
}

.partnership-map-page__marker.is-active .partnership-map-page__marker-core { fill: #fff; }

.partnership-map-page__marker.is-active .partnership-map-page__marker-label {
    fill: #ef4d22;
    opacity: 1;
}

.partnership-map-page__explorer {
    display: grid;
    grid-template-columns: minmax(0, 1.62fr) minmax(280px, .75fr);
    gap: 18px;
    margin-top: 18px;
}

.partnership-map-page__countries {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.partnership-map-page__country {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    min-height: 72px;
    padding: 12px 16px;
    border: 1px solid #d9e2ed;
    border-radius: 12px;
    color: #183651;
    text-align: left;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.partnership-map-page__country:hover,
.partnership-map-page__country:focus-visible,
.partnership-map-page__country.is-active {
    border-color: #ef4d22;
    box-shadow: 0 10px 20px rgba(16, 44, 83, .08);
    outline: none;
}

.partnership-map-page__country:hover { transform: translateY(-1px); }

.partnership-map-page__country strong,
.partnership-map-page__country small { display: block; }

.partnership-map-page__country strong { font-size: 15px; font-weight: 800; line-height: 1.25; }

.partnership-map-page__country small { margin-top: 3px; color: #718198; font-size: 12px; line-height: 1.3; }

.partnership-map-page__country b { margin-left: auto; color: #ef4d22; font-size: 20px; font-weight: 700; }

.partnership-map-page__selection {
    padding: 23px 24px;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #ff642f, #ed3d16);
}

.partnership-map-page__selection > p:first-child {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.partnership-map-page__selection h2 { margin: 8px 0 3px; font-size: 28px; font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }

.partnership-map-page__selection > span { color: rgba(255,255,255,.78); font-size: 13px; font-weight: 700; }

.partnership-map-page__selection > p:not(:first-child) { margin: 16px 0 0; font-size: 14px; line-height: 1.52; }

.partnership-map-page__selection-links { display: grid; gap: 6px; margin-top: 22px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.3); }

.partnership-map-page__selection-links a { color: #fff; font-size: 13px; font-weight: 800; text-decoration: none; }

.partnership-map-page__selection-links a span { padding-left: 4px; }

@media (max-width: 900px) {
    .partnership-map-page__header { align-items: start; flex-direction: column; }
    .partnership-map-page__map-card { grid-template-columns: 1fr; }
    .partnership-map-page__map-intro { padding: 30px; }
    .partnership-map-page__visual,
    .partnership-map-page__svg { min-height: 360px; }
}

@media (max-width: 680px) {
    .partnership-map-page { padding: 20px 0 40px; }
    .partnership-map-page__shell { width: min(100% - 24px, 1280px); }
    .partnership-map-page__figures { width: 100%; }
    .partnership-map-page__map-intro { padding: 25px 22px; }
    .partnership-map-page__visual,
    .partnership-map-page__svg { min-height: 260px; }
    .partnership-map-page__svg { width: 180%; margin-left: -41%; }
    .partnership-map-page__explorer,
    .partnership-map-page__countries { grid-template-columns: 1fr; }
    .partnership-map-page__selection { min-height: 0; }
}
