/* ===================================
   TEAM HERO
=================================== */
.team-hero{
    min-height:100vh;
    display:flex;
    align-items:center;

    padding:180px 0 120px;

    background:linear-gradient(
    135deg,
    #ffffff,
    #f8fafc);

    overflow:hidden;
}

.team-hero-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:60px;

    align-items:center;
}

.team-label{

    display:inline-block;

    padding:12px 24px;

    border-radius:50px;

    background:#eef7f0;

    color:#0B7A3E;

    font-weight:700;

    margin-bottom:25px;
}

.team-hero h1{

    font-size:
    clamp(3rem,6vw,6rem);

    line-height:1.05;

    color:#14532D;

    margin-bottom:30px;
}

.team-hero p{

    color:#64748b;

    line-height:1.9;

    font-size:20px;
}

/* VISUAL */

.team-visual{

    position:relative;

    width:500px;
    height:500px;

    margin:auto;
}

.team-circle{

    position:absolute;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    font-weight:700;

    color:#14532D;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);
}

.main-circle{

    width:180px;
    height:180px;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    color:#fff;
}

.circle-1{

    width:120px;
    height:120px;

    top:0;
    left:50%;

    transform:
    translateX(-50%);
}

.circle-2{

    width:120px;
    height:120px;

    right:0;
    top:50%;

    transform:
    translateY(-50%);
}

.circle-3{

    width:120px;
    height:120px;

    bottom:0;
    left:50%;

    transform:
    translateX(-50%);
}

.circle-4{

    width:120px;
    height:120px;

    left:0;
    top:50%;

    transform:
    translateY(-50%);
}

@media(max-width:991px){

    .team-hero-grid{

        grid-template-columns:1fr;
    }

    .team-visual{

        width:350px;
        height:350px;
    }
}
/* ===================================
   LEADERSHIP SHOWCASE
=================================== */

.leadership-showcase{

    padding:140px 0;

    background:#fff;
}

.leadership-grid{

    display:grid;

    grid-template-columns:
    500px 1fr;

    gap:80px;

    align-items:center;
}

.leader-image{

    position:relative;
}

.leader-image img{

    width:100%;

    height:650px;

    object-fit:cover;

    border-radius:32px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.12);
}

.leader-badge{

    position:absolute;

    bottom:30px;
    left:30px;

    background:#fff;

    padding:15px 25px;

    border-radius:50px;

    font-weight:700;

    color:#14532D;
}

.leader-content h2{

    font-size:
    clamp(2.5rem,4vw,4rem);

    color:#14532D;

    line-height:1.2;

    margin:25px 0;
}

.leader-content p{

    color:#64748b;

    line-height:2;

    margin-bottom:30px;
}

.leader-content blockquote{

    padding:30px;

    background:#f8fafc;

    border-left:5px solid #0B7A3E;

    border-radius:0 20px 20px 0;

    font-size:24px;

    color:#14532D;

    font-weight:600;

    margin-bottom:40px;
}

.leader-meta{

    display:flex;

    gap:40px;

    flex-wrap:wrap;
}

.leader-meta div{

    display:flex;

    flex-direction:column;
}

.leader-meta strong{

    font-size:40px;

    color:#0B7A3E;
}

.leader-meta span{

    color:#64748b;
}

@media(max-width:991px){

    .leadership-grid{

        grid-template-columns:1fr;
    }

    .leader-image img{

        height:500px;
    }
}
/* ===================================
   ORGANIZATION STRUCTURE
=================================== */

.org-section{

    padding:150px 0;

    background:#f8fafc;
}

.org-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:90px;
}

.org-header p{

    margin-top:20px;

    color:#64748b;

    line-height:1.9;
}

/* CHART */

.org-chart{

    max-width:900px;

    margin:auto;

    display:flex;

    flex-direction:column;

    align-items:center;
}

/* BOX */

.org-box{

    min-width:280px;

    padding:28px;

    text-align:center;

    background:#fff;

    border-radius:24px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

    transition:.35s;
}

.org-box:hover{

    transform:
    translateY(-8px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.10);
}

.org-box span{

    display:block;

    margin-top:10px;

    font-size:14px;

    color:#64748b;
}

/* SPECIAL COLORS */

.founder-box{

    background:
    linear-gradient(
    135deg,
    #14532D,
    #0B7A3E);

    color:#fff;
}

.executive-box{

    border:2px solid #0B7A3E;
}

.field-box{

    border:2px solid #F4B400;
}

.volunteer-box{

    background:
    linear-gradient(
    135deg,
    #fef9c3,
    #fff7ed);
}

/* LINES */

.org-line.vertical{

    width:3px;

    height:60px;

    background:
    linear-gradient(
    #0B7A3E,
    #F4B400);
}

/* ROW */

.org-row{

    display:flex;

    gap:50px;

    margin:10px 0;
}

@media(max-width:768px){

    .org-row{

        flex-direction:column;

        gap:20px;
    }

    .org-box{

        min-width:100%;
    }
}
/* ===================================
   EXPERTISE ECOSYSTEM
=================================== */

.expertise-section{

    padding:160px 0;

    background:#ffffff;

    overflow:hidden;
}

.expertise-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:100px;
}

.expertise-header p{

    margin-top:20px;

    color:#64748b;

    line-height:1.9;
}

/* WHEEL */

.expertise-wheel{

    position:relative;

    width:750px;
    height:750px;

    margin:auto;
}

/* CENTER */

.expertise-center{

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    width:240px;
    height:240px;

    border-radius:50%;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

    color:#fff;

    background:
    linear-gradient(
    135deg,
    #0B7A3E,
    #14532D);

    box-shadow:
    0 30px 70px rgba(11,122,62,.25);

    z-index:5;
}

.expertise-center h3{

    font-size:32px;

    margin-bottom:10px;
}

/* OUTER RING */

.expertise-wheel::before{

    content:"";

    position:absolute;

    inset:120px;

    border-radius:50%;

    border:2px dashed
    rgba(11,122,62,.25);

    animation:
    expertiseRotate 35s linear infinite;
}

@keyframes expertiseRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

/* NODES */

.expert-node{

    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;
}

.expert-node:hover{

    background:#0B7A3E;

    color:#fff;

    transform:scale(1.08);
}

/* POSITIONS */

.node-1{
    top:20px;
    left:50%;
    transform:translateX(-50%);
}

.node-2{
    top:170px;
    right:20px;
}

.node-3{
    bottom:170px;
    right:20px;
}

.node-4{
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
}

.node-5{
    bottom:170px;
    left:20px;
}

.node-6{
    top:170px;
    left:20px;
}

/* MOBILE */

@media(max-width:768px){

    .expertise-wheel{

        width:100%;
        height:auto;

        display:grid;

        gap:20px;
    }

    .expertise-wheel::before{
        display:none;
    }

    .expertise-center{

        position:relative;

        top:auto;
        left:auto;

        transform:none;

        margin:auto;
    }

    .expert-node{

        position:relative;

        top:auto;
        right:auto;
        left:auto;
        bottom:auto;

        margin:auto;
    }
}

/* ===================================
   FIELD IMPACT NETWORK
=================================== */

.impact-network-section{

    padding:180px 0;

    background:
    linear-gradient(
    135deg,
    #f8fafc,
    #eef7f0);
}

.impact-network-header{

    text-align:center;

    max-width:850px;

    margin:auto;

    margin-bottom:100px;
}

.impact-network{

    position:relative;

    width:850px;
    height:850px;

    margin:auto;
}

/* CENTER */

.impact-core{

    position:absolute;

    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%);

    width:260px;
    height:260px;

    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;

    box-shadow:
    0 30px 80px rgba(11,122,62,.25);
}

.impact-core h3{

    font-size:36px;

    margin-bottom:10px;
}

/* NODES */

.impact-node{

    position:absolute;

    width:180px;
    height:180px;

    border-radius:50%;

    background:#fff;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

    transition:.35s;
}

.impact-node:hover{

    transform:scale(1.08);
}

.impact-node strong{

    font-size:36px;

    color:#0B7A3E;
}

.impact-node span{

    color:#64748b;
}

/* POSITIONS */

.impact-1{
    top:0;
    left:50%;
    transform:translateX(-50%);
}

.impact-2{
    top:180px;
    right:0;
}

.impact-3{
    top:180px;
    left:0;
}

.impact-4{
    bottom:180px;
    left:0;
}

.impact-5{
    bottom:180px;
    right:0;
}

.impact-6{
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}

/* MOBILE */

@media(max-width:768px){

    .impact-network{

        width:100%;
        height:auto;

        display:grid;

        gap:20px;
    }

    .impact-core,
    .impact-node{

        position:relative;

        top:auto;
        left:auto;
        right:auto;
        bottom:auto;

        transform:none;

        margin:auto;
    }
}
/* ===================================
   JOIN OUR MISSION
=================================== */

.join-mission-section{

    position:relative;

    overflow:hidden;

    padding:180px 0;

    background:
    linear-gradient(
    135deg,
    #14532D,
    #0B7A3E);

    color:#fff;
}

.join-bg-text{

    position:absolute;

    top:50%;

    left:50%;

    transform:
    translate(-50%,-50%);

    font-size:18vw;

    font-weight:900;

    color:
    rgba(255,255,255,.04);

    line-height:1;

    pointer-events:none;
}

.join-content{

    position:relative;

    z-index:2;

    max-width:950px;

    margin:auto;

    text-align:center;
}

.join-tag{

    display:inline-block;

    padding:14px 28px;

    border-radius:50px;

    background:
    rgba(255,255,255,.12);

    font-weight:700;

    margin-bottom:35px;
}

.join-content h2{

    font-size:
    clamp(2.8rem,5vw,5rem);

    line-height:1.2;

    margin-bottom:30px;
}

.join-content p{

    max-width:750px;

    margin:auto;

    line-height:2;

    font-size:18px;

    opacity:.92;

    margin-bottom:50px;
}

/* BUTTONS */

.join-actions{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.join-btn{

    padding:18px 34px;

    border-radius:60px;

    font-weight:700;

    transition:.35s;

    text-decoration:none;
}

.primary-btn{

    background:#fff;

    color:#14532D;
}

.primary-btn:hover{

    transform:
    translateY(-5px);

    box-shadow:
    0 20px 40px rgba(255,255,255,.15);
}

.secondary-btn{

    border:1px solid rgba(255,255,255,.25);

    color:#fff;

    background:
    rgba(255,255,255,.08);
}

.secondary-btn:hover{

    background:
    rgba(255,255,255,.18);

    transform:
    translateY(-5px);
}

/* MOBILE */

@media(max-width:768px){

    .join-mission-section{

        padding:120px 0;
    }

    .join-content h2{

        font-size:38px;
    }

    .join-content p{

        font-size:16px;
    }

    .join-actions{

        flex-direction:column;
    }

    .join-btn{

        width:100%;
    }
}