/* ── TRAJETÓRIA — TIMELINE ── */
#rewards { background: var(--white); padding: 7rem 0; }
.timeline-dot { border-color: var(--white); }
.timeline {
   position: relative;
   padding-left: 2.5rem;
}
.timeline::before {
   content: '';
   position: absolute;
   left: 0; top: 0; bottom: 0;
   width: 2px;
   background: linear-gradient(to bottom, var(--accent) 0%, rgba(180,214,221,0.1) 100%);
}
.timeline-item {
   position: relative;
   margin-bottom: 2.75rem;
   opacity: 0; transform: translateX(-20px);
   transition: opacity 0.55s, transform 0.55s;
}
.timeline-item:last-child { margin-bottom: 0; }
#rewards.visible .timeline-item:nth-child(1) { opacity:1; transform:none; transition-delay:0.05s; }
#rewards.visible .timeline-item:nth-child(2) { opacity:1; transform:none; transition-delay:0.15s; }
#rewards.visible .timeline-item:nth-child(3) { opacity:1; transform:none; transition-delay:0.25s; }
#rewards.visible .timeline-item:nth-child(4) { opacity:1; transform:none; transition-delay:0.35s; }
#rewards.visible .timeline-item:nth-child(5) { opacity:1; transform:none; transition-delay:0.45s; }
.timeline-dot {
   position: absolute;
   left: -2.95rem; top: 0.85rem;
   width: 14px; height: 14px;
   border-radius: 50%;
   background: var(--accent);
   border: 3px solid var(--white);
   box-shadow: 0 0 0 2px var(--accent);
}
.timeline-year {
   font-family: 'Montserrat', sans-serif;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 2px;
   color: var(--accent-dark);
   text-transform: uppercase;
   margin-bottom: 0.25rem;
}
.timeline-card {
   display: flex; gap: 1.25rem; align-items: flex-start;
   background: var(--off-white);
   border: 1px solid var(--gray-200);
   border-radius: 10px;
   padding: 1.25rem;
   transition: box-shadow 0.25s, transform 0.25s;
}
.timeline-card:hover { box-shadow: 0 8px 28px rgba(0,50,82,0.10); transform: translateX(4px); }
.timeline-card img {
   width: 80px; height: 80px;
   object-fit: cover;
   border-radius: 8px;
   flex-shrink: 0;
}
.timeline-card h5 {
   font-family: 'Playfair Display', serif;
   font-size: 1rem;
   color: var(--navy);
   margin-bottom: 0.25rem;
}
.timeline-card p { font-size: 12.5px; color: var(--gray-500); margin: 0; line-height: 1.55; }
.timeline-card { cursor: pointer; }
.timeline-card:hover .timeline-card-hint { opacity: 1; }
.timeline-card-hint { font-size: 11px; color: var(--accent); font-weight: 700; letter-spacing: 0.5px; margin-top: 0.5rem; opacity: 0; transition: opacity 0.2s; }

/* ── MODAL TRAJETÓRIA ── */
#trajectoryModal { display:none; position:fixed; inset:0; z-index:2000; align-items:center; justify-content:center; }
#trajectoryModal.open { display:flex; }
#trajectoryModal .modal-backdrop { position:absolute; inset:0; z-index:0; background:rgba(0,0,0,0.6); }
#trajectoryModal .modal-box {
   position:relative; z-index:1; background:#fff; border-radius:16px;
   max-width:560px; width:90%; overflow:hidden;
   animation: modalIn 0.25s ease;
}
@keyframes modalIn { from { opacity:0; transform:translateY(20px) scale(0.97); } to { opacity:1; transform:none; } }
#trajectoryModal .modal-img { width:100%; max-height:70vh; object-fit:contain; background:#f5f5f5; }
#trajectoryModal .modal-body { padding:1.75rem 2rem 2rem; }
#trajectoryModal .modal-year { font-size:11px; font-weight:700; color:var(--accent); letter-spacing:2px; text-transform:uppercase; margin-bottom:0.5rem; }
#trajectoryModal .modal-title { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--navy); margin-bottom:0.75rem; }
#trajectoryModal .modal-desc { font-size:14px; color:var(--gray-500); line-height:1.8; margin:0; }
#trajectoryModal .modal-close { position:absolute; top:1rem; right:1rem; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.9); border:none; cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; transition:background 0.2s; z-index:2; }
#trajectoryModal .modal-close:hover { background:var(--white); }

.trajectory-intro {
   font-size: 14px;
   line-height: 1.9;
   color: var(--gray-500);
}
