/* ── MISSION SECTION ── */
.mission { background: var(--white); }
.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }

.value-item { 
    display: flex; 
    gap: 1rem; 
    align-items: flex-start; 
    padding: 1.1rem 1.3rem; 
    border-radius: 14px; 
    background: var(--mist); 
    margin-bottom: 1rem; 
}
.value-icon { 
    width: 40px; 
    height: 40px; 
    border-radius: 10px; 
    background: var(--white); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 1.1rem; 
    flex-shrink: 0; 
}
.value-text h4 { font-size: 0.9rem; font-weight: 600; color: var(--navy); margin-bottom: 0.2rem; }
.value-text p { font-size: 0.82rem; color: var(--txt-mid); line-height: 1.5; }

/* ── STATS MOSAIC ── */
.stats-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.stat-block { border-radius: 20px; padding: 2rem; color: #fff; }
.stat-block.f { background: var(--navy); }
.stat-block.g { background: var(--yellow); color: var(--navy); }
.stat-block.s { background: var(--blue); }
.stat-block.l { background: var(--blue-light); color: var(--navy); }
.stat-block.eu { 
    background: linear-gradient(135deg, #0A2E5C, #1565C0); 
    grid-column: 1/3; 
    display: flex; 
    align-items: center; 
    gap: 1rem; 
    padding: 1.25rem 1.5rem; 
}
.stat-big { font-family: 'Playfair Display', serif; font-size: 2.5rem; font-weight: 900; line-height: 1; margin-bottom: 0.4rem; }
.stat-block.f .stat-big { color: var(--yellow-lt); }
.stat-block.g .stat-big { color: var(--navy); }
.stat-label { font-size: 0.78rem; opacity: 0.75; letter-spacing: 0.03em; }

/* ── JOURNEY / TIMELINE ── */
.story { background: var(--cream); }
.story-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; margin-top: 3rem; }
.timeline { display: flex; flex-direction: column; gap: 0; }
.tl-item { display: flex; gap: 1.25rem; position: relative; }
.tl-item:not(:last-child)::after { 
    content: ''; 
    position: absolute; 
    left: 16px; 
    top: 36px; 
    width: 2px; 
    bottom: -0.5rem; 
    background: var(--mist); 
}
.tl-dot { 
    width: 32px; 
    height: 32px; 
    border-radius: 50%; 
    background: var(--navy); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 0.68rem; 
    font-weight: 700; 
    color: var(--yellow); 
    flex-shrink: 0; 
    z-index: 1; 
}
.tl-body { padding-bottom: 1.75rem; }
.tl-year { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue); margin-bottom: 0.2rem; }
.tl-title { font-weight: 600; font-size: 0.92rem; color: var(--navy); margin-bottom: 0.3rem; }
.tl-desc { font-size: 0.83rem; color: var(--txt-mid); line-height: 1.6; }

/* ── TEAM SECTION ── */
.team-section { background: var(--white); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
.team-card { background: var(--cream); border-radius: 20px; overflow: hidden; transition: transform 0.25s, box-shadow 0.25s; cursor: pointer; }
.team-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(10,46,92,0.1); }
.team-av { height: 160px; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-size: 2.8rem; font-weight: 700; }
.team-info { padding: 1.3rem 1.5rem; }
.team-name { font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 0.2rem; }
.team-role { font-size: 0.8rem; color: var(--blue); margin-bottom: 0.6rem; font-weight: 500; }
.cert-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.cert-tag { background: var(--blue-light); color: var(--navy); font-size: 0.65rem; padding: 0.2rem 0.55rem; border-radius: 50px; }

/* ── PARTNER LOGOS ── */
.partners { background: var(--navy); padding: 4rem 5%; text-align: center; }
.partners h2 { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--yellow-lt); margin-bottom: 0.6rem; }
.partners p { color: rgba(255,255,255,0.55); font-size: 0.9rem; margin-bottom: 2rem; }
.partner-logos { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.partner-logo { 
    background: rgba(255,255,255,0.08); 
    border: 1px solid rgba(255,255,255,0.12); 
    border-radius: 10px; 
    padding: 0.65rem 1.4rem; 
    font-size: 0.8rem; 
    font-weight: 500; 
    color: rgba(255,255,255,0.6); 
    letter-spacing: 0.05em; 
    text-transform: uppercase; 
}

/* ── CTA BAND ── */
.cta-band { background: var(--yellow); padding: 4rem 5%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.cta-band h2 { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--navy); max-width: 480px; line-height: 1.3; }

/* ── RESPONSIVE ── */
@media(max-width: 900px) {
    .mission-grid, .story-grid, .team-grid { grid-template-columns: 1fr; }
    .stats-mosaic { grid-template-columns: 1fr; }
    .cta-band { justify-content: center; text-align: center; }
}