.manifesto{padding:140px 44px;background:var(--ivory);position:relative;overflow:hidden}
.manifesto p{font-family:"Montserrat",sans-serif;font-size:clamp(26px,3vw,42px);line-height:1.12;color:var(--green-900);letter-spacing:-0.015em;max-width:1100px;position:relative;z-index:2}
.manifesto p em{font-style:italic;color:var(--green-700)}
.manifesto p + p{margin-top:40px}
.manifesto-media{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:100px;position:relative;z-index:2}
.manifesto-media .anim-img{aspect-ratio:16/10}
.manifesto-media .anim-img:last-child{aspect-ratio:4/5;align-self:end;margin-top:60px}

.about-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:60px 44px 0;background:var(--ivory)}
.about-strip .anim-img{aspect-ratio:4/3}

.timeline{padding:160px 44px;background:var(--paper);position:relative;overflow:hidden}
.timeline::before{content:'';position:absolute;top:0;left:50%;width:1px;height:100%;background:linear-gradient(to bottom, transparent, var(--rule-light) 10%, var(--rule-light) 90%, transparent);transform:translateX(-50%)}
.timeline .container{position:relative;z-index:2}
.timeline-head{text-align:center;margin-bottom:100px}
.timeline-head h2{font-family:"Montserrat",sans-serif;font-size:clamp(40px,4.5vw,72px);line-height:.95;letter-spacing:-0.025em;color:var(--green-900)}
.timeline-head h2 em{font-style:italic;color:var(--green-700)}

/* Track */
.tl-track{position:relative;max-width:1100px;margin:0 auto}
.tl-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--rule-light);transform:translateX(-50%)}
.tl-line-fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(to bottom, var(--green-600), var(--accent));border-radius:2px;transition:height .1s linear}

/* Row */
.tl-row{display:grid;grid-template-columns:1fr 80px 1fr;gap:0;align-items:start;margin-bottom:80px;position:relative}
.tl-row:last-child{margin-bottom:0}

/* Node (center) */
.tl-node{display:flex;align-items:flex-start;justify-content:center;padding-top:8px;position:relative;z-index:3}
.tl-dot{width:18px;height:18px;border-radius:50%;border:3px solid var(--rule);background:var(--paper);transition:all .5s cubic-bezier(.2,.85,.2,1);box-shadow:0 0 0 6px var(--paper)}
.tl-row.is-active .tl-dot{border-color:var(--green-600);background:var(--green-600);box-shadow:0 0 0 6px var(--paper), 0 0 20px rgba(126,208,168,.35)}

/* Year badge */
.tl-year{font-family:"Montserrat",sans-serif;font-weight:300;font-size:clamp(56px,5vw,80px);color:var(--green-200);letter-spacing:-0.02em;line-height:1;font-style:italic;transition:color .5s}
.tl-row.is-active .tl-year{color:var(--green-600)}

/* Content card */
.tl-card{background:#fff;border:1px solid var(--rule-light);border-radius:20px;padding:40px 36px;transition:all .5s cubic-bezier(.2,.85,.2,1);position:relative;overflow:hidden}
.tl-card::before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle at center, rgba(126,208,168,0.1) 0%, transparent 60%);opacity:0;transition:opacity .5s ease;pointer-events:none}
.tl-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px -16px rgba(12,26,22,.08);border-color:var(--rule)}
.tl-card:hover::before{opacity:1}
.tl-card h4{font-family:"Montserrat",sans-serif;font-size:clamp(22px,2vw,28px);color:var(--green-900);letter-spacing:-0.01em;margin-bottom:14px;line-height:1.15}
.tl-card p{font-size:15px;color:var(--ink-60);line-height:1.6}
.tl-card .tl-tag{display:inline-block;margin-top:18px;font-family:"Montserrat",sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-600);padding:6px 14px;border:1px solid var(--green-200);border-radius:40px;background:rgba(126,208,168,.06)}

/* Odd rows: year left, card right (natural) */
.tl-row .tl-left{text-align:right;display:flex;flex-direction:column;align-items:flex-end;padding-right:16px}
.tl-row .tl-right{padding-left:16px}

/* Even rows: visually swap — card left, year right (via CSS order) */
.tl-row:nth-child(even) .tl-left{order:3;text-align:left;align-items:flex-start;padding-left:16px;padding-right:0}
.tl-row:nth-child(even) .tl-node{order:2}
.tl-row:nth-child(even) .tl-right{order:1;text-align:right;display:flex;flex-direction:column;align-items:flex-end;padding-right:16px;padding-left:0}

@media (max-width:900px){
  .timeline{padding:80px 20px}
  .timeline::before{display:none}
  .timeline-head{text-align:left;margin-bottom:50px}
  .tl-track{max-width:100%}
  .tl-line{left:18px;transform:none}
  .tl-row{display:flex;flex-direction:column;gap:0;margin-bottom:50px;padding-left:52px;position:relative}
  .tl-node{position:absolute;left:0;top:6px;padding-top:0}
  .tl-dot{width:14px;height:14px;box-shadow:0 0 0 4px var(--paper)}
  /* Reset all order overrides on mobile */
  .tl-row .tl-left,
  .tl-row:nth-child(even) .tl-left{order:1;text-align:left;align-items:flex-start;padding:0}
  .tl-row .tl-right,
  .tl-row:nth-child(even) .tl-right{order:2;text-align:left;align-items:flex-start;padding:0}
  .tl-row:nth-child(even) .tl-node{order:0}
  .tl-year{font-size:32px;margin-bottom:12px}
  .tl-card{padding:24px 20px;margin-top:4px}
}

.team{padding:140px 44px;background:var(--ivory)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:70px}
.person{background:var(--paper);border:1px solid var(--rule-light);padding:0 0 26px;transition:transform .3s}
.person:hover{transform:translateY(-4px)}
.person .avatar{aspect-ratio:4/5}
.person .info{padding:22px 24px 0}
.person .info h4{font-family:"Montserrat",sans-serif;font-size:22px;color:var(--green-900);letter-spacing:-0.005em}
.person .info .role{font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);margin-top:8px}

.values-band{padding:130px 44px;background:var(--green-900);color:var(--cream);position:relative;overflow:hidden;}
.vb-bg{position:absolute;top:-20%;right:-10%;width:80%;height:130%;background:radial-gradient(ellipse at center, rgba(126,208,168,0.12) 0%, transparent 60%);pointer-events:none;filter:blur(60px)}
.vb-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;position:relative;z-index:2;}
.vb-grid h2{font-family:"Montserrat",sans-serif;font-size:clamp(36px,3.8vw,62px);line-height:.95;letter-spacing:-0.02em}
.vb-grid h2 em{font-style:italic;color:var(--green-300)}
.vbs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vb-item{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  border-radius:24px;
  padding:48px 36px;
  min-height:260px;
  transition:border-color .4s, box-shadow .4s, background .4s;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.vb-item:hover{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.15);
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.5);
}
.vbs h4{font-family:"Montserrat",sans-serif;font-size:26px;margin-bottom:14px;color:#fff;letter-spacing:-0.005em}
.vbs p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.55}
.vbs .k{font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}

@media (max-width:900px){
  .manifesto,.team,.values-band{padding:70px 20px}
  .team-grid{grid-template-columns:1fr 1fr}
  .vb-grid{grid-template-columns:1fr;gap:30px}
  .vbs{grid-template-columns:1fr}
  .manifesto-media{grid-template-columns:1fr;gap:14px;margin-top:60px}
  .manifesto-media .anim-img:last-child{margin-top:0}
  .about-strip{grid-template-columns:1fr;padding:30px 20px 0;gap:10px}
}