/* ===================================
   PARTNERS HERO
=================================== */

.partners-hero{

    position:relative;

    min-height:85vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #ffffff,
    #eef7f0);

    padding:120px 0;
}

.partners-hero-content{

    max-width:850px;

    text-align:center;

    margin:auto;

    position:relative;

    z-index:5;
}

.hero-tag{

    display:inline-block;

    padding:12px 24px;

    border-radius:50px;

    background:#fff;

    color:#0B7A3E;

    font-weight:700;

    margin-bottom:25px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.partners-hero h1{

    font-size:
    clamp(3rem,6vw,6rem);

    color:#14532D;

    line-height:1.1;

    margin-bottom:30px;
}

.partners-hero p{

    color:#64748b;

    line-height:2;

    font-size:20px;
}

/* FLOATING NETWORK */

.network-bg{

    position:absolute;

    inset:0;
}

.node{

    position:absolute;

    padding:16px 24px;

    border-radius:50px;

    background:#fff;

    font-weight:700;

    color:#14532D;

    box-shadow:
    0 15px 35px rgba(0,0,0,.08);

    animation:
    floatNode 5s ease-in-out infinite;
}

.node-1{
    top:15%;
    left:12%;
}

.node-2{
    top:20%;
    right:12%;
}

.node-3{
    bottom:25%;
    left:10%;
}

.node-4{
    bottom:20%;
    right:10%;
}

.node-5{
    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);
}

@keyframes floatNode{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }
}
/* ===================================
   COLLABORATION PHILOSOPHY
=================================== */

.collaboration-section{

    padding:140px 0;

    background:#fff;
}

.collaboration-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;
}

.collab-content h2{

    font-size:
    clamp(2.5rem,4vw,4rem);

    color:#14532D;

    margin:25px 0;

    line-height:1.2;
}

.collab-content p{

    color:#64748b;

    line-height:2;

    margin-bottom:20px;
}

/* IMPACT MODEL */

.impact-model{

    position:relative;

    width:500px;
    height:500px;

    margin:auto;
}

.impact-center{

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    width:180px;
    height:180px;

    border-radius:50%;

    display:flex;

    align-items:center;
    justify-content:center;

    text-align:center;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;

    font-weight:700;

    box-shadow:
    0 25px 60px rgba(11,122,62,.25);
}

.impact-model::before{

    content:"";

    position:absolute;

    inset:70px;

    border-radius:50%;

    border:2px dashed
    rgba(11,122,62,.25);

    animation:
    rotateImpact 25s linear infinite;
}

@keyframes rotateImpact{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

.impact-item{

    position:absolute;

    padding:14px 22px;

    border-radius:50px;

    background:#fff;

    font-weight:700;

    color:#14532D;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}

/* POSITIONS */

.item-1{
    top:0;
    left:50%;
    transform:translateX(-50%);
}

.item-2{
    top:120px;
    right:0;
}

.item-3{
    bottom:120px;
    right:0;
}

.item-4{
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}

.item-5{
    top:120px;
    left:0;
}

/* MOBILE */

@media(max-width:991px){

    .collaboration-grid{

        grid-template-columns:1fr;
    }

    .impact-model{

        width:350px;
        height:350px;
    }

    .impact-center{

        width:140px;
        height:140px;
    }
}

/* ===================================
   PARTNER ECOSYSTEM
=================================== */

.ecosystem-section{

    padding:140px 0;

    background:#f8fafc;
}

.ecosystem-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:100px;
}

.partner-ecosystem{

    position:relative;

    width:750px;
    height:750px;

    margin:auto;
}

.ecosystem-center{

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    width:220px;
    height:220px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #14532D,
    #0B7A3E);

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    z-index:5;

    box-shadow:
    0 25px 60px rgba(11,122,62,.25);
}

.ecosystem-center h3{

    font-size:40px;

    margin-bottom:10px;
}

.partner-ecosystem::before{

    content:"";

    position:absolute;

    inset:120px;

    border-radius:50%;

    border:2px dashed
    rgba(11,122,62,.25);

    animation:
    rotateEco 35s linear infinite;
}

@keyframes rotateEco{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

.eco-card{

    position:absolute;

    background:#fff;

    padding:18px 24px;

    border-radius:60px;

    font-weight:700;

    color:#14532D;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

    transition:.35s;
}

.eco-card:hover{

    transform:scale(1.08);

    background:#0B7A3E;

    color:#fff;
}

/* POSITIONS */

.eco-1{
    top:20px;
    left:50%;
    transform:translateX(-50%);
}

.eco-2{
    top:170px;
    right:0;
}

.eco-3{
    bottom:170px;
    right:0;
}

.eco-4{
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
}

.eco-5{
    bottom:170px;
    left:0;
}

.eco-6{
    top:170px;
    left:0;
}

/* MOBILE */

@media(max-width:768px){

    .partner-ecosystem{

        width:100%;
        height:auto;

        display:grid;

        gap:20px;
    }

    .partner-ecosystem::before{
        display:none;
    }

    .ecosystem-center,
    .eco-card{

        position:relative;

        top:auto;
        left:auto;
        right:auto;
        bottom:auto;

        transform:none;

        margin:auto;
    }
}

/* ===================================
   COLLABORATION PATHWAYS
=================================== */

.pathways-section{

    padding:140px 0;

    background:#ffffff;
}

.pathways-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:100px;
}

.pathway-map{

    position:relative;

    max-width:900px;

    height:700px;

    margin:auto;
}

.pathway-line{

    position:absolute;

    left:50%;

    top:0;

    width:6px;

    height:100%;

    background:
    linear-gradient(
    #0B7A3E,
    #F4B400);

    transform:
    translateX(-50%);
}

.pathway-stop{

    position:absolute;

    background:#fff;

    padding:18px 28px;

    border-radius:60px;

    font-weight:700;

    color:#14532D;

    box-shadow:
    0 15px 35px rgba(0,0,0,.08);

    transition:.35s;
}

.pathway-stop:hover{

    transform:scale(1.08);

    background:#0B7A3E;

    color:#fff;
}

/* POSITIONS */

.stop-1{
    top:0;
    left:50%;
    transform:translateX(-50%);
}

.stop-2{
    top:120px;
    left:55%;
}

.stop-3{
    top:250px;
    left:50%;
    transform:translateX(-50%);
}

.stop-4{
    top:250px;
    right:0;
}

.stop-5{
    top:450px;
    left:50%;
    transform:translateX(-50%);
}

.stop-6{
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}

/* CENTER NODE */

.pathway-center{

    position:absolute;

    top:250px;
    left:0;

    width:260px;
    height:260px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #14532D,
    #0B7A3E);

    color:#fff;

    display:flex;

    align-items:center;
    justify-content:center;

    text-align:center;

    font-weight:700;

    box-shadow:
    0 25px 60px rgba(11,122,62,.25);
}

@media(max-width:768px){

    .pathway-map{

        height:auto;

        display:grid;

        gap:20px;
    }

    .pathway-line{
        display:none;
    }

    .pathway-center,
    .pathway-stop{

        position:relative;

        top:auto;
        left:auto;
        right:auto;
        bottom:auto;

        transform:none;

        margin:auto;
    }
}
/* ===================================
   PARTNERSHIP INVITATION
=================================== */

.partner-invite-section{

    position:relative;

    padding:140px 0;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #14532D,
    #0B7A3E);
}

/* BACKGROUND PATTERN */

.invite-pattern{

    position:absolute;

    inset:0;

    background:
    radial-gradient(
    rgba(255,255,255,.08) 1px,
    transparent 1px);

    background-size:
    35px 35px;

    opacity:.4;
}

.invite-card{

    position:relative;

    z-index:2;

    max-width:1000px;

    margin:auto;

    text-align:center;

    padding:80px 60px;

    border-radius:40px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:
    blur(20px);

    border:
    1px solid rgba(255,255,255,.12);

    color:#fff;
}

.invite-tag{

    display:inline-block;

    padding:12px 26px;

    border-radius:50px;

    background:
    rgba(255,255,255,.12);

    font-weight:700;

    margin-bottom:25px;
}

.invite-card h2{

    font-size:
    clamp(2.8rem,5vw,5rem);

    line-height:1.15;

    margin-bottom:25px;
}

.invite-card p{

    max-width:750px;

    margin:auto;

    line-height:2;

    opacity:.92;

    margin-bottom:45px;
}

/* NETWORK TAGS */

.invite-network{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:50px;
}

.invite-network span{

    padding:14px 20px;

    border-radius:50px;

    background:
    rgba(255,255,255,.10);

    font-weight:600;
}

/* DIVIDER */

.invite-divider{

    margin:40px auto;

    width:250px;

    position:relative;
}

.invite-divider::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:100%;

    height:1px;

    background:
    rgba(255,255,255,.25);
}

.invite-divider span{

    position:relative;

    background:#0B7A3E;

    padding:0 20px;
}

.invite-card h3{

    font-size:32px;

    margin-bottom:40px;
}

/* BUTTONS */

.invite-actions{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.invite-btn{

    padding:18px 34px;

    border-radius:60px;

    font-weight:700;

    transition:.35s;
}

.invite-btn.primary{

    background:#fff;

    color:#14532D;
}

.invite-btn.primary:hover{

    transform:
    translateY(-5px);
}

.invite-btn.secondary{

    border:
    1px solid rgba(255,255,255,.25);

    color:#fff;

    background:
    rgba(255,255,255,.08);
}

.invite-btn.secondary:hover{

    background:
    rgba(255,255,255,.16);
}

@media(max-width:768px){

    .invite-card{

        padding:50px 25px;
    }

    .invite-actions{

        flex-direction:column;
    }

    .invite-btn{

        width:100%;
    }
}