.srp-collaborations {
    content-visibility: auto;
    contain-intrinsic-size: 70rem;
    padding: var(--srp-section-space) 0;
    color: #17151e;
    background: #f6f3ef;
}

.srp-section-head--split {
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0,1.1fr) minmax(20rem,.7fr);
    align-items: end;
    gap: var(--srp-space-5);
}

.srp-collaborations .srp-kicker {
    color: #6d59cb;
}

.srp-collaborations .srp-section-title {
    margin-top: .6rem;
    font-size: clamp(3.5rem,7vw,7.4rem);
    line-height: .82;
    letter-spacing: -.08em;
    text-transform: uppercase;
}

.srp-collaborations .srp-section-title span:last-child { color: #5b3df5; }
.srp-section-head--split .srp-section-lead { margin: 0; color: #625a68; }

.srp-france-network {
    position: relative;
    min-height: clamp(48rem,62vw,58rem);
    margin-top: clamp(3rem,5vw,5rem);
    overflow: visible;
    background: transparent;
}

.srp-france-network__lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.srp-france-network__lines line {
    stroke: rgba(91,61,245,.22);
    stroke-width: 1.15;
    vector-effect: non-scaling-stroke;
}

.srp-france-network__hub,
.srp-france-node {
    position: absolute;
    z-index: 2;
}

.srp-france-network__hub {
    left: var(--x);
    top: var(--y);
    display: grid;
    min-width: 11rem;
    padding: .95rem 1.1rem;
    border: 1px solid rgba(91,61,245,.18);
    border-radius: 1rem;
    color: #17151e;
    background: linear-gradient(135deg,#aeb6ff,#e2e5ff);
    box-shadow: 0 1rem 2.6rem rgba(67,40,111,.12);
    transform: translate(-50%,-50%);
}

.srp-france-network__hub strong { font-size: .92rem; }
.srp-france-network__hub span { margin-top: .18rem; color: #514a5c; font-size: .66rem; }

.srp-france-node {
    left: var(--x);
    top: var(--y);
    display: grid;
    width: clamp(9.6rem,10.5vw,11.5rem);
    min-height: 4.65rem;
    grid-template-columns: 3.15rem minmax(0,1fr);
    align-items: center;
    gap: .7rem;
    padding: .48rem .65rem .48rem .48rem;
    border: 1px solid rgba(23,21,30,.1);
    border-radius: 1.05rem;
    color: #17151e;
    background: rgba(255,255,255,.88);
    box-shadow: 0 .8rem 2rem rgba(23,21,30,.08);
    transform: translate(-50%,-50%);
}

.srp-france-node::before {
    position: absolute;
    top: 50%;
    left: -.32rem;
    width: .56rem;
    height: .56rem;
    border: 2px solid #f6f3ef;
    border-radius: 50%;
    content: "";
    background: #8c72ff;
    transform: translateY(-50%);
}

.srp-france-node__logo {
    display: grid;
    width: 3.15rem;
    height: 3.15rem;
    place-items: center;
    padding: .34rem;
    border-radius: .75rem;
    background: #fff;
}

.srp-france-node__logo img { width: 100%; height: 100%; object-fit: contain; }
.srp-france-node__copy { display: grid; min-width: 0; gap: .08rem; }
.srp-france-node__copy > span { color: #6d6570; font-size: .5rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.srp-france-node__copy strong { overflow-wrap: anywhere; font-size: .7rem; line-height: 1.16; }
.srp-france-node__copy small { color: #69616d; font-size: .52rem; line-height: 1.18; }

@media (max-width:75rem) {
    .srp-france-network {
        display: grid;
        min-height: 0;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: .75rem;
    }
    .srp-france-network__lines { display: none; }
    .srp-france-network__hub,.srp-france-node { position: relative; inset: auto; width: 100%; max-width: none; transform: none; }
    .srp-france-network__hub { grid-column: 1/-1; }
    .srp-france-node::before { left: auto; right: .65rem; }
}

@media (max-width:60rem) {
    .srp-section-head--split { grid-template-columns: 1fr; align-items: start; }
    .srp-france-network { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width:39.9375rem) {
    .srp-collaborations { padding-block: 4.5rem; }
    .srp-collaborations .srp-section-title { font-size: clamp(3rem,13vw,4.2rem); }
    .srp-france-network { grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: 2.5rem; }
    .srp-france-node { grid-template-columns: 2.6rem minmax(0,1fr); padding: .42rem; }
    .srp-france-node__logo { width: 2.6rem; height: 2.6rem; }
}
