/* ==========================================================================
   Vila Galé Eco Resort do Cabo — página Quem somos (Resorts Online)
   ========================================================================== */

/* ---------- Linha do tempo ---------- */
.timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; position: relative; }
.timeline::before {
  content: ''; position: absolute; top: 18px; left: 12px; right: 12px; height: 2px;
  background: var(--brand-400);
}
.timeline__item {
  position: relative; padding: 52px 24px 24px; background: var(--white); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); border: 1px solid var(--sand-200);
}
.timeline__mark {
  position: absolute; top: 4px; left: 20px; padding: 4px 14px; border-radius: 999px;
  background: var(--brand-600); color: var(--white); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em;
}
.timeline__item h3 { font-size: 1.1rem; }
.timeline__item p { margin: 0; color: var(--muted); font-size: var(--fs-p); }

/* ---------- Papéis (agência x resort) ---------- */
.role-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.role-card {
  padding: 26px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-sm);
  border-top: 4px solid var(--brand-400);
}
.role-card:last-child { border-top-color: var(--accent-bright); }
.role-card h3 { font-size: 1.2rem; }
.role-card p { margin: 0; color: var(--muted); font-size: var(--fs-p); }

/* ---------- Contatos ---------- */
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; align-items: stretch; }
.contact-grid .btn-row { margin-top: 20px; gap: 10px; }
.contact-grid .btn:hover { transform: none; box-shadow: none; }

/* ---------- Responsivo ---------- */
@media (max-width: 860px) {
  .timeline, .role-grid, .contact-grid { grid-template-columns: 1fr; }
  .timeline::before { top: 12px; bottom: 12px; left: 36px; right: auto; width: 2px; height: auto; background: var(--brand-400); }
}
