/* ============================================================
   MISSION BLOCK
============================================================ */
.mission-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center;
}
.mission-text h2 {
  font-family:"Sora",sans-serif;
  font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800;
  color:var(--clr-text); line-height:1.2; margin-bottom:1.25rem;
}
.mission-text h2 em { font-style:normal; color:var(--clr-primary); }
.mission-text p {
  font-size:.95rem; color:var(--clr-muted); line-height:1.75; margin-bottom:1rem;
}
.mission-text p:last-child { margin-bottom:0; }
.mission-visual {
  background:linear-gradient(140deg,var(--clr-primary-deep),#115c44);
  border-radius:var(--radius); padding:2.5rem;
  display:grid; grid-template-columns:1fr 1fr; gap:1.25rem;
}
.mission-stat {
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:1.25rem 1rem; text-align:center;
}
.mission-stat__num {
  font-family:"Sora",sans-serif; font-size:2rem; font-weight:800;
  color:#5ee4b4; line-height:1; margin-bottom:.3rem;
}
.mission-stat__label {
  font-size:.75rem; color:rgba(255,255,255,.5); font-weight:600;
  text-transform:uppercase; letter-spacing:.05em;
}
@media(max-width:900px){
  .mission-grid{ grid-template-columns:1fr; }
  .mission-visual{ grid-template-columns:repeat(4,1fr); }
}
@media(max-width:580px){ .mission-visual{ grid-template-columns:1fr 1fr; } }

/* ============================================================
   PRINCIPLES
============================================================ */
.principles-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.25rem;
}
.principle-card {
  background:var(--clr-card); border:1px solid var(--clr-border);
  border-radius:var(--radius); padding:1.75rem; transition:all .3s;
  position:relative; overflow:hidden;
}
.principle-card::before {
  content:""; position:absolute; top:0; left:0;
  width:3px; height:100%;
  background:linear-gradient(180deg,var(--clr-primary),var(--clr-primary-dark));
  opacity:0; transition:opacity .3s;
}
.principle-card:hover{
  border-color:var(--clr-primary-light);
  box-shadow:var(--shadow-lg); transform:translateY(-2px);
}
.principle-card:hover::before { opacity:1; }
.principle-card__icon {
  width:48px; height:48px; background:var(--clr-primary-tint);
  border:1px solid var(--clr-primary-light); border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; margin-bottom:1rem;
}
.principle-card h3 {
  font-family:"Sora",sans-serif; font-size:.98rem; font-weight:700; margin-bottom:.45rem;
}
.principle-card p { font-size:.85rem; color:var(--clr-muted); line-height:1.65; }

/* ============================================================
   TEAM
============================================================ */
.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; }
.team-card {
  background:var(--clr-card); border:1px solid var(--clr-border);
  border-radius:var(--radius); overflow:hidden; transition:all .3s;
}
.team-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.team-card__avatar {
  height:180px; display:flex; align-items:center; justify-content:center;
  font-family:"Sora",sans-serif; font-size:3rem; font-weight:800;
  color:white; letter-spacing:-.03em; position:relative; overflow:hidden;
}
.team-card__avatar::after {
  content:""; position:absolute; bottom:-30px; right:-20px;
  width:100px; height:100px; border-radius:50%; background:rgba(255,255,255,.08);
}
.team-card__body { padding:1.25rem 1.5rem 1.5rem; }
.team-card__name { font-family:"Sora",sans-serif; font-size:1rem; font-weight:700; margin-bottom:.2rem; }
.team-card__role {
  font-size:.78rem; color:var(--clr-primary); font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:.75rem;
}
.team-card__bio { font-size:.83rem; color:var(--clr-muted); line-height:1.6; }

/* ============================================================
   METHODOLOGY TIMELINE
============================================================ */
.about-two-col {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start;
}
@media(max-width:860px){ .about-two-col{ grid-template-columns:1fr; gap:2.5rem; } }
.timeline { display:flex; flex-direction:column; }
.timeline-item { display:grid; grid-template-columns:48px 1fr; gap:1.5rem; position:relative; }
.timeline-item:not(:last-child){ padding-bottom:2.5rem; }
.timeline-left { display:flex; flex-direction:column; align-items:center; }
.timeline-dot {
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-dark));
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; flex-shrink:0; box-shadow:0 0 0 4px var(--clr-primary-light);
}
.timeline-line {
  flex:1; width:2px;
  background:linear-gradient(to bottom,var(--clr-primary-light),transparent);
  margin-top:.5rem;
}
.timeline-item:last-child .timeline-line { display:none; }
.timeline-content { padding-top:.6rem; }
.timeline-content h3 {
  font-family:"Sora",sans-serif; font-size:1rem; font-weight:700;
  color:var(--clr-text); margin-bottom:.4rem;
}
.timeline-content p { font-size:.875rem; color:var(--clr-muted); line-height:1.65; }
.infobox {
  background:var(--clr-primary-tint); border:1px solid var(--clr-primary-light);
  border-radius:var(--radius); padding:1.25rem 1.5rem;
}
.infobox__label {
  font-family:"Sora",sans-serif; font-size:.8rem; font-weight:700;
  color:var(--clr-primary); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem;
}
.infobox p { font-size:.875rem; color:var(--clr-primary-dark); line-height:1.65; }
